AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Inhalt wird nicht gespeichert?

Ein Thema von mo_greene · begonnen am 18. Jun 2008 · letzter Beitrag vom 18. Jun 2008
Antwort Antwort
Seite 1 von 2  1 2      
mo_greene

Registriert seit: 10. Dez 2006
Ort: Berlin
136 Beiträge
 
Turbo Delphi für Win32
 
#1

Inhalt wird nicht gespeichert?

  Alt 18. Jun 2008, 21:51
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?

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

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

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

  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?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Inhalt wird nicht gespeichert?

  Alt 18. Jun 2008, 21:52
Zeig mal das komplette Codefragment
Markus Kinzler
  Mit Zitat antworten Zitat
mo_greene

Registriert seit: 10. Dez 2006
Ort: Berlin
136 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Inhalt wird nicht gespeichert?

  Alt 18. Jun 2008, 21:53
Codefragment von?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Inhalt wird nicht gespeichert?

  Alt 18. Jun 2008, 21:55
Des ganzen Vorgangs der Speicherung ( von der Erzeugung des Streams bis zum Schliessen desgleichen)
Markus Kinzler
  Mit Zitat antworten Zitat
mo_greene

Registriert seit: 10. Dez 2006
Ort: Berlin
136 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Inhalt wird nicht gespeichert?

  Alt 18. Jun 2008, 21:57
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;
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Inhalt wird nicht gespeichert?

  Alt 18. Jun 2008, 22:01
Dieser Klassenmethgodenaufruf wird nicht funktionieren:
cock.SetGesMenge(GesMengeEdt.Text);
Markus Kinzler
  Mit Zitat antworten Zitat
mo_greene

Registriert seit: 10. Dez 2006
Ort: Berlin
136 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Inhalt wird nicht gespeichert?

  Alt 18. Jun 2008, 22:02
Warum nicht?

Ich habe ihn soeben geändert:

Auto.SetGesMenge(GesMengeEdt.Text);
  Mit Zitat antworten Zitat
Benutzerbild von FAlter
FAlter

Registriert seit: 21. Jul 2004
Ort: Ostfildern
1.096 Beiträge
 
FreePascal / Lazarus
 
#8

Re: Inhalt wird nicht gespeichert?

  Alt 18. Jun 2008, 22:02
Hi,

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

Mfg
FAlter
Felix Alter
  Mit Zitat antworten Zitat
mo_greene

Registriert seit: 10. Dez 2006
Ort: Berlin
136 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Inhalt wird nicht gespeichert?

  Alt 18. Jun 2008, 22:03
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??
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Inhalt wird nicht gespeichert?

  Alt 18. Jun 2008, 22:05
Warum nicht? Dem Code nach heißt die Klasse cock
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:29 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