Einzelnen Beitrag anzeigen

Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#1

Record mit array in Datei schreiben?

  Alt 3. Feb 2005, 20:40
Hallo allerseits,

ich habe folgende Datenstruktur:

Delphi-Quellcode:
type
  TComponentEntry = record
    sComponentName: String;
    cCaption: TCaption;
    cHint: TCaption;
  end; //type TComponentEntry = record

  TFormEntry = record
    sFormName: String;
    cCaption: TCaption;
    ComponentEntries: array of TComponentEntry;
  end; //type TFormEntry = record

  TLanguageEntry = record
    sLanguageName: String;
    FormEntries: array of TFormEntry;
  end; //type TLanguageEntry = record

var
  LanguageEntries: array of TLanguageEntry;
Diese Struktur dient dazu, alle Texte fuer meine Anwendung zu speichern, so dass diese auch schnell gewechselt werden. Nun moechte ich die Texte aber nicht jedesmal neu aus der ini-Datei laden, sondern das LanguageEntries-Array direkt in eine Datei schreiben und neu auslesen.
Ich habe bereits folgendes versucht:
Speichern
Delphi-Quellcode:
var
  MS: TMemoryStream;
begin
  ShowMessage(IntToStr(Length(LanguageEntries)));
  MS := TMemoryStream.Create;
  try
    MS.Position := 0;
    MS.Write(LanguageEntries, SizeOf(LanguageEntries));
    MS.SaveToFile('C:\temp.tmp');
  finally
    MS.Free;
  end;
  ShowMessage('Saved');
Laden:
Delphi-Quellcode:
var
  MS: TMemoryStream;
begin
  MS := TMemoryStream.Create;
  try
    MS.Position := 0;
    MS.LoadFromFile('C:\temp.tmp');
    MS.Read(LanguageEntries, SizeOf(LanguageEntries));
  finally
    MS.Free;
  end;
  ShowMessage(IntToStr(Length(LanguageEntries)));
Nun, beim Speichern kam keine Fehlermeldung, kein gar nichts, die Datei wurde sogar geschrieben, und zwar mit folgendem Inhalt (Hex):
Code:
00 00 00 00 FF FF FF FF
Vor dem Speichern war eben ein Spracheintrag mit insg. 4 Forms und wasweisich wieviel Komponenten pro Form, nach dem Laden nichts.

Hat jemand eine Idee wie ich diese Struktur speichern kann? Die Texte sollten auch nicht unbedingt im Klartext drinstehn, ich haette lieber sowas wie bei einem File of <Datentyp>

Thanx and Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat