Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Variablen in Textdateien speichern und abrufen (https://www.delphipraxis.net/12296-variablen-textdateien-speichern-und-abrufen.html)

TheBluescreen 24. Nov 2003 17:37


Variablen in Textdateien speichern und abrufen
 
Hi!

Ich möchte bei einem klick auf einen Button eine Variable (integer) als externe Datei speichern. Der Name soll vordefiniert sein. Bei einem Klick auf einen anderen Button soll diese Variable wieder geladen und in einem Label angezeigt werden.

Ich habe mir bereits http://www.delphipraxis.net/internal...variable+datei angeguckt, aber dadraus bin ich auch nicht schlau geworden... :gruebel:

MfG

TheBluescreen

sharkx 24. Nov 2003 17:44

Re: Variablen in Textdateien speichern und abrufen
 
Nutz Ini Files..

Ein Beispiel gibts in der Hilfe oder auch sicher hier im Board.

r_kerber 24. Nov 2003 17:45

Re: Variablen in Textdateien speichern und abrufen
 
Hallo TheBluescreen,

warum nimmst Du dafür nicht eine ini-Datei (Klasse TIniFile).

himitsu 24. Nov 2003 17:51

Re: Variablen in Textdateien speichern und abrufen
 
Ein Hallöle von http://www.FrankNStein.de/Smiley-Wolke.gif,

oder kurz und knapp.
Delphi-Quellcode:
Var Datei: File of Integer;
  Wert: Integer;

{speichern}
AssignFile(Datei, 'Datei.Name');
Rewrite(Datei);
Write(Datei, Wert);
CloseFile(Datei);

{lesen}
AssignFile(Datei, 'Datei.Name');
Reset(Datei);
Read(Datei, Wert);
CloseFile(Datei);
PS: kleiner bekommt keiner die Datei (nur 4 Byte)


Add:
Wenn es unbedingt eine Textdatei sein muß, geht das ähnlich:
Delphi-Quellcode:
Var Datei: TextFile;
  S: String;
  Wert: Integer;

{speichern}
AssignFile(Datei, 'Datei.Name');
Rewrite(Datei);
WriteLn(Datei, IntToStr(Wert));
CloseFile(Datei);

{lesen}
AssignFile(Datei, 'Datei.Name');
Reset(Datei);
ReadLn(Datei, S);
Wert := StrToInt(S);
CloseFile(Datei);
http://www.delphipraxis.net/images/common/divider.jpg
http://www.FrankNStein.de/Smiley-Kuss.gif * * http://www.FrankNStein.de/Smiley-Spinne.gif * * * http://www.FrankNStein.de/Smiley-Winken.gif

TheBluescreen 24. Nov 2003 18:03

Re: Variablen in Textdateien speichern und abrufen
 
schonmal Danke an himitsu!

Das Speichern scheint einwandfrei zu funktionieren! Jedoch beim Laden der Datei erscheint der Fehler "Project Project1.exe raised exception class EInOutError with message 'I/O error 103'..." und er zeigt bei

Code:
procedure TForm1.Laden1Click(Sender: TObject);
begin
AssignFile(Datei, 'Datei.dat');
Read(Datei, Wert);
CloseFile(Datei);
n:=Wert;
end;
auf Read(Datei, Wert);

devnull 24. Nov 2003 18:07

Re: Variablen in Textdateien speichern und abrufen
 
Hi BlueScreen,

Zitat:

Code:
procedure TForm1.Laden1Click(Sender: TObject);
begin
AssignFile(Datei, 'Datei.dat');
Read(Datei, Wert);
CloseFile(Datei);
n:=Wert;
end;
erweitere deinen Code doch mal um folgende zeilen:

Delphi-Quellcode:
procedure TForm1.Laden1Click(Sender: TObject);
var datei : textfile;
begin
  AssignFile(Datei, 'Datei.dat');
  // GANZ WICHTIG
  // öffnet datei zum lesen ,siehe hilfe
  {$I-}
    reset (datei);
  {$I+}
  // Hoffe, dass diesmal das so stimmt :angle:
  if IOResult <> 0 then RaiseLastOSError;
  Read(Datei, Wert);
  CloseFile(Datei);
  n:=Wert;
end;
:cheers: devnull

TheBluescreen 24. Nov 2003 18:12

Re: Variablen in Textdateien speichern und abrufen
 
:bouncing4: :dancer:

juhu! Danke! Da hab ich wohl nicht gut abgeschrieben :roll:

Echt super Board! :thuimb:

himitsu 24. Nov 2003 18:32

Re: Variablen in Textdateien speichern und abrufen
 
Noch mal das, was devnull schon sagen wollte:
Delphi-Quellcode:
{lesen}
AssignFile(Datei, 'Datei.Name');
{$I-}  Reset(Datei); {$I+}
If IOResult = 0 Then Begin
  If FileSize(Datei) = 4 Then
    Read(Datei, Wert)
  Else Wert := 0;  {*}
  CloseFile(Datei);
End Else Wert := 0; {dieser Wert wird verwendet, wenn die Datei }
                    {fehlerhaft oder nicht vorhanden ist}
http://www.delphipraxis.net/images/common/divider.jpg
http://www.FrankNStein.de/Smiley-Kuss.gif * * http://www.FrankNStein.de/Smiley-Spinne.gif * * * http://www.FrankNStein.de/Smiley-Winken.gif


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:06 Uhr.

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