Entwickler-Ecke

Multimedia / Grafik - Funktion immer wieder aufrufen - wie


CrOc - So 28.12.03 15:51
Titel: Funktion immer wieder aufrufen - wie
hi,
ich muss die gleiche funktion immer wieder verwenden. Gibt es die möglichkeit die funktion nur einmal zu schreiben und dann immer wieder aufrufen zu können?


Christian S. - So 28.12.03 15:56

Hallo!

Meinst Du so etwas:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
procedure meineFunktion;
begin
  ShowMessage('Meine Funktion wurde aufgerufen');
end;

procedure TForm1.Button1Click(sender : Tobject);
VAR i : INTEGER;
begin
  meineFunktion;
  machWasAnderes;
  meineFunktion;

  for i:=0 TO 100 DO meineFunktion; //101mal machen

  while true do meineFunktion; //Endlos-Schleife, NICHT ZU EMPFEHLEN!
end;


MfG
Peter


CrOc - So 28.12.03 16:00

danke,
genau so etwas hab ich gesucht!


CrOc - So 28.12.03 16:11

ich hab mir jetzt sowas in der art erstellt, funktioniert aber immer noch nicht so, wie es mir vorgestellt habe:



Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
procedure hangman;
begin
 case StrToInt(fehlerw.caption) of
  1: hangman.picture.loadfromfile('galgen/hangman1.bmp');
  2: hangman.picture.loadfromfile('galgen/hangman2.bmp');
  3: hangman.picture.loadfromfile('galgen/hangman3.bmp');
  4: hangman.picture.loadfromfile('galgen/hangman4.bmp');
  5: hangman.picture.loadfromfile('galgen/hangman5.bmp');
  6: hangman.picture.loadfromfile('galgen/hangman6.bmp');
  7: hangman.picture.loadfromfile('galgen/hangman7.bmp');
  8: hangman.picture.loadfromfile('galgen/hangman8.bmp');
  9: hangman.picture.loadfromfile('galgen/hangman9.bmp');
  10: hangman.picture.loadfromfile('galgen/hangman10.bmp');
  11: hangman.pciture.loadfromfile('galgen/hangman11.bmp');
 end;
end;



er zeigt immer an, dass er fehlerw.caption nicht gefunden hat, obwohl es sich auf form1 befindet

Moderiert von user profile iconPeter Lustig: Delphi-Tags hinzugefügt


Christian S. - So 28.12.03 16:23

Hallo!

Das liegt daran, dass die Prozedur "Hangman" kein Member von TForm1 ist. Daher musst Du statt "fehlerw.caption" schreiben "form1.fehlerw.caption".

Noch ein paar allgemeine Anmerkungen zu Deinem Programm:
Du solltest den Pfad zu den Bilddateien nicht relativ angeben. Das kann schief gehen, wenn sich das aktuelle Verzeichnis ändert. Stelle das Programmverzeichnis mit "ExtractFilePath(ParamStr(0))" fest und arbeite damit.
Dann sieht man recht schnell, dass man das ganze auch ohne die Case-Anweisung lösen kann, weil die Dateien sich alle nur durch die Zahl unterscheiden, welche auch in der Case-Anweisung steht. Du kannst den richtigen Dateinamen also sehr leicht "zusammenbauen"

MfG
Peter

//Edit: ach ja, bitte nutze demnächst Delphi-Tags!


CrOc - So 28.12.03 16:24

thanks