Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Prozedurname variabel ansteuern (https://www.delphipraxis.net/28298-prozedurname-variabel-ansteuern.html)

Whistler 22. Aug 2004 21:51


Prozedurname variabel ansteuern
 
Guten Abend,

ein Button "Weiter" soll bei Klick "Prozedur1" aufrufen. Klickt man erneut, "Prozedur2", dann "Prozedur3" und so weiter! Irgendwie stehe ich gerade auf dem Schlauch, ich weiß nicht wie ich das realisieren sollte.

Als WorkARound mache ich atm folgendes:
Delphi-Quellcode:
// In Jeder Prozedur wird die Variable "aktuelle_prozedur" (Type Integer) um "1" erhöht
aktuelle_prozedur := aktuelle_prozedur + 1;
// Nun prüft ich beim "OnClick" Event des Buttons den Wert von "aktuelle_prozedur" und rufe entsprechende Prozedur auf
if aktuelle_prozedur = 1 then Prozedur1;
if aktuelle_prozedur = 2 then Prozedur2;
if aktuelle_prozedur = 3 then Prozedur3;
Nachteil:
Ich habe ziemlich viele Prozeduren und es kommen und gehen oft welche. Da habe ich keine Lust immer neue "IF-Schleifen" zu schreiben (ja, ist eigentlich keine Arbeit...) bzw. welche weg zunehmen.

Nothine 22. Aug 2004 22:12

Re: Prozedurname variabel ansteuern
 
mit nem array of procedure vielleicht?
Delphi-Quellcode:
var AoP: array[1..3] of procedure(Sender: TObject)
dann müsstest du allerdings die prozeduren auch irgendwo am start einmal alle zuweisen...

Boombuler 23. Aug 2004 07:04

Re: Prozedurname variabel ansteuern
 
Hi

vielleicht hilft dir das hier weiter:

Tipp von SwissDelphiCenter

MfG
Boombuler

eddy 23. Aug 2004 08:10

Re: Prozedurname variabel ansteuern
 
Hallo Whissi,

nutze doch einfach Button.Tag

Am Anfang definieren und bei jedem Klick nach Wunsch ändern.

Code:
case button.tag of
  1: begin
       proz1;
       button.tag := 2;
     end;
  2: begin
       proz2;
       button.tag := 3;
     end;
  3: begin
       proz3;
       button.tag := 1;
     end;
end;

mfg
eddy

roderich 23. Aug 2004 08:59

Re: Prozedurname variabel ansteuern
 
hallo Whissi,

darf man fragen, was Du damit vorhast ?
Vielleicht kann man es auch anders (besser ?!) implementieren....

Roderich

Whistler 23. Aug 2004 17:29

Re: Prozedurname variabel ansteuern
 
Ist nur ein simpler Dialog. Der User wird was gefragt, klickt auf Weiter und er wird wieder was gefragt.

Aber ich glaube es ist wohl besser, es über die Variable "Schritt" ect. zu machen und dann eben IF Anfragen einzubinden "If Schritt = 1 then Prozedur1;" usw... denn es werden je nach Auswahl mal Schritte bei Weiter übersprungen und und und...

Blutiger Anfänger 23. Aug 2004 17:32

Re: Prozedurname variabel ansteuern
 
Alle können die selbe Methode haben die dann eben entsprechend des Tag-Werts was anderes tut.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:39 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz