Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Werte speichern und abrufen? (https://www.delphipraxis.net/125460-werte-speichern-und-abrufen.html)

mkinzler 6. Dez 2008 15:09

Re: Werte speichern und abrufen?
 
Wenn man dir ein Tutorial nennt, geht man davon aus, das du es zumindest versuchst zu verstehen. Du scheinst aber nicht mal den Aufbau einer Ini-datei zu verstehen!
Ich wollte dir durch die Blume sagen, das c:\ als Speicherort für eine Ini, recht schlecht ist!

DeddyH 6. Dez 2008 15:19

Re: Werte speichern und abrufen?
 
Wenn man sich die Hilfe von TIniFile durchliest und sich dabei noch meinen Post #3 anschaut, sieht man doch sofort, was mit Section, Ident und Value gemeint ist, dachte ich zumindest.

Siggy 6. Dez 2008 17:42

Re: Werte speichern und abrufen?
 
So ich sahs jetzt einige Zeit dran und habe versucht das alles zu verstehen

Sogar teilweise mit Erfolg.

Also mein WriteBefehl sieht jetzt so aus:

Delphi-Quellcode:
procedure TForm3.Button3Click(Sender: TObject);
begin
  ini := Tinifile.create ('F:\Delphi\BMI\inispeicher.ini');
    try
    ini.WriteString ('BMI-Wert1','Speicherung 1',edit3.text);
    ini.WriteDate  ('Datum1','SpDate1',Dat1); // HIER bin ich mir nicht sicher. Was muss als 3. Wert rein? Ziel ist es das aktuelle Datum zu speichern!
  finally
    ini.free;
end;

Mein ReadBefehl sieht so aus:

Delphi-Quellcode:
procedure TForm4.FormShow(Sender: TObject);
begin
ini := Tinifile.create ('F:\Delphi\BMI\inispeicher.ini');
try
  Speicherung1 := ini.ReadString('BMI-Wert1','Speicherung 1','');
  Dat1 := ini.ReadDate('Datum1','Spdate1',date);
  Label1.Caption := ((Speicherung1));
  Label2.Caption := ((Dat1));
  finally
  ini.Free;
end;
Auch hier bin ich mir wieder nicht sicher was das Datum angeht. Das mit dem BMI Wert speichern klappt schon super. Nur was muss ich ändern, damit ich das aktuelle Datum speichern kann. Und wie lautet dann der korrekte Befehl um das Datum wieder zu lesen?


Siggy

quendolineDD 6. Dez 2008 17:44

Re: Werte speichern und abrufen?
 
Ohne deinen Quelltext angeschaut zu haben würde ich mal sagen du musst die Funktion DateToStr(date) nutzen um dein Datum in einen String konveriteren zu können. Kommt doch bestimmt die Fehlermeldung das die Typen TDate und String nicht übereinstimmen ...

Das Datum liest du ganz normal wie alle anderen Werte aus und interpretierst es als Datum oder String - wie du magst.

toms 6. Dez 2008 17:45

Re: Werte speichern und abrufen?
 
Zitat:

Zitat von Siggy
// HIER bin ich mir nicht sicher. Was muss als 3. Wert rein? Ziel ist es das aktuelle Datum zu speichern!

Date

Siggy 6. Dez 2008 17:53

Re: Werte speichern und abrufen?
 
Mein Write Befehl sieht dann also so aus:

Delphi-Quellcode:
ini.WriteDate  ('Datum1','SpDate1',Date);
Richtig?

Und bei meinem ReadBefehl der so aussieht:

Delphi-Quellcode:
Dat1 := ini.ReadDate('Datum1','Spdate1',date);
Kommt immer CompilerFehler: Inkompatible Typen "string" und "TDateTime"

Was muss ich nun also bei meinem ReadBefehl ändern?



@quendolineDD

Wie und wo verwende ich die Funktion DateToStr(Date) ??

mkinzler 6. Dez 2008 18:02

Re: Werte speichern und abrufen?
 
Dat1 muss vom Typ TDate oder TDateTinme sein

Siggy 6. Dez 2008 18:13

Re: Werte speichern und abrufen?
 
Mh das hab ich doch. Glaub ich zumindest.
Deswegen hier der komplette Code:

Delphi-Quellcode:
var
  Form4: TForm4;
  ini: Tinifile;
  Speicherung1 : string;
  Spdate1 : TDate;
implementation

{$R *.dfm}

procedure TForm4.FormShow(Sender: TObject);
begin
ini := Tinifile.create ('F:\Delphi\BMI\inispeicher.ini');
try
  Speicherung1 := ini.ReadString('BMI-Wert1','Speicherung 1','');
  Spdate1 := ini.ReadDate('Datum1','Spdate 1',date);
  Label1.Caption := ((Speicherung1));
  Label2.Caption := ((SpDate1));
  finally
  ini.Free;
end;


end;

end.

mkinzler 6. Dez 2008 18:17

Re: Werte speichern und abrufen?
 
Delphi-Quellcode:
Label1.Caption := Speicherung1;
Label2.Caption := DateToStr(SpDate1); // oder FormatDateTime
Falls es nur um die Anzeige geht könntest du auch gleich in die Labels lesen:
Delphi-Quellcode:
Label2.Caption := ini.ReadString('Datum1','Spdate 1',DateToStr(Date));

Siggy 6. Dez 2008 18:26

Re: Werte speichern und abrufen?
 
Oh man ich bin doch echt bescheuert :oops:

Vielen Dank!!

Noch eine weitere Frage:

Ich habe ja jetzt einen Pfad vorgegeben. Nur wie ist das wenn ich jetzt das Programm weitergeben will (an Lehrer, Freunde etc.), dann haben die ja nicht alle unbedingt den gleichen Pfad : "F:\Deplpi\Bmi\..."

Gibt es einen Befehl, damit Die .ini Datei immer im gleichen Ordner ist wie die .exe des Programms? Also egal wo ich die .exe ausführe?


Siggy


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:27 Uhr.
Seite 2 von 3     12 3      

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