AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ComboBox und cards.dll

Ein Thema von The Lord · begonnen am 17. Mär 2008 · letzter Beitrag vom 19. Mär 2008
Antwort Antwort
The Lord

Registriert seit: 19. Sep 2005
Ort: Dortmund
125 Beiträge
 
Turbo Delphi für Win32
 
#1

ComboBox und cards.dll

  Alt 17. Mär 2008, 12:20
Hi DP'ler,

ich habe schon einige Erfahrungen mit Pascal und arbeite auch länger schon mit Delphi, aber ich habe mich dort noch nie mit Objekten befasst.
Ich habe bis jetzt nur mit c++ mit Objekten gearbeitet.

Ich benutze gerade die cards.dll um damit ein kleines Progrämmchen zu machen. Ich habe vor eine CombobBox mit den möglichen Karten zu füllen, um diese dann via OnChance zu zeigen.

Die ComboBox wird wie folgt gefüllt:
Delphi-Quellcode:
procedure fill_combobox;
var CardFace : TCardFaces;    
    x : string;
i : integer;
begin
   i:=1;
   for CardFace := faceAce to faceKing do
    begin    
      Form1.Combobox2.Items.AddObject(IntToStr(i), TObject(CardFace));
      i:=i+1;
    end;
end;
Das funktioniert auch.

Aber ich weiß nicht, wie ich diese jetzt zeigen kann, wenn ich das Ereignis in der ComboBox auslöse. Wenn ich ganz normal eine Funktion aufrufe, dann kann ich diese auch zeigen.

Ich habe folgendes probiert:

Delphi-Quellcode:
procedure TForm1.ComboBox2Change(Sender: TObject);
var
  CardFace : TCardFaces;
  x, y : Integer;
begin
  x:=Image2.Left;
  y:=Image2.Top;
  CardFace:=ComboBox2.Items.Objects[ComboBox2.ItemIndex];
  Cards.DrawCard(Canvas.Handle, Point(x, y), suitSpades, CardFace, FALSE);
end;
Das gibt natürlich einen Error: Inkompatible Typen TObject und TCardFaces.

Wie kann ich das Problem lösen?

Hoffentlich könnt ihr mir helfen

Liebe Grüße
Alexander
Dunkel die andere Seite ist...
Klappe Yoda und iss deinen Toast!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: ComboBox und cards.dll

  Alt 17. Mär 2008, 12:23
CardFace:= (ComboBox2.Items.Objects[ComboBox2.ItemIndex] as TCardFaces);
Markus Kinzler
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#3

Re: ComboBox und cards.dll

  Alt 17. Mär 2008, 16:05
Da TCardFaces eindeutig kein Objekt oder Klasse ist, muss es im Gegensatz zu mkinzler's Lösung so lauten:

CardFace:= TCardFaces(ComboBox2.Items.Objects[ComboBox2.ItemIndex]);
  Mit Zitat antworten Zitat
The Lord

Registriert seit: 19. Sep 2005
Ort: Dortmund
125 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: ComboBox und cards.dll

  Alt 19. Mär 2008, 09:10
Zitat von Muetze1:
CardFace:= TCardFaces(ComboBox2.Items.Objects[ComboBox2.ItemIndex]);
Funktioniert.
Danke
Alexander
Dunkel die andere Seite ist...
Klappe Yoda und iss deinen Toast!
  Mit Zitat antworten Zitat
Antwort Antwort


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 11:29 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