AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi cards32.dll einbinden?
Thema durchsuchen
Ansicht
Themen-Optionen

cards32.dll einbinden?

Ein Thema von Moyyer · begonnen am 18. Aug 2003 · letzter Beitrag vom 15. Jan 2007
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    
Moyyer

Registriert seit: 31. Mai 2003
155 Beiträge
 
Delphi 7 Enterprise
 
#1

cards32.dll einbinden?

  Alt 18. Aug 2003, 11:18
Hallo Alle Zusammen.

Ich möchte ein Kartenspiel programmieren und möchte dazu die Cards32.dll einbinden. Doch ich weiß nicht wie.

Ich habe mich informiert, dass es in der cards32.dll verschiedene funktionen gibt. z.B cdtinit, cdtdraw,...

Kann mir jemand ein kleines Beispiel geben, wie ich die dll einbinde!
  Mit Zitat antworten Zitat
Benutzerbild von kaemmi
kaemmi

Registriert seit: 9. Mai 2003
55 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: cards32.dll einbinden?

  Alt 18. Aug 2003, 12:59
versuchs mal damit
Delphi-Quellcode:
//im implementation-Abschnitt deklarieren
//das hier ist nur ein beispiel, das wahrscheinlich an die funktionen deiner DLL angepasst werden muss
type TTestFunction = function(x,y:Integer):integer;

var DLLHandle:THandle;
    Func:TFarProc;
    TestFunction:TTestFunktion;
    ergebnis:string;
//laden der DLL
DLLHandle := LoadLibrary(Pchar(DLLName)); //DLLName mit dem eigentlichen Namen der DLL ersetzen, logisch
//Adresse einer Funktion ermitteln
Func := GetProcAddress(DLLHandle,'cdtdraw');
//Wenn die Funktion gefunden wurde
if Func <> nil then begin
   @TestFunction := Func;
//Ausführen des Codes
ergebnis := IntToStr(TestFunction(4,5)); //übergeben der Parameter an die Funktion
Func:=nil;
//Freigeben der DLL
FreeLibrary(DLLHandle);
habs nicht getestet, müsste aber funktionieren

kaemmi
Life is too short to hate people you never met before.
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#3

Re: cards32.dll einbinden?

  Alt 18. Aug 2003, 13:11
Private Enum Suits
Clubs& = 0
Diamonds& = 1
Hearts& = 2
Spades& = 3
End Enum

Private Enum CardFaces
face_Ace& = 0
face_Two& = 4
face_Three& = 8
face_Four& = 12
face_Five& = 16
face_Six& = 20
face_Seven& = 24
face_Eight& = 28
face_Nine& = 32
face_Ten& = 36
face_Jack& = 40
face_Queen& = 44
face_King& = 48
End Enum

Private Enum CardBacks
cb_CrossHatch& = 53
cb_Plaid& = 54
cb_Weave& = 55
cb_Robot& = 56
cb_Roses& = 57
cb_IvyBlack& = 58
cb_IvyBlue& = 59
cb_FishCyan& = 60
cb_FishBlue& = 61
cb_Shell& = 62
cb_Castle& = 63
cb_Beach& = 64
cb_CardHand& = 65
cb_Unused& = 66
cb_X& = 67
cb_O& = 68
End Enum

Private Enum Card
Front& = 0
Back& = 1
Highlighted& = 2
End Enum
'//Contructor
Private Declare Function cdtInit Lib "cards32.dll" (dx As Long, dy As Long) As Long
'//Terminator
Private Declare Sub cdtTerm Lib "cards32.dll" ()
'//Standard Drawing function
Private Declare Function cdtDraw Lib "cards32.dll" (ByVal hDC As Long, ByVal X As Long, ByVal Y As Long, ByVal lSuit As Suits, ByVal lCard As Card, ByVal clr As Long) As Long
'//Extended Drawing function
Private Declare Function cdtDrawExt Lib "cards32.dll" (ByVal hDC As Long, ByVal X As Long, ByVal Y As Long, ByVal dx As Long, ByVal dy As Long, ByVal lSuit As Suits, ByVal lCard As Card, ByVal clr As Long) As Long
'//Aniation function to animate certain backs
Private Declare Function cdtAnimate Lib "cards32.dll" (ByVal hDC As Long, ByVal lBack As CardBacks, ByVal X As Long, ByVal Y As Long, ByVal lState As Long) As Long

wenn du das übersetzt haben willst sag bescheid,
dauert aber länger
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
teebee

Registriert seit: 17. Jan 2003
Ort: Köln
460 Beiträge
 
Delphi 6 Professional
 
#4

Re: cards32.dll einbinden?

  Alt 18. Aug 2003, 13:24
Schau mal hier: http://www.vbpc.de/members/bor/tut2/

Es werden die Funktionen erklärt. Ist zwar für VB, aber das Prinzip ist dasselbe.

Gruss, teebee
  Mit Zitat antworten Zitat
Moyyer

Registriert seit: 31. Mai 2003
155 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: cards32.dll einbinden?

  Alt 18. Aug 2003, 14:51
muss ich nicht erst die DLL in mein Programm einbinden
z.B
procedure cdtinit external 'cards32.dll';

sodass er die funktionen wie cdtdraw, cdtanimate findet?
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#6

Re: cards32.dll einbinden?

  Alt 18. Aug 2003, 14:58
Wenn du lieb bittest mach ich dir ne Unit.
Aber den gedanke ist richtig!
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#7

Re: cards32.dll einbinden?

  Alt 18. Aug 2003, 15:14
Falls du ne schönere Übersetzung brauchst dann warte mal bis Mittwoch. Für sowas brauch ich mal ne halbe Stunde ruhe.
Angehängte Dateien
Dateityp: pas cards32.pas (5,6 KB, 165x aufgerufen)
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Moyyer

Registriert seit: 31. Mai 2003
155 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: cards32.dll einbinden?

  Alt 18. Aug 2003, 17:40
Deine *pas ist wirklich super! Danke erstmal! Wenn du das noch besser machst hast du was gut bei mir! ich werte deine datei heute abend aus und meld mich wieder!
  Mit Zitat antworten Zitat
Moyyer

Registriert seit: 31. Mai 2003
155 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: cards32.dll einbinden?

  Alt 18. Aug 2003, 20:48
ich hab mich drangesetzt. Aber raudgekommen ist nicht viel!
function cdtInit(var dx, dy : Integer) : Integer; mit der Fuktion muss ich beginnen. ist klar!
aber was soll ich mit dx und dy anfangen?
Wenn ich Werte reinsetzte sagt er mir
"Die Typen der tatsächlichen und formalen Var-Parameter müssen übereinstimmen"

wenn ich variablen reinsetzte sagt er mir " undefinierter bezeichner" z.B
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
cdtinit(a, b);
end;
was muss ich schreiben damit es funktioniert?

[edit=Daniel B]Delphi-Tags korrigiert. Mfg, Daniel B[/edit]
  Mit Zitat antworten Zitat
teebee

Registriert seit: 17. Jan 2003
Ort: Köln
460 Beiträge
 
Delphi 6 Professional
 
#10

Re: cards32.dll einbinden?

  Alt 20. Aug 2003, 07:25
Du musst zwei Variablen deklarieren,
Var x,y : Integer; und die Variablen dann übergeben.
Success := cdtInit(x,y); Siehe Link in meinem Posting weiteroben: die Funktion gibt in diesen Variablen die Kartenmaße zurück.

Gruß, teebee
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz