![]() |
Mehrere Eingabefelder in ein array auslesen
Hallo
Ich habe folgende Frage: Ich möchte die eingegebenen Daten aus ca. 90 Eingabefeldern nach dem Click auf einen Button in ein Array of integer speichern und die Werte dann in einer Listbox ausgeben. Ich weiss aber nicht wie man z.B. mit ner for-Schleife die Inhalte aller Eingabefelder ausliest. Das alles müsste ja dann irgendwie so aussehen: for i:=1 to 90 do begin feld[i]:=strtoint(editi.text); end; Problem is eben nur wie ich mit Hilfe der Variablen i jedes einzelne Eingabefeld ansteuern kann. Ich bedanke mich jetzt schon mal für eure Mühe! :thuimb: :hello: MfG 0_0TWOFACE0_0 |
Re: Mehrere Eingabefelder in ein array auslesen
![]() Oder: Hier findet du ein Demo zu FindComponent: ![]() |
Re: Mehrere Eingabefelder in ein array auslesen
Hallo!
Hier nochwas anstelle von Findcomponent: evtl. so:
Delphi-Quellcode:
procedure Form1.MachWasMitAllenTEditFeldern;
var i: integer; t: TEdit; begin for i:= 0 to Form1.ComponentCount - 1 do begin if Form1.Components[i].ClassName = 'TEdit' then begin t:= TEdit ( Form1.Components[i] ); // Zugriff auf edit feld jetzt mit // t.<attribut o. methode> end; end; end; Du kannst dann noch Komponenten des gleichen Typs entweder über die Eigenschaft Name oder mit Hilfe der Eigenschft Tag unterscheiden. Gruss, Franz. |
Re: Mehrere Eingabefelder in ein array auslesen
hi
also ich habs jetzt so gemacht:
Delphi-Quellcode:
aber beim Ausführen es erscheint eine Fehlermeldung:
for i := 1 to 85 {Anzahl Edits} do
begin feld[i]:=strtoint(TEdit(FindComponent('Edit'+IntToStr(i))).text) end; Projekt ...exe raised exception class EConvertError with message ''' is not a valid integervalue'. Process stopped. Use Step or Run to continue. also muss es ja was mit der Umwandlung von string in integer zu tun haben!!?? oder??? 0_0TWOFACE0_0 [edit=Daniel B]Delphi-Tags eingefügt. Mfg, Daniel B[/edit] |
Re: Mehrere Eingabefelder in ein array auslesen
Da steht wohl in mindestens einem deiner Edits keine reine Zahl (Integer).
Eines der Edit's ist leer Zitat:
xxx = Text im Edit Da hier gibt 0 zurück, wenn kein Text im Edit-Feld ist. Es wird allerdings auch eine 0 zurückgegeben, wenn ein Fehler vorhanden ist (Twext ist keine ganze Zahl).
Delphi-Quellcode:
Trim( ... ) entfernt alle führenden und nachfolgenden Leerzeichen. StrToInt mekert sobald etwas anderes ausser Zahlen vorhanden ist, sei es auch nur ein Leerzeichen. ("123 ")
For i := 1 to 85 do
Feld[i] := StrToIntDef(Trim(TEdit(FindComponent('Edit' + IntToStr(i))).Text), 0); |
Re: Mehrere Eingabefelder in ein array auslesen
hi
ok das hat wunderbar gefunzt es sei euch allen gedankt MfG 0_0TWOFACE0_0 :thuimb: :thuimb: :thuimb: :spin: :spin: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:32 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