Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Wie kann ich mehrere Edit (tedit) zusammenfassen (https://www.delphipraxis.net/177259-wie-kann-ich-mehrere-edit-tedit-zusammenfassen.html)

Natcree 28. Okt 2013 13:15

Wie kann ich mehrere Edit (tedit) zusammenfassen
 
Hallo ich möchte 20 Editfelder mit einem befehl auf einmal sichtbar machen. Habe an ein array gedacht krieg es aber nicht hin.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Edit: Array[10..43] of TEdit;
  i: Integer;
begin
  for i := 10 to 43 do Edit[i].Visible:=true;
end;
Hier gibt er mir aber einen Access Violation Fehler beim klicken des Buttons.

bcvs 28. Okt 2013 13:24

AW: Wie kann ich mehrere Edit (tedit) zusammenfassen
 
Du müsstest die Edits im Objektinspektor entsprechend durchnummeriert benennen, also Edit10, Edit11 usw.

und dann in etwa so:
Delphi-Quellcode:

var
  Edit:TEdit;
  i: Integer;
for i := 10 to 43 do begin
  Edit:=TEdit(FindComponent('Edit'+IntTostr(i)));
  if Edit<>nil then
     Edit.Visible:=true;
end;

Natcree 28. Okt 2013 13:27

AW: Wie kann ich mehrere Edit (tedit) zusammenfassen
 
Danke :)

Habe den code noch Berichtigt

Delphi-Quellcode:
var
  Edit:TEdit;
  i: Integer;
begin
for i := 10 to 43 do begin
  Edit:=TEdit(FindComponent('Edit'+IntTostr(i)));
  if Edit<>nil then
     Edit.Visible:=true;
end;
end;

CCRDude 28. Okt 2013 13:28

AW: Wie kann ich mehrere Edit (tedit) zusammenfassen
 
Oder, falls es außer de gewünschten keine anderen im Parent-Container gibt, Controls des Parent-Containers iterieren und für jedes Control auf is TEdit prüfen und dann Visible setzen?

DeddyH 28. Okt 2013 13:28

AW: Wie kann ich mehrere Edit (tedit) zusammenfassen
 
Quick and Dirty:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
begin
  for i := 10 to 43 do
    TEdit(FindComponent('Edit' + IntToStr(i))).Visible:=true;
end;
Oder aber Du deklarierst Dein Array global bzw. als Feld des Formulars und fügst die Edits dort initial ein. Anschließend musst Du dann nur noch dieses Array durchlaufen.
Delphi-Quellcode:
var
  Edits: array[10..43] of TEdit;

...

procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
begin
  for i := Low(Edits) to High(Edits) do
    Edits[i] := FindComponent('Edit' + IntToStr(i));
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
begin
  for i := Low(Edits) to High(Edits) do
    Edits[i].Visible:=true;
end;

Natcree 28. Okt 2013 13:31

AW: Wie kann ich mehrere Edit (tedit) zusammenfassen
 
wie kriege ich da am schnellsten eine function draus?

DeddyH 28. Okt 2013 13:33

AW: Wie kann ich mehrere Edit (tedit) zusammenfassen
 
Wie meinen:?:

Natcree 28. Okt 2013 13:36

AW: Wie kann ich mehrere Edit (tedit) zusammenfassen
 
na ich will diesen code nicht immer wieder neu eingeben und ihn als function ablegen so das ich nur noch einen kurzen befehl eingeben muss wie
Delphi-Quellcode:
editsverschwinden:=true

DeddyH 28. Okt 2013 13:38

AW: Wie kann ich mehrere Edit (tedit) zusammenfassen
 
Delphi-Quellcode:
procedure TForm1.ShowEdits(Show: Boolean);
var
  i: Integer;
begin
  for i := Low(Edits) to High(Edits) do
    Edits[i].Visible := Show;
end;

//Anzeigen
ShowEdits(true);

//Verstecken
ShowEdits(false);

DP-Maintenance 30. Okt 2013 08:36

Dieses Thema wurde am "30. Oct 2013, 09:36 Uhr" von "TBx" aus dem Forum "Neuen Beitrag zur Code-Library hinzufügen" in das Forum "GUI-Design mit VCL / FireMonkey / Common Controls" verschoben.


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