Delphi-PRAXiS
Seite 4 von 6   « Erste     234 56      

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 Edit-Felder in Stringliste speichern (https://www.delphipraxis.net/119965-edit-felder-stringliste-speichern.html)

taaktaak 3. Sep 2008 22:07

Re: Edit-Felder in Stringliste speichern
 
Also noch mal:
Auch leere Edits werden gespeichert.
Dann steht in der Datei nur 0D0A für diese Zeile.
Ebenso werden leere Zeilen wieder eingelesen.

grenzgaenger 3. Sep 2008 22:09

Re: Edit-Felder in Stringliste speichern
 
du kannst halt nur die zeilen zuweisen, welche du hast...

musst halt sicherstellen, dass deine textdatei immer alle werte aufweisen oder bei der laufzeit entsprechend validieren... :-)

Delphi-Quellcode:
for i := 0 to sl.count -1 do
  (findcomponent(myEdit+inttostr(i)) as tEdit).text := sl.strings[i];

grenzgaenger 3. Sep 2008 22:11

Re: Edit-Felder in Stringliste speichern
 
Zitat:

Zitat von taaktaak
Also noch mal:
Auch leere Edits werden gespeichert.
Dann steht in der Datei nur 0D0A für diese Zeile.
Ebenso werden leere Zeilen wieder eingelesen.

in diesem falle, wäre aber die zeile in SL assigned.. und würde eben auf '' gesetzt ...

aber das kann er ja einfach mit einem hexeditor prüfen :-) und auch mit dem debugger.. kurz zuvor auf die fehlerstelle setzen und dan mit F7, F8 durchsteppen und sich dabei die wichtigsten variablen ansehen... :-)

Thomas F 3. Sep 2008 22:27

Re: Edit-Felder in Stringliste speichern
 
Diesen Code hab ich probiert, keine Exception, aber auch keine Strings :cry:
obwohl die TEST-Datei gefüllt ist
Delphi-Quellcode:
procedure TForm4.FormShow(Sender: TObject);
var K: Integer;  myEdit:String;
begin
Stringlist.LoadFromFile('TEST.txt');

  for K := 0 to stringlist.count -1 do
  (findcomponent(myEdit+inttostr(k)) as TEdit).text := stringlist.strings[k];
end;

Thomas F 4. Sep 2008 08:16

Re: Edit-Felder in Stringliste speichern
 
Ich habs nochmal ausführlich getestet, nur wenn die Datei 'Test.txt' noch nicht existiert oder

0 kb hat, also völlig leer ist dann gibts ne Exception

Delphi-Quellcode:
if not FileExists ('Test.txt') Then filecreate('Test.txt')..........
ändert leider auch nichts

mkinzler 4. Sep 2008 08:20

Re: Edit-Felder in Stringliste speichern
 
Dass Problem ist das eine leere Datei immer noch keine Zeilen hat. Wenn du diese einliest hat die StringListe 0 Zeilen. Wenn du dann auf irgendeinen der Strings zugreifen willst knallt es halt. Du musst die Anzahl der Zeilen abfragen

DeddyH 4. Sep 2008 08:22

Re: Edit-Felder in Stringliste speichern
 
Wenn Datei existiert, dann:
- Stringliste aus Datei befüllen
- zur Kontrolle Zeilen zählen
- Text den Edits zuweisen

[edit] Mal wieder zu spät *grmpf* [/edit]

Thomas F 4. Sep 2008 08:25

Re: Edit-Felder in Stringliste speichern
 
Zitat:

Zitat von DeddyH
Wenn Datei existiert, dann:
- Stringliste aus Datei befüllen
- zur Kontrolle Zeilen zählen
- Text den Edits zuweisen

[edit] Mal wieder zu spät *grmpf* [/edit]

Komischerweise, wenn die Datei 1 kb hat, aber überhaupt nichts drinsteht,

optisch völlig leer ist , gibts keine Exception

wenn die Datei 0 kb hat gibts ne Exception,

da steht unsichtbar irgendwas drin.

DeddyH 4. Sep 2008 08:30

Re: Edit-Felder in Stringliste speichern
 
Dann stehen vermutlich nur Zeilenumbrüche drin und die sieht man normalerweise nicht.

Thomas F 4. Sep 2008 08:32

Re: Edit-Felder in Stringliste speichern
 
Ich hab die Lösung gefunden

Delphi-Quellcode:
if Stringlist.Count = AnzahlEdits -1 then
begin

Stringlist.LoadFromFile('Test.txt')......................


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:12 Uhr.
Seite 4 von 6   « Erste     234 56      

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