![]() |
Procedure aufrufen...
Eine kleine Frage noch:
Habe eine eigene Procedure erstellt:
Delphi-Quellcode:
Wie kann ich auf die Procedure MB mit anderen Prozeduren zugreifen?
procedure MB;
var List:TStringList; begin List:=TStringList.Create; List.LoadFromFile('C:\Text.txt'); Label11.Caption:=List.Strings[0]; Label12.Caption:=List.Strings[1]; Label13.Caption:=List.Strings[2]; List.Free; end; Wenn CheckBox1 soll String 0 angezeigt werden. Wenn CheckBox2 soll String 1 angezeigt werden usw. Z.B:
Delphi-Quellcode:
end;
procedure TForm1.CheckBox1Click(Sender: TObject);
begin MB; Wie geht das? Bitte um Verständnis, bin noch neu.....aber fleissig am lernen ;) danke euch allen... [edit=sakura] [delphi]-Tags. Mfg, sakura[/edit] |
Re: Procedure aufrufen...
Hallo abc,
als erste würde ich die Prozedur im Public- oder Private-Bereich der Form deklarieren. z.B.:
Delphi-Quellcode:
Als nächstes muss diese Prozedur ebenfalls im Implementation-Teil der Unit deklariert werden.
public
{ Public-Deklarationen } procedure MB;
Delphi-Quellcode:
Wenn du dies getan hast, kannst du die Prozedur immer aufrufen wenn du sie brauchst. z.B.:
procedure TForm1.MB;
var List:TStringList; begin List:=TStringList.Create; List.LoadFromFile('C:\Text.txt'); Label1.Caption:=List.Strings[0]; Label2.Caption:=List.Strings[1]; Label3.Caption:=List.Strings[2]; List.Free; end;
Delphi-Quellcode:
Tschüß Markus
procedure TForm1.Button1Click(Sender: TObject);
begin MB; end; |
Re: Procedure aufrufen...
Danke, aber wie kann ich denn nun z.bsp. nur die erste zeile aufrufen?
procedure TForm1.CheckBox1Click(Sender: TObject); begin MB_Genauigkeit; end; Danke. |
Re: Procedure aufrufen...
Zitat:
|
Re: Procedure aufrufen...
Hallo,
Markus K. hat im dritten Code-BLock folgendes geschrieben:
Delphi-Quellcode:
Ich will nur aus dieser Procedure "CheckBox 1 Click" auf den String 0 zugreifen. Mit einer anderen Procedure "CheckBox 2 Click" soll dann auf den String 1 usw....procedure TForm1.CheckBox1Click(Sender: TObject); begin MB_Genauigkeit; end; Warum eine Funktion? Danke. Mfg. |
Re: Procedure aufrufen...
Zitat:
|
Re: Procedure aufrufen...
Ja, Parameter hört sich gut an, aber wie macht man das?
hast du eine Ahnung? Bitte.... |
Re: Procedure aufrufen...
moin,
wie wärs mit:
Delphi-Quellcode:
und
procedure TForm1.MB(i: integer);
var List:TStringList; begin List:=TStringList.Create; List.LoadFromFile('C:\Text.txt'); case i of 1: Label1.Caption:=List.Strings[0]; 2: Label2.Caption:=List.Strings[1]; 3: Label3.Caption:=List.Strings[2]; end; List.Free; end;
Delphi-Quellcode:
phoenix
procedure TForm1.CheckBox1Click(Sender: TObject);
begin MB(1); //bzw. 2 oder 3 end; |
Re: Procedure aufrufen...
oder ganz dynamisch:
Delphi-Quellcode:
Das macht aber nur Sinn wenn es recht viele Labels sind die eventuell dynamisch erzeugt wurden und auf jeden Fall nach dem Schema Label+Indexzahl benannt sein müssen.
procedure TForm1.MB(i: integer);
var List:TStringList; begin List:=TStringList.Create; List.LoadFromFile('C:\Text.txt'); (findcomponent('Label'+inttostr(i)) as TLabel).Caption := List.Strings[i-1]; List.Free; end; phoenix |
Re: Procedure aufrufen...
ne andere Möglichkeit wäre eine Funktion:
Delphi-Quellcode:
die dann mit
function TForm1.MB(i :integer);
var List:TStringList; begin List:=TStringList.Create; List.LoadFromFile('C:\Text.txt'); result := List.Strings[i]; List.Free; end;
Delphi-Quellcode:
aufgerufen wird. Scheint mir bei einer begrenzten Anzahl von Labels hier die sinnvollste Variante zu sein :)
procedure TForm1.CheckBox1Click(Sender: TObject);
begin Label1.caption := MB(0); end; so, nun fällt mir nix mehr dazu ein :wink: phoenix |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:46 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