AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Problem beim Speichern eines einer Klasse in Textdatei
Thema durchsuchen
Ansicht
Themen-Optionen

Problem beim Speichern eines einer Klasse in Textdatei

Ein Thema von changlee · begonnen am 4. Dez 2004 · letzter Beitrag vom 4. Dez 2004
Antwort Antwort
changlee
(Gast)

n/a Beiträge
 
#1

Problem beim Speichern eines einer Klasse in Textdatei

  Alt 4. Dez 2004, 16:48
Hallo,
ich habe ein Problem beim speichern einer Variable.

Ich habe folgende Typdeklarationen geschrieben:

Delphi-Quellcode:
type
  TSpezial = record
    moeglich : boolean;
    hinweis: string[20];
    TextausMemo : TStrings;
  end;

  TDaten = record
    titel,Hinweis:string[20];
    TextAusMemo : TStrings;
    ready : boolean;
    spezielles: TSpezial;
  end;
Später weise ich den alle Werte zu und möchte diese Varaiable speichern.
Zum Speichern schrieb ich:

Delphi-Quellcode:
procedure TForm1.Speichern(Sender: TObject);
var index,n, i : integer;
    F : file of TDaten;
    Datensatz : TDaten;
begin
  Datensatz.Create;
  DatenZuweisen(Datensatz);
  assignfile(F,'test.txt');
  Rewrite(F);
  write(F,Datensatz);
  closefile(F);
  Datensatz.Free;
end;
Ich verstehe nicht, warum es nicht funktioniert. (Ich bekomme einen Fehler: Lesen von Adresse 00000 usw.)

Kann mir jemand sagen, woran es liegt, und wie es richtig geht?

Ich hab es auch schon mit einem Record probiert. Aber dann wird der Text aus aus den TStrings-Variablen scheinbar nicht korrekt gespeichert.

Wär nett, wenn mir jemand helfen würde..

mfg
changlee
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

Re: Problem beim Speichern eines einer Klasse in Textdatei

  Alt 4. Dez 2004, 16:51
Du kannst nicht den Konstruktor eines nicht existierenden Objekts aufrufen
So müsste es gehen:
Delphi-Quellcode:
procedure TForm1.Speichern(Sender: TObject);
var index,n, i : integer;
    F : file of TDaten;
    Datensatz : TDaten;
begin
  Datensatz := TDaten.Create;
  DatenZuweisen(Datensatz);
  assignfile(F,'test.txt');
  Rewrite(F);
  write(F,Datensatz);
  closefile(F);
  Datensatz.Free;
end;
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#3

Re: Problem beim Speichern eines einer Klasse in Textdatei

  Alt 4. Dez 2004, 16:55
Es ist leider ganz einfach gesagt: Du kannst Records mit Objekten (wie TStrings) nicht einfach so speichern. Da musst Du Dir einen anderen Ansatz suchen.

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
moritz

Registriert seit: 18. Apr 2003
1.037 Beiträge
 
#4

Re: Problem beim Speichern eines einer Klasse in Textdatei

  Alt 4. Dez 2004, 16:58
Mir wurde damals gesagt, dass es mit packed records gehen würde...
"Optimistisch ist diejenige Weltanschauung, die das Sein höher als das Nichts stellt und so die Welt und das Leben als etwas an sich Wertvolles bejaht."
Albert Schweitzer
  Mit Zitat antworten Zitat
changlee
(Gast)

n/a Beiträge
 
#5

Re: Problem beim Speichern eines einer Klasse in Textdatei

  Alt 4. Dez 2004, 17:07
Hallo,
ich habe oben einen kleinen Fehler gemacht. Meine Dypdeklaration lautet:

Delphi-Quellcode:
type
  TSpezial = class
    moeglich : boolean;
    hinweis: string;
    TextausMemo : TStrings;
  end;

  TDaten = class
    titel,Hinweis:string;
    TextAusMemo : TStrings;
    ready : boolean;
    spezielles: TSpezial;
  end;
An Dax:
Ich habs ausprobiert. Jetzt hakt das Programm allerdings an einer Anderen Stelle.

Muss ich evtl. auch TextAusMemo erst mit Create erstellen? Oder wird das automatisch mit erstellt, wenn man TDaten.Create aufruft?

Aber trotzdem danke..

mfg
changlee
  Mit Zitat antworten Zitat
changlee
(Gast)

n/a Beiträge
 
#6

Re: Problem beim Speichern eines einer Klasse in Textdatei

  Alt 4. Dez 2004, 17:14
mmh..
funktioniert auch nicht wenn ich

TextAusMemo : = TStrings.Create; einfüge.

Fehler beim schreiben von Adresse 0006 ..


changlee
  Mit Zitat antworten Zitat
axelf98

Registriert seit: 27. Aug 2003
Ort: Ennepetal
440 Beiträge
 
Delphi 2005 Personal
 
#7

Re: Problem beim Speichern eines einer Klasse in Textdatei

  Alt 4. Dez 2004, 17:27
TextAusMemo : = TStringlist.Create; Niemals von TStrings erstellen... Das ist eine abstrakte Klasse!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Problem beim Speichern eines einer Klasse in Textdatei

  Alt 4. Dez 2004, 17:27
Les sakuras Antwort!
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort


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 03:26 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