AGB  ·  Datenschutz  ·  Impressum  







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

Array- Variable in Datei speichern

Ein Thema von cook · begonnen am 18. Dez 2003 · letzter Beitrag vom 18. Dez 2003
Antwort Antwort
cook

Registriert seit: 4. Nov 2003
Ort: Ilmenau
37 Beiträge
 
Delphi 6 Enterprise
 
#1

Array- Variable in Datei speichern

  Alt 18. Dez 2003, 18:53
Hallo, folgendes:

Ich will ein zweidimensionales, dynamisches Array
Delphi-Quellcode:
type aRaumposition = array of array of Boolean;
Raumposition: aRaumposition;
in eine Datei speichern. Meine Speicherprozedur sieht folgendermaßen aus
Delphi-Quellcode:
procedure TForm1.Projektspeichern1Click(Sender: TObject);
var wrProjekt: TWriter;
    i: integer;
begin
  RegisterClass(TRaum);
  SaveDialog.DefaultExt:='map';
  SaveDialog.Filter:='Alle Dateien |*.*|Map-Files (*.map)|*.MAP';
  SaveDialog.FilterIndex:= 2;
  if SaveDialog.execute then
  begin
    strFile := TFileStream.Create(SaveDialog.FileName, fmCreate);
    wrProjekt := TWriter.Create(strFile, 2000);
    wrProjekt.WriteString(FRaum.ClassName); // Raumklasse speichern
    FRaum.WriteToFile(wrProjekt); // Raumdaten speichern
  wrProjekt.destroy; //Writer freigeben
  strFile.destroy; // Stream freigeben
end;
end;
Wie krieg ich jetzt die private Variable Raumposition von TForm1 gespeichert? FRaum ist ja eine Instanz und wird über die Prozedur WriteToFile gespeichert, aber wie funzt das bei Variablen?

Danke für eure Hilfe.
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: Array- Variable in Datei speichern

  Alt 18. Dez 2003, 19:03
Das Array wirst du nicht als gesamtes auf einmal schreiben können, sondern nur Element für Element.

Da hast du zwei Möglichkeiten. Die erste ist die Anzahl der Elemente der einzelnen Dimensionen als Integer schreiben und dann mit WriteBoolean die einzelnen Werte schreiben.
Die andere ist mit Writer.WriteBeginList/Writer.WriteEndList und dann Reader.ReadListBegin/while not Reader.EndOfList/Reader.ReadEndList (oder so ähnliche Namen).
  Mit Zitat antworten Zitat
cook

Registriert seit: 4. Nov 2003
Ort: Ilmenau
37 Beiträge
 
Delphi 6 Enterprise
 
#3

Re: Array- Variable in Datei speichern

  Alt 18. Dez 2003, 19:20
Ok. Das is natürlich ne Möglichkeit. Da kommt mir die Frage:
Wie bekomme ich die Größe des Arrays raus?
Also bei Raumposition[i,j] das i und das j. Irgendwie mit getLength oder so??
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4

Re: Array- Variable in Datei speichern

  Alt 18. Dez 2003, 19:37
a: array of array of X; Length(a) = Anzahl der ersten Dimension
Length(a[x]) = Anzahl der zweiten Dimension für das x-te Element

Delphi-Quellcode:
for i := 0 to Length(a) - 1 { =High(a) } do
  for j := 0 to Length(a[i]) - 1 { =High(a[i]) } do
    Writer.WriteBoolean(a[i, j]);
  Mit Zitat antworten Zitat
cook

Registriert seit: 4. Nov 2003
Ort: Ilmenau
37 Beiträge
 
Delphi 6 Enterprise
 
#5

Re: Array- Variable in Datei speichern

  Alt 18. Dez 2003, 20:00
Big THX
  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 22:07 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