Autor Beitrag
CrOc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 48

Win XP
D5 Standard
BeitragVerfasst: So 28.12.03 15:51 
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.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: So 28.12.03 15:56 
Hallo!

Meinst Du so etwas:
ausblenden 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

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
CrOc Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 48

Win XP
D5 Standard
BeitragVerfasst: So 28.12.03 16:00 
danke,
genau so etwas hab ich gesucht!
CrOc Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 48

Win XP
D5 Standard
BeitragVerfasst: 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:


ausblenden 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.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: 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!

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
CrOc Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 48

Win XP
D5 Standard
BeitragVerfasst: So 28.12.03 16:24 
thanks