![]() |
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:
Hier gibt er mir aber einen Access Violation Fehler beim klicken des Buttons.
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; |
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; |
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; |
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?
|
AW: Wie kann ich mehrere Edit (tedit) zusammenfassen
Quick and Dirty:
Delphi-Quellcode:
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.
procedure TForm1.Button1Click(Sender: TObject);
var i: Integer; begin for i := 10 to 43 do TEdit(FindComponent('Edit' + IntToStr(i))).Visible:=true; end;
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; |
AW: Wie kann ich mehrere Edit (tedit) zusammenfassen
wie kriege ich da am schnellsten eine function draus?
|
AW: Wie kann ich mehrere Edit (tedit) zusammenfassen
Wie meinen:?:
|
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
|
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); |
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.
|
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?
|
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.
|
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 |
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. |
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