![]() |
Allgemeine Frage zu einer Schleife
Hallo zusammen,
und zwar ich habe so ein winziges problem folgendes : - Habe 3 verschiedene Edit - Felder in denen ein text seht und wollte diese gerne in einer Schleife benutzen:
Delphi-Quellcode:
Nur diese funktioniert leider nicht so WARUM??
for i:= 1 to 3 do
if Edit+i.text <> '' then begin temp := Edit+i.text; writeln(f3,temp) end; schon mal danke für eure Hilfe Manu |
Re: Allgemeine Frage zu einer Schleife
"Edit1" ist nicht dasselbe wie "Edit+Zahl"
So einfach geht das nicht. :) Du brauchst die Funktion "FindComponent". |
Re: Allgemeine Frage zu einer Schleife
Ja und wie soll das dann bitte laufen??
Kannst du mir evtl nen Beispiel geben wäre sehr freundlich. Mfg Manu |
Re: Allgemeine Frage zu einer Schleife
mir fallen da zwei Möglichkeiten ein:
1) pack deine Edits in eine Liste, dann kannst du per
Delphi-Quellcode:
darauf zugreifen
TEdit(Liste[i]).Text
2) Du kannst alle Komponenten durchgehen und nach deinen Edits suchen
Delphi-Quellcode:
if Component.name = Edit+i then
|
Re: Allgemeine Frage zu einer Schleife
Delphi-Quellcode:
for i:= 1 to 3 do
if (Form1.FindComponent('Edit'+IntToStr(i)) as TEdit).text <> '' then begin temp := (Form1.FindComponent('Edit'+IntToStr(i)) as TEdit).text; writeln(f3,temp) end; |
Re: Allgemeine Frage zu einer Schleife
Vielen Dank für die promte Antwort, nun habe ich nur eine Kleine Frage, nachdem noch net so lange progge habe ich keine Ahnung(nicht die leiseste wie ich in delphi mir eine solche Lste erstelle.
Mfg Manu |
Re: Allgemeine Frage zu einer Schleife
Vielen Dank mkinzler funz wie gewünscht.
Mfg Manu |
Re: Allgemeine Frage zu einer Schleife
Hi,
es geht auch mit FindComponent:
Delphi-Quellcode:
Cu, Frank
procedure TForm1.Button3Click(Sender: TObject);
Var i : Integer; AComponent: TComponent; f3 : TextFile; begin ... ... for i:= 1 to 3 do begin AComponent := FindComponent('Edit'+IntToStr(i)); if (Assigned(AComponent) and (AComponent is TEdit) and (TEdit(AComponent).Text <> '')) then writeln(f3,TEdit(AComponent).Text); end; end; |
Re: Allgemeine Frage zu einer Schleife
Jetzt habe ich doch noch Frage geht das mit dem Findcomponent mitfür alle Komponenten oder nur mit TEdit??
mfg Manu |
Re: Allgemeine Frage zu einer Schleife
Fur alle. Zurückgegeben wird eine Instatnz vom Typ TComponent, welche über den as Operator as als ein von TComponent abgeleiteter Typ behandelt werden kann. So kannst du auf spezifische Attribute, Properties oder Methoden von abgeleiteten Typen zugreifen. ( wie z.B. .Text welches kein Member von TComponent sonder von TEdit ist.)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:15 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