Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi TListView: Wie speichert/lädt man Daten?! (https://www.delphipraxis.net/26069-tlistview-wie-speichert-laedt-man-daten.html)

rantanplan99 25. Jul 2004 08:39

Re: TListView: Wie speichert/lädt man Daten?!
 
Ich habs mal getestet.

1) statt TStrings musst du TStringList verwenden

2) for i := 0 to Sec.Count - 1 do begin

Warum es dann aber keine Sections findet weiss ich nicht. Wenn ich es mit WIN.INI probiere funktioniert es (mal abgesehen davon dass keine Werte in das ListView geschrieben werden sondern nur leere Zeilen hinzugefügt werden.

Ich schlage vor du überlegst dir ne andere Art und Weise des abspeicherns deiner Werte.

rantanplan99 25. Jul 2004 08:53

Re: TListView: Wie speichert/lädt man Daten?!
 
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;

MCXSC 26. Jul 2004 15:19

Re: TListView: Wie speichert/lädt man Daten?!
 
Danke Leute! Ihr seid die besten!

Nalincah 26. Jul 2004 15:56

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

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;

MaM 2. Aug 2005 21:58

Re: TListView: Wie speichert/lädt man Daten?!
 
[12.12.2004 - 12:31]
Datum=12.12.2004
Uhrzeit=12:31
Betreff=Treffen I

[13.12.2004 - 12:11]
Datum=13.12.2004
Uhrzeit=12:11
Betreff=Treffen II

Wie kann ich im oben angebenen Format meine Werte in der Ini speichern?
Speziell das Datum und die Uhrzeit in der Section.




MaM

MaM 3. Aug 2005 12:08

Re: TListView: Wie speichert/lädt man Daten?!
 
Ich meine natürlich nicht, wie ich generell in eine Ini schreibe, das ist kein Problem. Nur weiß ich nicht, wie ich das Datum und die Uhrzeit in die Section kriege.




MaM

The-X 4. Aug 2005 00:42

Re: TListView: Wie speichert/lädt man Daten?!
 
Delphi-Quellcode:
TIniFile.WriteDate
TIniFile.WriteTime
TIniFile.WriteDateTime
und dazugehörig:
Delphi-Quellcode:
TIniFile.ReadDate
TIniFile.ReadTime
TIniFile.ReadDateTime
die Werte sind jeweils vom Typ TDateTime

Luckie 4. Aug 2005 01:52

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

Zitat von MCXSC
Das geht auch nicht. Da kommt immer die Fehlermeldung "Abstrakter Fehler". Ich habe den QUelltext mal angehangen, vielleicht kann mir damit ja jemand helfen...

Nimm statt TStrings TStringList. TStrings ist nur eine abstrakte Klasse, die nur als Bauplan für davon abgeleiteten Klassen benutzt wird.

Luckie 4. Aug 2005 01:53

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

Zitat von MaM
Ich meine natürlich nicht, wie ich generell in eine Ini schreibe, das ist kein Problem. Nur weiß ich nicht, wie ich das Datum und die Uhrzeit in die Section kriege.

Für eine neuen Frage erstell bitte einen neuen Thread.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:47 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz