Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Inhalt wird nicht gespeichert? (https://www.delphipraxis.net/115844-inhalt-wird-nicht-gespeichert.html)

mo_greene 18. Jun 2008 20:51


Inhalt wird nicht gespeichert?
 
Hallo,

wie ihr sicherlich schon mitbekommen habt, bin ich gerade ziemlich intensiv am Programmieren.

Leider habe ich mal wieder ein Problem: Ich speicher diverse Inhalte in einem Filestream und lese die auch wieder aus.

Der Inhalt des folgenden Edit-Feldes wird leider nicht gespeichert und ich weiß irgendwie nicht warum nicht? :(

Delphi-Quellcode:
GesMengeEdt.Text := IntToStr(sum);
Hier wird der Inhalt des Edit-Feldes in eine Variable geschrieben:

Delphi-Quellcode:
cock.SetGesMenge(GesMengeEdt.Text);

Delphi-Quellcode:
procedure cock.SetGesMenge (n : string);
begin
  GesMenge := n;
end;

Hier wird der Inhalt (neben vielen anderen Sachen) gespeichert:

Delphi-Quellcode:
  FS.Write(GesMenge,sizeOF(GesMenge));

Leider erscheint in der .dat Datei nichts. Alles andere, was ich so abspeicher, steht in der .dat Datei drin. Jedoch der Inhalt des o.g. Edit-Feldes nicht.

Woran kann das liegen? :(

mkinzler 18. Jun 2008 20:52

Re: Inhalt wird nicht gespeichert?
 
Zeig mal das komplette Codefragment

mo_greene 18. Jun 2008 20:53

Re: Inhalt wird nicht gespeichert?
 
Codefragment von?

mkinzler 18. Jun 2008 20:55

Re: Inhalt wird nicht gespeichert?
 
Des ganzen Vorgangs der Speicherung ( von der Erzeugung des Streams bis zum Schliessen desgleichen)

mo_greene 18. Jun 2008 20:57

Re: Inhalt wird nicht gespeichert?
 
Zitat:

Zitat von mkinzler
Des ganzen Vorgangs der Speicherung ( von der Erzeugung des Streams bis zum Schliessen desgleichen)

Ich denke, dass dies nicht nötig ist, da die Speicherung der restlichen Elemente funktioniert.

Delphi-Quellcode:

procedure TAuto.InDateiSchreiben (var Fs : TFilestream);
(* -------------------------------------------------------------------- *)
var
  i : integer;
begin
  FS.Write(Name, sizeOF(Name));
  FS.Write(Kennzeichen, sizeOF(Kennzeichen));
  FS.Write(GeschGer, sizeOF(GeschGer));
  FS.Write(Farbe, sizeOF(Farbe));
  FS.Write(Preis, sizeOF(Preis));
  FS.Write(DX, sizeOF(DX));
  FS.Write(GesMenge,sizeOF(GesMenge)); //wird, wie gesagt nicht gespeichert :(
Delphi-Quellcode:
procedure TListe.Store(Dateiname : string);
(* -------------------------------------------------------------------- *)
var Elem : TElement;
    Fs   : TFilestream;

begin
  DeleteFile(Dateiname);
  Fs := TFilestream.Create(Dateiname, fmCreate);

  if not IsEmpty
  then begin
         Fs.Write(Lilaenge, SizeOf(Lilaenge));
         First;
         while NOT EoList do
         begin
           Elem := GetElement;
           Elem.InDateiSchreiben (Fs);
           inc(AktuellePos);
         end;
       end;
  Fs.Free;
end;

mkinzler 18. Jun 2008 21:01

Re: Inhalt wird nicht gespeichert?
 
Dieser Klassenmethgodenaufruf wird nicht funktionieren:
Delphi-Quellcode:
cock.SetGesMenge(GesMengeEdt.Text);

mo_greene 18. Jun 2008 21:02

Re: Inhalt wird nicht gespeichert?
 
Warum nicht?

Ich habe ihn soeben geändert:

Delphi-Quellcode:
Auto.SetGesMenge(GesMengeEdt.Text);

FAlter 18. Jun 2008 21:02

Re: Inhalt wird nicht gespeichert?
 
Hi,

das übliche Problem: Ein String ist ein Zeiger. Den speicherst du, nicht den Inhalt des Strings.

Mfg
FAlter

mo_greene 18. Jun 2008 21:03

Re: Inhalt wird nicht gespeichert?
 
Zitat:

Zitat von FAlter
Hi,

das übliche Problem: Ein String ist ein Zeiger. Den speicherst du, nicht den Inhalt des Strings.

Mfg
FAlter

Und was heißt das? Ich mach es doch nicht anders, als mit den anderen Inhalten?? :cry:

mkinzler 18. Jun 2008 21:05

Re: Inhalt wird nicht gespeichert?
 
Delphi-Quellcode:
Warum nicht?
Dem Code nach heißt die Klasse cock


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

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