![]() |
Schleife für Array beginnt an falscher Stelle
Hi habe hier schon einiges zu meinem projekt gepostet..
das war das jetzige resultat:
Delphi-Quellcode:
//Aufruf
procedure TFormMain.Start; begin if not (Runde >= 20) then begin Inc(Runde); Austeilen([Card1,Card2,Card3,Card4,Card5,Card6,Card7,Card8, Card9,Card10,Card11,Card12,Card13,Card14,Card15, Card16,Card17,Card18,Card19,Card20],[OpCa1,OpCa2, OpCa3,OpCa4,OpCa5,OpCa6,OpCa7,OpCa8,OpCa9,OpCa10, OpCa11,OpCa12,OpCa13,OpCa14,OpCa15,OpCa16,OpCa17, OpCa18,OpCa19,OpCa20],[OpCa21,OpCa22,OpCa23,OpCa24, OpCa25,OpCa26,OpCa27,OpCa28,OpCa29,OpCa210,OpCa211, OpCa212,OpCa213,OpCa214,OpCa215,OpCa216,OpCa217, OpCa218,OpCa219,OpCa220]); end
Delphi-Quellcode:
es handelt sich ersichtlicher weise um 20 Image komponenten ... jetzt will ich herrausfinden welche vom benutzer angeklickt wird...
procedure TFormMain.Austeilen(aImage: Array of TImage;
bImage: Array of TImage; cImage: Array of TImage); var i : Integer; begin Kliste.mischen; Kliste.toFirst; for i := 0 to Runde-1 do begin Hand.Einfuegen(Kliste.GibAktuelles.GibInhalt); Kliste.Next; G1Hand.Einfuegen(KListe.GibAktuelles.GibInhalt); Kliste.Next; G2Hand.Einfuegen(KListe.GibAktuelles.GibInhalt); aImage[i].Picture.LoadFromFile(Hand.GibAktuelles.GibInhalt.GibPfad); bImage[i].Picture.LoadFromFile(X+'CARDBack.jpg'); cImage[i].Picture.LoadFromFile(X+'CARDBackHORIZ.jpg'); Kliste.Next; end; end; daher wollte ich über die OnClick procedur der Image komponenten via
Delphi-Quellcode:
herrausfinden um welche es sich handelt - zum testen...
ShowMessage((Sender as TImage).Name);
dabei habe ich herrausgefunden dass die erste Imagekomponente die ein Bild zugeteilt bekommt ''Card11'' ist statt ''Card1'' also wenn ich auf die angezeigte Karte klicke kommt die Message Card11 ich habe einen Button eingebaut der Start aufruft klicke ich ihn dann werden natürlich 2 Karten ausgeteilt usw. also klicke ich dann auf die zweite Karte kommt die message Card12 usw. bis Card20 dann ist plötzlich die elfte karte... card11 und die erste card1 ... zwölfte ausgeteilte karte-> card12 erste und zweite ausgeteilte karte card1 und card2 ... Weiß ihrgendjemand warum das so ist oder wie ich das ändern kann... bzw. wie ich anders herrausfinden kann die wievielte karte angeklickt wurde? <PS...soll ich das vielleicht einfach mal hochladen oder gehts auch so?> |
Re: Schleife für Array beginnt an falscher Stelle
Ich würdec statt Name den Tag verwenden
|
Re: Schleife für Array beginnt an falscher Stelle
Was für einen Tag?
(Sender as TImage).Tag existiert nicht... €dit: OOOPs... existiert doch delphi hats nur nicht angezeigt wegen ShowMessage.... jetzt ist jede Message '0' .... |
Re: Schleife für Array beginnt an falscher Stelle
Habe jetzt jedem Tag die eintsprechende nr. zugewiesen... geht aber auch nicht... so ziehmlich das selbe problem wie vorher
|
Re: Schleife für Array beginnt an falscher Stelle
Habe es herrausgefunden : man klickt die hinter den anderen liegenden komponenten unwissentlich an... dadurch werden diese nach vorne geholt...
Delphi-Quellcode:
daher die falschen messages.. denn card11 lag standartmäßig über oder vor card1...sind so in zwei reihen angeordnet...
procedure TFormMain.Card1Click(Sender: TObject);
begin (Sender as TImage).BringToFront; ShowMessage(IntToStr((Sender as TImage).Tag)); end; :mrgreen: |
Re: Schleife für Array beginnt an falscher Stelle
Schaue 'mal in die Regeln, bitte!
Pushen ist hier nicht erwünscht. Lasse Dir 24 h Zeit! Gruß Wolfgang |
Re: Schleife für Array beginnt an falscher Stelle
Zitat:
|
Re: Schleife für Array beginnt an falscher Stelle
:)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:26 Uhr. |
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