Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Allgemeine Frage zu einer Schleife (https://www.delphipraxis.net/60704-allgemeine-frage-zu-einer-schleife.html)

waschlap 11. Jan 2006 09:52


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:
for i:= 1 to 3 do
 if Edit+i.text <> '' then begin
  temp := Edit+i.text;
  writeln(f3,temp)
 end;
Nur diese funktioniert leider nicht so WARUM??

schon mal danke für eure Hilfe

Manu

ste_ett 11. Jan 2006 09:59

Re: Allgemeine Frage zu einer Schleife
 
"Edit1" ist nicht dasselbe wie "Edit+Zahl"
So einfach geht das nicht. :)

Du brauchst die Funktion "FindComponent".

waschlap 11. Jan 2006 10:02

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

RavenIV 11. Jan 2006 10:06

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:
TEdit(Liste[i]).Text
darauf zugreifen

2) Du kannst alle Komponenten durchgehen und nach deinen Edits suchen
Delphi-Quellcode:
if Component.name = Edit+i then

mkinzler 11. Jan 2006 10:11

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;

waschlap 11. Jan 2006 10:16

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

waschlap 11. Jan 2006 10:20

Re: Allgemeine Frage zu einer Schleife
 
Vielen Dank mkinzler funz wie gewünscht.

Mfg
Manu

dataspider 11. Jan 2006 10:20

Re: Allgemeine Frage zu einer Schleife
 
Hi,

es geht auch mit FindComponent:
Delphi-Quellcode:
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;
Cu, Frank

waschlap 11. Jan 2006 10:26

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

mkinzler 11. Jan 2006 10:32

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 08:33 Uhr.
Seite 1 von 2  1 2      

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