![]() |
Re: Komisches Datum mit DateTime und INI-Datei
Ich kann nur sagen, dass ich nicht in einer ini, sondern in einer MySQL-Datenbank auf einem Linux-Rechner gespeichert habe und das Ergebnis war das gleiche...
|
Re: Komisches Datum mit DateTime und INI-Datei
Hallo,
also wenn ich das Datum gleich in einen String umwandel, steht das Datum wieder korrekt in der Ini-Datei, beim auslesen wird allerdings ein leerer Wert zurückgegeben. |
Re: Komisches Datum mit DateTime und INI-Datei
Zitat:
![]() |
Re: Komisches Datum mit DateTime und INI-Datei
Ja, mit DateToStr().
|
Re: Komisches Datum mit DateTime und INI-Datei
Also ich hatte mit
![]() Du könntest ja mal den entsprechenden Codeabschnitt posten. |
Re: Komisches Datum mit DateTime und INI-Datei
Hallo,
das ganze soll eine Fischfangverwaltungssoftware werden, wir fahren morgen los nach Norwegen: Schreiben:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
Var Ini: TInifile; Fangzahl: Integer; Test: String; begin Ini := TInifile.Create(ExtractFilePath(ParamStr(0)) +'angeln.ini'); Fangzahl := Ini.ReadInteger(Combobox1.Text, 'Fangzahl',0); Test := FileListBox1.Directory + FileListBox1.FileName; Ini.WriteString(Combobox1.Text + IntToStr(Fangzahl),'Fischart',combobox2.Text); Ini.WriteString(Combobox1.Text + IntToStr(Fangzahl),'Fischgewicht',Edit1.Text); Ini.WriteString(Combobox1.Text + IntToStr(Fangzahl),'Fischlaenge',Edit2.Text); Ini.WriteString(Combobox1.Text + IntToStr(Fangzahl),'Datum', DateToStr(date1.Date)); // <-- DA Ini.WriteInteger(Combobox1.Text, 'Fangzahl', Fangzahl + 1); Ini.WriteString(Combobox1.Text + IntToStr(Fangzahl),'Bildpfad',Test); Combobox1.Clear; Combobox2.Clear; Edit1.Text := ''; Edit2.Text := ''; Date1.DateTime := Date1.Date; Combobox_fill; end; Lesen:
Delphi-Quellcode:
Weiss nicht ob euch das was nützt, ist nicht sehr sauber programmiert.
procedure tform1.make_tree;
var Ini: TInifile; Node1, Node2, Node3: TTreeNode; i,j,k,l, Angleranzahl, Anglerfischanzahl: Integer; Fangdatum, Name, Fischart, Anglerfischart, ActiveAngler, Fischgewicht, Fischlaenge, Bildpfad: String; deci: Boolean; begin Ini := TInifile.Create(ExtractFilePath(ParamStr(0)) + 'angeln.ini'); Angleranzahl := Ini.ReadInteger('Einstellungen', 'Angleranzahl',0); For i := 0 to Angleranzahl - 1 do begin Name := Ini.ReadString('Angler', 'Angler' + IntToStr(i), ''); node1 := TreeView1.Items.Add(nil, Name); ActiveAngler := Ini.ReadString('Angler','Angler' + IntToStr(i),''); Anglerfischanzahl := Ini.ReadInteger(ActiveAngler, 'Fangzahl', 0); For j := 0 to Anglerfischanzahl - 1 do begin Bildpfad := Ini.ReadString(ActiveAngler + IntToStr(j), 'Bildpfad', ''); Anglerfischart := Ini.ReadString(ActiveAngler + IntToStr(j), 'Fischart', ''); Fischgewicht := Ini.ReadString(ActiveAngler + IntToStr(j), 'Fischgewicht',''); Fangdatum := Ini.ReadString(ActiveAngler + IntToStr(j), 'Fangdatum',''); // <--DA Fischlaenge := Ini.ReadString(ActiveAngler + IntToStr(j), 'Fischlaenge',''); node1 := TreeView1.Items.AddChild(node1, anglerfischart); Treeview1.Items.AddChild(node1, Fischgewicht); Treeview1.Items.AddChild(node1, Fischlaenge); Treeview1.Items.AddChild(node1, Fangdatum); Treeview1.Items.AddChild(node1, Bildpfad); node1 := node1.Parent; end; end; end; |
Re: Komisches Datum mit DateTime und INI-Datei
Zitat:
Ist denn Fangdatum Global bzw. wandelst du Fangdatum in der Gleichen Function/procedure um? denn 30.12.1899 hört sich ziemlich nach "0" an :gruebel: Wirf uns doch mal evtl bissl mer Source in die Runde ^^ [EDIT] :oops: sorry hab die 2te seite übersehen :oops: :wall: [/edit] |
Re: Komisches Datum mit DateTime und INI-Datei
Also beim Schreiben verwendest du
Delphi-Quellcode:
und beim Lesen
Ini.WriteString(Combobox1.Text + IntToStr(Fangzahl),'Datum', DateToStr(date1.Date));
Delphi-Quellcode:
Es wird also immer der Default-Wert zurückgegeben, da 'Fangdatum' und 'Datum' zwei unterschiedliche Strings sind. Es wird also immer ein wert für Datum geschrieben, aber versucht, Fangdatum zu lesen. Da letzterer aber logischerweise nicht in die Ini geschrieben wurde, wird dir immer der default-Wert, bei dir also 0, oder halt der 31.12.1899, zurückgegeben.
Fangdatum := Ini.ReadString(ActiveAngler + IntToStr(j), 'Fangdatum','');
MfG Binärbaum |
Re: Komisches Datum mit DateTime und INI-Datei
Ini.WriteString(Combobox1.Text + IntToStr(Fangzahl),'Datum', DateToStr(date1.Date)); // <-- DA
Fangdatum := Ini.ReadString(ActiveAngler + IntToStr(j), 'Fangdatum',''); // <--DA Mir ist jetzt auf die schnelle (du musst ja bald weg :zwinker:) nur das aufgefallen ... [EDIT]Jetzt schreib ich eh schon so wenig und bin doch wieder zu langsam :roll: [/EDIT] |
Re: Komisches Datum mit DateTime und INI-Datei
Hallo,
sry dass ich so lang genervt habe, ihr habt den Fehler gefunden, ich habe Datum in Fangdatum umgeändert, jetzt geht es. Also vielen, vielen Dank! Gruß Spurius |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:15 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 by Thomas Breitkreuz