![]() |
Datum von DateTimePicker in eine Ini File schreiben
Hi Leutz,
hab hier ein kleines Problem... und zwar versuche ich das Datum das ich ausgewählt habe in der Komponente "DateTimePicker" in die Ini zu schreiben... Bis jetzt speichere ich nur Edits aus das klappt auch wunderbar aber wie kann ich das Datum noch hinzufügen?
Delphi-Quellcode:
Hat jemand eine Idee?
var Ini: TIniFile;
i: Integer; begin ini := TIniFile.Create('C:\Versuch.ini'); // Zum Speichern For i := 0 to ComponentCount - 1 do begin If Components[i] Is TEdit then begin with Components[i] as TEdit Do begin ini.WriteString('Daten',name,text); end; end; end; end; MFG |
Re: Datum von DateTimePicker in eine Ini File schreiben
Wieso benutzt Du nicht einfach TIniFile.WriteDate?
|
Re: Datum von DateTimePicker in eine Ini File schreiben
In meiner vorhandenen Ini speichere ich schon Sachen von Editfeldern. Nun muss ich noch das Datum in die Ini speichern aber da hänge ich gerade...Kann man TiniFile.WriteDate in den vorhandenen Code mit einbeziehen?
|
Re: Datum von DateTimePicker in eine Ini File schreiben
Klar kann man.
Delphi-Quellcode:
var Ini: TIniFile;
i: Integer; begin ini := TIniFile.Create('C:\Versuch.ini'); try // Zum Speichern For i := 0 to ComponentCount - 1 do begin If Components[i] Is TEdit then ini.WriteString('Daten',(Components[i] as TEdit).name,(Components[i] as TEdit).text) else if Components[i] is TDateTimePicker then ini.WriteDate('Daten',(Components[i] as TDateTimePicker).name,(Components[i] as TDateTimePicker).Date); //oder auch als String, wenn Dir das lieber ist //ini.WriteString('Daten',(Components[i] as TDateTimePicker).name,FormatDateTime('dd.mm.yyyy',(Components[i] as TDateTimePicker).Date)); end; finally ini.Free; end; end; |
Re: Datum von DateTimePicker in eine Ini File schreiben
Danke dir vielmals klappt wunderbar...
MFG |
Re: Datum von DateTimePicker in eine Ini File schreiben
eine frage hätte ich noch...das jahr wird bei mir in der ini in der letzten zeile angezeigt ich bräuchte es aber in der ersten zeile. jemand einen vorschlag wie ich es hinbekomme?
MFG |
Re: Datum von DateTimePicker in eine Ini File schreiben
Verstehe ich nicht. Kannst Du mal die Datei posten, wie sie ist und wie Du sie gerne hättest? Eigentlich sollte die Zeilenreihenfolge ja keine Rolle spielen, wenn Du sie mit TIniFile wieder ausliest.
|
Re: Datum von DateTimePicker in eine Ini File schreiben
Liste der Anhänge anzeigen (Anzahl: 1)
hier ist das datum in der letzten zeile, ich benötige es aber in der allerersten:)
|
Re: Datum von DateTimePicker in eine Ini File schreiben
Auch wenn ich den tieferen Sinn dahinter nicht sehe, versuch einmal, die Bedingungen innerhalb der Schleife (die mit is) umzudrehen, also zuerst auf TDateTimePicker und erst dann auf TEdit zu prüfen. Dazu musst Du aber wohl vorher die alte Ini löschen.
|
Re: Datum von DateTimePicker in eine Ini File schreiben
Das ist doch völlig unerheblich in welcher Reihenfolge die Werte in der Ini stehen. Denn ausgelesen werden die Wert doch über den Sektions- und Schlüsselnamen. aber wenn du es unbedingt so willst, dann schreib eben das Datum zu erst in die Datei und dann den Rest.
|
Re: Datum von DateTimePicker in eine Ini File schreiben
Zitat:
|
Re: Datum von DateTimePicker in eine Ini File schreiben
ja für euch ist es unerheblich für mich aber nicht...:)
Also ich die bedingungen in der schleife auch mal umgedreht aber es funktionierte trotzdem nicht. Muss doch irgendwie gehen das zuerst das datum und dann die edits ausgegeben werden... Hat jemand noch ein vorschlag? mfg |
Re: Datum von DateTimePicker in eine Ini File schreiben
Hallo Ouou,
das geht schon so wie die es beschrieben haben - ABER - wenn die Werte einmal in einer INI stehen wird deren Reihenfolge nicht mehr geändert sondern nur noch die Werte. Existiert ein Wert in der INI nicht wird in der Sektion eine entsprechende Zeile angehängt. Willst du nun, dass das Datum immer am Anfang steht, kannst du z.B. überlegen die Sektion zu löschen und dann wieder komplett neu zu schreiben. Aber aufpassen, so arbeitet man eigentlich nicht mit INI-Files. Greez, Chris |
Re: Datum von DateTimePicker in eine Ini File schreiben
Zitat:
Zitat:
Also alle Sections sortieren und innerhalb einer Section alle Einträge sortieren. Man könnte auch ein TMemIniFile verwenden und dann GetStrings() aufrufen. Dann die ganze Chose irgendwie in die gewünschte Reihenfolge bringen und SetStrings() aufrufen. Aber das ist den Aufwand nicht wert. |
Re: Datum von DateTimePicker in eine Ini File schreiben
ich hätte hier noch eine frage... kann man bei diesem quellcode
Delphi-Quellcode:
bei der section 'Daten' noch das Datum miteinbeziehen, sodass dann z.b Daten2010 steht? Ich meine nicht einfach mithinschreiben falls ihr das sagen wollt:).
ini.WriteString('Daten',name,text);
MFG |
Re: Datum von DateTimePicker in eine Ini File schreiben
Delphi-Quellcode:
ini.WriteString('Daten'+Datetostr(NOW),name,text);
|
Re: Datum von DateTimePicker in eine Ini File schreiben
Delphi-Quellcode:
Getippt und nicht getestet.
SectionName := Format('Daten%s',[FormatDateTime('yyyy',DeinDatum)]);
Ini.WriteString(SectionName,Key,Value); |
Re: Datum von DateTimePicker in eine Ini File schreiben
Es gibt auch noch andere INI-Implementierungen, welche unter Anderem auch ein "Sortieren" der Einträge erlauben.
Sowas sollte z.B. in ![]() ![]() ![]() |
Re: Datum von DateTimePicker in eine Ini File schreiben
Verbleibt aber immer noch Frage, wozu das gut sein soll.
|
Re: Datum von DateTimePicker in eine Ini File schreiben
hey... also wenn ich diesen Code eingeben
Delphi-Quellcode:
funktioniert alles. Das Problem ist aber das es mir das aktuelle Datum anzeigt ich benötige aber das Datum bzw das Jahr das ich im DateTimePicker verwende.
ini.WriteString('Daten'+DateToStr(now),(Components[i] as TEdit).name,(Components[i] as TEdit).text)
Könnte es so funktionieren?
Delphi-Quellcode:
MFG
ini.WriteString('Daten'+FormatDateTime('yyyy'),(Components[i] as TEdit).name,(Components[i] as TEdit).text)
|
Re: Datum von DateTimePicker in eine Ini File schreiben
Delphi-Quellcode:
so sollte es gehen
ini.WriteString('Daten' + DateToStr(DateTimePicker.Date), (Components[i] as TEdit).name,(Components[i] as TEdit).text);
|
Re: Datum von DateTimePicker in eine Ini File schreiben
Dann hat er ja wieder mehr als das Jahr.
Delphi-Quellcode:
ini.WriteString('Daten'+FormatDateTime('yyyy',DateTimePicker1.Date),(Components[i] as TEdit).name,(Components[i] as TEdit).text)
|
Re: Datum von DateTimePicker in eine Ini File schreiben
danke sehr klappt alles wunderbar :bounce1:
|
Re: Datum von DateTimePicker in eine Ini File schreiben
Ich würde es, vorallem bezüglich der String-/Speicherverwaltung, in etwa so machen:
Delphi-Quellcode:
ini.WriteString(FormatDateTime('"Daten"yyyy', DateTimePicker1.Date),
Components[i].Name, (Components[i] as TEdit).Text); |
Re: Datum von DateTimePicker in eine Ini File schreiben
Und wieso nicht so wie
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:52 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