![]() |
Re: Memory für "Anfänger"
Zitat:
|
Re: Memory für "Anfänger"
Du kannst mit dem Objektinspektor mehreren Objekten die selbe Prozedur für ein Ereignis zuweisen.
In der Prozedur zum Ereignis hast du meist einen Parameter "Sender", der wäre in deinem Image-OnClick dann das Bild, auf das geklickt wurde. |
Re: Memory für "Anfänger"
BOAH ich habs satt. Ich finde meine Fehler nicht :cry:
Könnt ihr da nochmal einen blick drüber werfen? irgendetwas stimmt da mit dem mischen nicht
Code:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, ComCtrls, Menus; type TForm1 = class(TForm) Image1: TImage; Image2: TImage; Image3: TImage; Image4: TImage; Image5: TImage; Image6: TImage; Button1: TButton; Button2: TButton; TrackBar1: TTrackBar; procedure FormCreate(Sender: TObject); procedure ImageClick(Sender: TObject); procedure Button1Click(Sender: TObject); procedure TrackBar1Change(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; zweiteKarte: Boolean = True; Bild1, Bild2, Bild3, Anzahl, zufall, i, k: Integer; Bild: Array[1..3] of String; //Bildernamen Platz: Array[1..6] of Integer; //Bildnummer Nummer: Array[1..6] of Integer; //Bildnummer 2 Name1, Name2 ,Name3: String; //Imagename für Deckblatt implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin randomize; // Zufallszahlengenerator aktivieren Button1.OnClick(self); end; // Karten neu procedure TForm1.Button1Click(Sender: TObject); begin // verdeckt Image1.Picture.LoadFromFile('Bilder/Deckblatt.bmp'); Image2.Picture.LoadFromFile('Bilder/Deckblatt.bmp'); Image3.Picture.LoadFromFile('Bilder/Deckblatt.bmp'); Image4.Picture.LoadFromFile('Bilder/Deckblatt.bmp'); Image5.Picture.LoadFromFile('Bilder/Deckblatt.bmp'); Image6.Picture.LoadFromFile('Bilder/Deckblatt.bmp'); // offen Bild[1]:= 'Bilder/HUND01.BMP'; Bild[2]:= 'Bilder/HUND02.BMP'; Bild[3]:= 'Bilder/HUND03.BMP'; // gemischt platzieren Platz[1]:= 1; Platz[2]:= 2; Platz[3]:= 3; Platz[4]:= 1; Platz[5]:= 2; Platz[6]:= 3; Anzahl := 6; while Anzahl > 0 do { Die Karten mischen } begin zufall:= random(Anzahl)+1; // eine Karte aus dem Stapel ziehen Nummer[Anzahl]:= Platz[zufall]; // und auf letzten freien Platz auslegen for k:= zufall to Anzahl-1 do // restliche Karten einen Platz nach vorn begin Platz[k]:= Platz[k+1]; end; Anzahl:= Anzahl - 1; // Der Stapel ist nun kleiner geworden end; end; // Karten aufdecken procedure TForm1.ImageClick(Sender: TObject); begin zweiteKarte:= not(zweiteKarte); i:= StrToInt(TImage(sender).Name[6]); TImage(sender).Picture.LoadFromFile(Bild[Platz[i]]); Name1:= TImage(sender).Name; If zweiteKarte then begin Bild1:= i; Name1:= TImage(Sender).Name; end else begin Bild2:= i; Name2:= TImage(Sender).Name; end; If zweiteKarte then If Platz[Bild1] <> Platz[Bild2] then begin MessageDlgPos('Gesehen?', mtConfirmation, mbYesNoCancel,0,400,400); for k:= 0 to componentcount-1 do if (TImage(components[k]).Name=Name1) or (TImage(components[k]).Name=Name2) Then TImage(components[k]).Picture.LoadFromFile('Bilder/Deckblatt.bmp'); end else end; end. |
Re: Memory für "Anfänger"
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:31 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