![]() |
Re: Ini-Datei komplett auslesen
Zitat:
Der Valuelisteditor hat zwei Spalten (wie im Delphi Objektinspektor), links stehen die Namen und rechts dann die Werte(Datumswerte). Nun dachte ich mir lad ich die Datumswerte einfach in ne Stringlist und sortier die dann, aber allein beim rausholen der werte scheitere ich schon. :wall: |
Re: Ini-Datei komplett auslesen
Habe hier mal was zusammengebastelt:
Delphi-Quellcode:
Gruß, teebee
// Wandelt ein Datum aus dem Format 'tt.mm.jjjj' in das Format 'jjjjmmtt', so wird es sortierbar
Function MakeSortableDate(Date: String): String; Begin Result := Copy(Date,7,4)+Copy(Date,4,2)+Copy(Date,1,2); End; // die CustomSort-Routine Function DateSort(List: TStringList; i1,i2: Integer):Integer; Begin Result := CompareText(MakeSortableDate(List.Values[List.Names[i1]]),MakeSortableDate(List.Values[List.Names[i2]])); End; procedure TForm1.Button1Click(Sender: TObject); Var mi: TMemIniFile; sl: TStringList; begin mi := TMemIniFile.Create('test.ini'); sl := TStringList.Create; Try mi.ReadSectionValues('Data',sl); sl.CustomSort(DateSort); vle.Strings.Assign(sl); Finally mi.Free; sl.Free; End; end; |
Re: Ini-Datei komplett auslesen
Hallo teebee,
das funktioniert wirklich super, vielen Dank ! :cheers: |
Re: Ini-Datei komplett auslesen
Zitat:
|
Re: Ini-Datei komplett auslesen
Zitat:
|
Re: Ini-Datei komplett auslesen
Und der hält sich nicht an das im System eingestellte Datumsformat? Kann ich eigentlich nicht glauben. Stell in der Systemsteuerung mal das Datumsformat um und probier dann noch mal. Aber warum der zeitaufwendige Weg mit der Stringkopiererei, wenn er gar nicht nötig ist? Nicht dass du mit einem direkten vergleich der Datumswerte schneller bist, du hast außerdem kein Problem mit den Datumsformaten.
|
Re: Ini-Datei komplett auslesen
Wenn das Datum in lesbarer Form vorliegen soll (das unterstelle ich jetzt mal), geht es nur über einen String. Mit dem DateTimePicker kann man über ein nachgeschaltetes FormatDateTime sicherstellen, dass das Format, das in die Ini geschrieben wird, unabhängig von der Systemeinstellung, immer korrekt ist. Um Fehler durch händisches Editieren der Ini zu erkennen, sollte man jeden Datumsstring noch auf Plausibilität untersuchen.
Gruß, teebee |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:10 Uhr. |
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