Einzelnen Beitrag anzeigen

Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#14

Re: TListView: Wie speichert/lädt man Daten?!

  Alt 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
  Mit Zitat antworten Zitat