Thema: Delphi cards.dll benutzen?

Einzelnen Beitrag anzeigen

Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#22

Re: cards.dll benutzen?

  Alt 26. Mär 2007, 20:10
jau...
hättest du mal "meine" genommen dann währe alles gut.
Ist wirklich nicht schwer.


Die cards.dll (cards32.dll bei Win 95 etc) brauchst du nicht in das Verz. kopieren,
die ist bei Windows mit dabei. (Meine guckt automatisch nach )

Die DLL heisst "cards.dll" bei Windows XP.


So, der Fehler liegt bei   cdtinit(CardWidth, CardHeight) //<--<<<; warum kann ich jetzt nicht auf die schnelle sagen.


Bei mir sähe das so aus:

Delphi-Quellcode:
{
  // "Kartenfarbe":

                // Kreuz,      Karo,        Herz,        Pik
                // oder auch:
                // Eichel,    Schell,      Herz,        Grün
  TCardSuits = (suitClubs, suitDiamonds, suitHearts, suitSpades);

  // Karten:
  TCardFaces = (faceAce,  // Ass
                faceTwo,  // 2
                faceThree, // 3
                faceFour,  // ...
                faceFive,
                faceSix,
                faceSeven,
                faceEight,
                faceNine,
                faceTen,  //10
                faceJack,  // Bube
                faceQueen, // Dame
                faceKing  // König
}
Delphi-Quellcode:
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Cards32;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormPaint(Sender: TObject);
  private
    { Private declarations }
    Karten: TCards;
  public
    { Public declarations }
  end;



var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Karten := TCards.Create; // Unit/Dll initialisieren
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  Karten.Free; // Unit/Dll wieder freigeben und aus dem Hauptspeicher löschen !
end;

procedure TForm1.FormPaint(Sender: TObject);
var i: Integer;
begin
  // male mal:
  for i:= 0 to 5 do
    Karten.DrawCard(
      Canvas.Handle,
      Point(20 + i,20 + (i*10)), // an Stelle
      suitClubs, // Kreuz
      faceAce, // Ass
      FALSE // Ne, kein Highlight (werden invertiert wenn True)
      );

end;

end.
fertisch.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat