Delphi-PRAXiS

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.

generic 30. Okt 2013 10:25

AW: Wie kann ich mehrere Edit (tedit) zusammenfassen
 
Wäre es nicht besser die Edits auf ein Panel zu legen und diese nur sichtbar/unsichtbar zu machen?

DeddyH 30. Okt 2013 10:26

AW: Wie kann ich mehrere Edit (tedit) zusammenfassen
 
Der Gedanke war mir auch schon gekommen, nur weiß man ja nicht, ob da evtl. noch andere Komponenten dazwischen liegen, die nicht mit ausgeblendet werden sollen.

Sherlock 30. Okt 2013 11:00

AW: Wie kann ich mehrere Edit (tedit) zusammenfassen
 
Sind das eigentlich LabeledEdits oder musst Du das alles nochmal für die zugehörigen Labels machen?

Sherlock

Natcree 30. Okt 2013 12:53

AW: Wie kann ich mehrere Edit (tedit) zusammenfassen
 
Nee sind normale Edits. Danke habe die Combobox ausgeblendet und dafür Edits eingeblendet.
Habe versucht mit dem Rave designer zu arbeiten. Komme nicht wirklich mit klar. bleibe aber am Ball.

TBx 30. Okt 2013 13:21

AW: Wie kann ich mehrere Edit (tedit) zusammenfassen
 
Erzähl doch mal, was Du eigentlich vor hast.
Massenhaft Edits ein.- und ausblenden klingt irgendwie nach Frickellösung ;-)


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