Registriert seit: 18. Jul 2003
898 Beiträge
Delphi 6 Professional
|
Re: TListView: Wie speichert/lädt man Daten?!
26. Jul 2004, 16:56
Zitat von rantanplan99:
Hab den anderen Fehler gefunden. Der sucht die Ini Datei im Windows Verzeichnis, findet die natürlich nicht, und erstellt eine neue, die natürlich leer ist.
hier nochmal der komplett korrigierte sourcecode
Delphi-Quellcode:
var
i: integer;
Sec: TStringList;
Ini: TIniFile;
sDatum, sUhrzeit, sBetreff: String;
li: TListItem;
begin
Sec := TStringList.Create;
Ini := TIniFile.Create(ExtractFilePath(Application.ExeName)+'Termine.ini');
Ini.ReadSections(Sec);
for i := 0 to Sec.Count-1 do begin
sDatum := ini.ReadString(Sec.Strings[i], 'Datum', '');
sUhrzeit := ini.ReadString(Sec.Strings[i], 'Uhrzeit', '');
sBetreff:= ini.ReadString(Sec.Strings[i], 'Betreff', '');
li := ListView1.Items.Add;
li.Caption := sDatum;
li.SubItems.Add(sUhrzeit);
li.SubItems.Add(sBetreff);
end;
Ini.Free;
Sec.Free;
end;
Ich hab gelernt das man nach einem Create wie bei "ini" oder "sec" das ganze in einen Try..Finally..End-Block packen sollte:
Delphi-Quellcode:
var
i: integer;
Sec: TStringList;
Ini: TIniFile;
sDatum, sUhrzeit, sBetreff: String;
li: TListItem;
begin
Sec := TStringList.Create;
Ini := TIniFile.Create(ExtractFilePath(Application.ExeName)+'Termine.ini');
try
Ini.ReadSections(Sec);
for i := 0 to Sec.Count-1 do begin
sDatum := ini.ReadString(Sec.Strings[i], 'Datum', '');
sUhrzeit := ini.ReadString(Sec.Strings[i], 'Uhrzeit', '');
sBetreff:= ini.ReadString(Sec.Strings[i], 'Betreff', '');
li := ListView1.Items.Add;
li.Caption := sDatum;
li.SubItems.Add(sUhrzeit);
li.SubItems.Add(sBetreff);
end;
finally
Ini.Free;
Sec.Free;
end;
end;
Sebastian Ehemals bekannt als General2004
|
|
Zitat
|