Autor Beitrag
zwoi
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Di 22.10.02 16:51 
:D Hi Leute :!:
Ich bin dabei ein Programm zu schreiben, hab jedoch ein kleines Problem.
Kurze Erläuterung:

z.B.:

- ich erstelle eine ini-datei.
- integer oder string werden abgespeichert
- diese will ich wieder auslesen um sie mit neuen Werten zu vergleichen


Ich habe mir vorgestellt ich lese die Werte aus, aus der ini und schreib sie jeweils in ein editfeld. nun möchte ich in ein neues feld einen wert eingeben und der soll mit allen in der ini gespeicherten Werte verglichen werden.

wie stellt man das am geschicktesten an :?:

sowas wie z.B. :? :

for i:=1 to 100 do begin
if edit[i].text=wert1.text then
...
:( funktioniert nicht. :!:

Wenn mir einer weiter helfen könnte wäre das echt super.
Danke![/b]
DeCodeGuru
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1333
Erhaltene Danke: 1

Arch Linux
Eclipse
BeitragVerfasst: Di 22.10.02 17:21 
wenn edit ein "array of TEdit" ist, dann müsste es funktionieren. Wenn du aber jetzt 100 Edits aufm Formular hast, dann kannste so auf die Kompos zugreifen:

ausblenden Quelltext
1:
TEdit(FindComponent('Edit'+IntToStr(i))).Text ...					


Sollte so funktionieren. Ich denk mal, dass du das jetzt alleine schaffst :)

_________________
Viele Grüße
Jakob
Popov
Gast
Erhaltene Danke: 1



BeitragVerfasst: Di 22.10.02 17:27 
Ich gehe davon aus, daß du mit der Ini umgehen kannst. Deshalb werde ich den Create & Co. Part nicht durchnehmen. Zuerst definierst du zwei TStringList Objekte (z.B. sl1 und sl2). Dann liest du dir mit Ini.ReadSections(sl1) alle Abschnitte der Ini ein. Jetzt hast du eine Liste alle Abschnitte und kannst auf sie über for i := 0 to sl1.Count - 1 do zugreifen. Als nächstes liest du dir alle Schlüssel des jeweiligen Abschnits. Das machst du mit mit Ini.ReadSection(sl1.Strings[i], sl2). Jetzt hast du alle Schlussel des jeweiligen Abschnits als Liste. Jetzt eine neue Schleife: for k := 0 to sl2.Count - 1 do. In dieser Schleife brauchst du nur noch eine Abfrage einbauen: if Ini.WriteString(sl1.Strings[i]), sl2.Strings[k]), 'Error') = XYZ then MachWas. Den Rest erledigt der Computer.

Dein YXZ Wert wird jetzt mit jedem Wert in der Ini (unabhängig des Abschnits) verglichen.