ERLEDIGT
JA
JA
ANTWORTEN
6
6
ZUGRIFFE
688
688
EMPFEHLEN
-
Gibt es in Delphi eine Schleife, die sagt: "Jedes Mal, wenn (Bedingung, z.B. Anklicken von Button) passiert, soll (Anweisungsblock) gemacht werden."?
Wenn nein, wie kann ich dies umschreiben?
-
24.06.08 08:18 #2
Stichwort Listener?!
"... Jeder von uns ist Kunst... gezeichnet vom Leben" (Casper)
"Sir?, we're sorrounded!"
"Excellent, we can attack in any direction"
-
24.06.08 10:00 #3
- Registriert seit
- Mar 2004
- Beiträge
- 441
Was die Schleife angeht, so suchst du wohl so etwas:
Code delphi:1 2 3
while (Bedingung) do begin end;
Wie allerdings Matze mit seinem Stichwort anmerkte, ist eine einfache Schleife zu unterscheiden von der Reaktion auf ein Ereignis. Unter DOS waren Dauerschleifen, welche die verschiedenen Eingabegeräte (Tastatur, Maus, Joystick) abfragten, der Standard. Doch unter Windows sieht die Sache etwas anders aus. Da laufen nämlich Hunderte von verschiedenen Ereignissen gleichzeitig ab, u.a. Reaktionen auf Mausklicks, Bildschirmaktualisierungen, Meldungen verschiedenster Peripheriegeräte etc.pp. Diese werden von Windows verwaltet, sortiert und weitergeleitet. Für ein Delphiprogramm bedeutet dies nun, daß es auf solche Ereignisse (Events) reagieren muß. Wenn du also auf einen Buttonklick in deinem Formular reagieren willst, dann solltest du keine Schleife bauen, die permanent abfragt "Wurde denn der Button geklickt?" Denn sobald der Button geklickt wird, wird ein entsprechendes Ereignis vom Betriebssystem generiert, auf das dann der Button selbst reagieren kann, was wesentlich effizienter ist.
Einbauen lässt sich das in Delphi furchtbar einfach (insofern du tatsächlich mit dem visuellen Designer arbeitest): Führe auf dem Button in deiner Entwurfsansicht einen Doppelklick aus. Dann wechselt deine Entwicklungsumgebung in den Quelltexteditor. Dort wurden dann automatisch alle notwendigen Zeilen eingefügt, damit eine entsprechende Ereignismethode ausgeführt wird (die heißt z.B. OnButton1Click() ), innerhalb derer du dann deinen Code schreiben kannst.
Siehe auch http://www.edv-buchversand.de/chapte...id=ms-5411.pdf, Seiten 2 und 3.
-
schön, aber das hilft mir nicht so recht. Ich möchte in einer Prozedur folgende Anweisung schreiben:
"Jedes Mal, wenn die Prozedur aufgerufen wird, soll ein weiteres von 3 Bildern verschwinden und am Ende "Verloren" als MessageBox erscheinen".
Das mit der MessageBox und Bilder-Verschwinden weiß ich, aber nicht wie die Syntax der Schleife aussehen soll....
-
25.06.08 08:10 #5
- Registriert seit
- Mar 2004
- Beiträge
- 441
Code delphi:1 2 3 4 5 6 7 8 9 10 11 12 13
... while Index < 3 do begin LasseVerschwinden(Index); Inc(Index); end; CreateMessageDialog('Verloren', mtInformation, [mbOk]); ... procedure LasseVerschwinden(BildIndex: Integer); begin // An dieser Stelle das Bild ausblenden, das durch BildIndex indentifiziert ist end;
Die Schleife ist das while.
-
Code :
1 2 3 4 5 6 7 8 9 10 11 12
procedure TMaexchen.SpielerLebenWeg; begin while Index < 3; do begin SpielerLebenWeg(Index); Inc(Index); end; ImSLeben1.Visible := false; ImSLeben2.Visible := false; ImSLeben3.Visible := false; ShowMessage('Verloren!'); end;
Was bedeutet "<"?
So stimmt das nicht, möchte jetzt gerne wissen, wie ich deinen Vorschlag auf meinen Fall anwende.
-
25.06.08 16:14 #7
- Registriert seit
- Mar 2004
- Beiträge
- 441
Das "<" ist das "kleiner"-Zeichen, das ich nicht als Zeichen schreiben kann, weil der Editor hier im Forum es umwandelt.
Aussehen sollte es ungefähr so:
/
\
Frag mich bitte nicht, warum das neuerdings in den HTML-Code umgewandelt wird.
Anmerkung noch zum Code:
Mit simplen Copy&Paste wirst du nicht wirklich weiter kommen. Das, was du da rauskopiert hast, kann und wird nicht funktionieren, ohne, daß du es nachbearbeitest.
Ähnliche Themen
-
Schleife als Bedingung einer Schleife ?
Von Dragonate im Forum C/C++Antworten: 4Letzter Beitrag: 05.11.09, 18:19 -
Schleife bis sich ein Wert ändert, dann die Schleife neu beginnen
Von Turtle78 im Forum PHPAntworten: 4Letzter Beitrag: 07.01.08, 17:14 -
Schleife in einer Schleife funktioniert nicht
Von Watusimann im Forum PHPAntworten: 7Letzter Beitrag: 16.12.06, 16:06 -
LoadVars.onLoad in for-schleife wird erst nach Schleife abgearbeitet?
Von Lloyd im Forum Flash PlattformAntworten: 12Letzter Beitrag: 17.01.05, 18:34 -
Schleife oder nicht Schleife?
Von joky_joky im Forum PHPAntworten: 8Letzter Beitrag: 27.10.04, 17:32





Zitieren
Login





