Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Editfelder nacheinander aufrufen (https://www.delphipraxis.net/76375-editfelder-nacheinander-aufrufen.html)

debjörn 3. Sep 2006 10:34


Editfelder nacheinander aufrufen
 
hier ein quelltext, der das problem vereinfacht darstellt:
Code:
var
a:integer;
begin
a:=1;
edit'a'.Text:='dingens'; //es gibt kein edit'a'.text. da a=1 ist, soll
a:=a+1; //edit1.text angesprochen werden
edit'a'.Text:='dingens2';
end;

end.
so klappt es auf jeden fall nicht. und ohne '' um das a auch nicht. gibt es eine möglichkeit viele editfelder nacheinander anzusprechen, ohne alle einzeln aufzuzählen? (in dem programm um das es geht handelt es sich um 12 editfelder, die in mehren prozeduren nacheinander angesprochen werden sollen)

mfg

P.S. ich hoffe dies ist das richtige forum für diese frage

Balu der Bär 3. Sep 2006 10:35

Re: Editfelder nacheinander aufrufen
 
Hier im Forum suchenFindComponent und dann mittels for-Schleife durchgehen.

3_of_8 3. Sep 2006 10:44

Re: Editfelder nacheinander aufrufen
 
Es dürfte ja bekannt sein, was ich von FindComponent halte. Egal, ich sage es nochmal: Pack die Edits lieber in ein Array und erzeuge sie dynamisch zur Laufzeit.

Balu der Bär 3. Sep 2006 10:46

Re: Editfelder nacheinander aufrufen
 
Zitat:

Zitat von 3_of_8
Es dürfte ja bekannt sein, was ich von FindComponent halte.

Nein ist es nicht. Was hast du denn an FindComponent auszusetzen?

debjörn 3. Sep 2006 10:47

Re: Editfelder nacheinander aufrufen
 
@balu thx schonmal. ich hab mit deinem libnk einen passenden thread gefunden.

@3_of_8 und wie würde das gehen?

3_of_8 3. Sep 2006 10:54

Re: Editfelder nacheinander aufrufen
 
Du bastelst dir in den public-Abschnitt der Form ein array of TEdit rein.

Das initialisierst du dann in etwa so:

Delphi-Quellcode:
var I: Integer;
begin
  setlength(edits, 10);
  for I:=0 to high(edits) do
  begin
    edits[I]:=TEdit.Create(Self);
    with edits[I] do
    begin
      Parent:=Self;
      Left:=8;
      Top:=I*29+8;
    end;
  end;
end;

debjörn 3. Sep 2006 10:58

Re: Editfelder nacheinander aufrufen
 
ok vielen dank. ich kuck mir dann mal beide varianten an


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:37 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