Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Variablen in einer Schleife zuordnen (https://www.delphipraxis.net/151121-variablen-einer-schleife-zuordnen.html)

snjake 6. Mai 2010 14:10


Variablen in einer Schleife zuordnen
 
Ich habe eine Menge an Variablen des Typs Integer und möchte diese in einer Schleife bearbeiten.


So sieht es derzeit aus:
Delphi-Quellcode:

A1 := StrToInt(Edit1.Text);
A2 := StrToInt(Edit2.Text);
A3 := StrToInt(Edit3.Text);
A4 := StrToInt(Edit4.Text);
.
.
.
A100 := Edit100.Text;

Und sowas in der Art stelle ich mir vor:
Delphi-Quellcode:
I:=1;

While I<101
A[I] := StrToInt(Edit[I].Text);
I:=I+1;
End;
A1..A100 ist vom Typ Interger.

Mir ist klar das die eckige Klammer bei Variablen des Typs String verwendet wird und an dieser Stelle sebstverständlich nichts zu suchen hat. Leider habe ich keine Informationen für Zuweisungen in Schleifen finden können. Ich gehe aber stark davon aus das es eine recht simple Sache ist. Nur kenne ich halt die Form für die Aufgabe nicht.Vlt. kann mir ja jemand helfen?! Danke.

Fussball-Robby 6. Mai 2010 14:21

Re: Variablen in einer Schleife zuordnen
 
Zunächst einmal: Du solltest nicht A1, A2... verwenden, sondern ein Array[1..100] of Integer.
Dann gibt es zwei Möglichkeiten.

1)Du erzeugst die Edit-Felder dynamisch in einem Array (Array[1..100] of TEdit) und setzt dann ihre Position etc. Dann könntest du dann so einlesen:
Delphi-Quellcode:
for i := Low(Edits) to High(Edits) do
  A[i] := StrToInt(Edits[i].Text);

2)Mittels FindComponent kannst du Komponenten über ihren Namen suchen. Das würde dann so aussehen:
Delphi-Quellcode:
for i := 1 to 100 do
  A[i] := StrToInt(TEdit(FindComponent('Edit' + IntToStr(i))).Text);
Die erste Möglichkeit ist aber definitiv vorzuziehen. Denn wozu die Edits erstellen und nachher wieder suchen, wenn man sich auch direkt in einem Array merken kann, "wo" sie sind?

Viele Grüße

mkinzler 6. Mai 2010 14:21

Re: Variablen in einer Schleife zuordnen
 
Das Zauberwort heisst FindComponent()

DeddyH 6. Mai 2010 14:24

Re: Variablen in einer Schleife zuordnen
 
Du könntest sowohl die Variablen als auch die Edits in ein Array oder eine Liste packen, dann kannst Du indiziert darauf zugreifen. Allerdings muss man bei unterschiedlicher Array- bzw. Listenlänge darauf achten, dass man im zulässigen Bereich bleibt.

[edit] Zu spät :? [/edit]


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