Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi cards.dll benutzen? (https://www.delphipraxis.net/89101-cards-dll-benutzen.html)

.chicken 26. Mär 2007 14:26

Re: cards.dll benutzen?
 
das sieht ja mal schnike aus ^^

danke

edit: abner warum is die cards32.pas denn da schon wieder so groß? also viel mehr text als bei der andern!

.chicken 26. Mär 2007 15:46

Re: cards.dll benutzen?
 
Ok, hab mich nun erstmal mit der kürzeren Variante beschäftigt! Ich vestehe auch einigermaßen was wo vorgeht.
Ich weiss nurnoch nicht ganz wie ich jetzt die Karten zeichne

Delphi-Quellcode:
  function cdtDraw(const hDC : Cardinal; const x, y, iSuits, iCard : Integer; const dwColor : Cardinal) : Integer;
  {
Zeichnet die Karte in der Default-Größe an die angegebene Stelle auf eine Form, PictureBox oder auf die Fläche eines sonstigen Objekts, das einen hDC besitzt.
Mögliche Grafiken:
- eine der 52 Karten-Vorderseiten oder
- eine der 13 verschiedenen Rückseiten oder
- eine der beiden Ablageflächen (mit 'X' oder mit 'O')
Kartenbilder können auch invertiert dargestellt werden, um z.B eine Auswahl anzuzeigen.
   ByVal hDC As Long (Handle des Ziel-DeviceContext)
   ByVal xOrg As Long (X-Position der Karte in Pixeln)
   ByVal yOrg As Long (Y-Position der Karte in Pixeln)
   ByVal nCard As Long (ID der darzustellenden Grafik)
   ByVal nDraw As Long (Flags für Vorder/Rückseite bzw. Invertierung)
   ByVal nColor As OLE_COLOR (Farbe für Rückseite bzw. Invertierung)
  -> Long (Flag für 'Success')
}
Also das is ja die Funktion zum Zeichnen, nur verstehe (trotz der erklaerung unten drunteR) nicht ganz welcher wert nun wofür ist.
Also womit gebe ich zB an worauf die Karte gezeichnet wird?



Und dann noch was...darf ich die Datei einfach so für mein Pokerspiel benutzen? Muss ich sie dann einfach in meinen Ordner kopieren und unter uses meines Programms cards32 angeben???

Danke für die Hilfe soweit!

Edit: Also wenn ich das versuche mit meinem Programm zu verbinden, dann kommt immer "Die Anwendung konnte nicht gestartet werden, weil cards32.dll nicht gefunden wurde. Neuinstallation der Anwendung könnte das Problem beheben."

Das Beispiel funzt aber, also wo liegt mein Fehler?

turboPASCAL 26. Mär 2007 16:46

Re: cards.dll benutzen?
 
Zitat:

Und dann noch was...darf ich die Datei einfach so für mein Pokerspiel benutzen? Muss ich sie dann einfach in meinen Ordner kopieren und unter uses meines Programms cards32 angeben???
:gruebel: äh ja sicher.

Delphi-Quellcode:
uses
  Forms, Classes,..., cards32;
Du musst bei DC den HDC eines Canvas angeben.

Delphi-Quellcode:
cdtDraw(
  EinBitmap.Canvas.Handle,
  PositionX,
  PositionY,
  iSuits, // Karo, shell etc
  iCard, // König Dame Bube Ass...
  FarbeDieAnDenRundenEcken se : Integer;
  clGreen, // Farbe für Karten
  );

.chicken 26. Mär 2007 16:49

Re: cards.dll benutzen?
 
Ok, super danke, damit wär aber immernoch nicht mein Problem mit der Fehlermeldung geklärt, denn die Cards32 hab ich bereits unter Uses angegeben!

Khabarakh 26. Mär 2007 17:49

Re: cards.dll benutzen?
 
Zitat:

Zitat von .chicken
Ok, super danke, damit wär aber immernoch nicht mein Problem mit der Fehlermeldung geklärt, denn die Cards32 hab ich bereits unter Uses angegeben!

Und, stand davon etwas in der Fehlermeldung? Nein, dort stand etwas von der DLL, also solltest du vielleicht auch die in das Verzeichnis der Exe packen ;) . Die Unit ist lediglich ein Wrapper um die Library.

.chicken 26. Mär 2007 18:30

Re: cards.dll benutzen?
 
Ok, klappt jetzt soweit, aber nur halb :D

Delphi-Quellcode:
  cdtinit(CardWidth, CardHeight);
  cdtdraw(Form1.Canvas.Handle, 0, 0, 0, 0, 1); //hier is immer ein fehler
Da oben in der Zeile gibts immer n Fehler:

"Project xxxx raised exception class yyyyy with message 'zzzzzz'.

Process stopped. Use Step or Run to continue."

Weiss wer wo der Fehler liegt? Denke mal in der letzten Eingabe bei cdtDraw, wusste nich was ich da hinschrieben soll also hab ichs einfach mal so versucht!

turboPASCAL 26. Mär 2007 18:37

Re: cards.dll benutzen?
 
Use Step or Run to continue." und du siehst wo du bist.
Wir sehen es nicht. :stupid:

.chicken 26. Mär 2007 18:46

Re: cards.dll benutzen?
 
Häh? Ich verstehe grad net ganz was du meinst? Der Fehler liegt in der Zeile oben...!?

Khabarakh 26. Mär 2007 19:08

Re: cards.dll benutzen?
 
Tut mir leid, meine Delphihilfe kennt keine Klasse yyy. Und Schnarchgeräusche hat auch noch keine Exception von sich gegeben.

turboPASCAL 26. Mär 2007 19:09

Re: cards.dll benutzen?
 
Häng mal dein Projekt an, dann kan man nachgucken.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:36 Uhr.
Seite 2 von 4     12 34      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz