Autor Beitrag
olum99
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Di 06.05.03 14:39 
kann ich ein komplettes array wenn möglich 3dimensional mit einem (hoffentlich simplen :wink: ) befehl in eine datei speichern???

wenn nicht, kann mir einer ne gute methode sagen, wie man das noch machen könnte?
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Di 06.05.03 15:23 
Hallo,

ganz einfach wird das nicht. Aber genaueres kann man da erst sagen, wenn du ein Paar Informationen über das Array und die Datrin enthaltenen Daten mitteilst.
Welchen Datentyp haben z.B. die Array Elemente?
Hat das Array besondere Eigenschaften (z.B. immer gleichviele Elemente auf der X, Y, und Z Achse)?

Gruß
Klabautermann
olum99 Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Di 06.05.03 19:17 
das array ist statisch, integer, hat momentan [0..10,0..9,1..4] felder.

ich stell grade fest, dass es so einfach wirklich nich zu sein scheint.
beim 2dimensionalen ging das ganz einfach so
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
procedure TForm1.Button2Click(Sender: TObject);

var f : TFilestream;
    b : boolean;
begin
  b:=true;
  try
    f:=TFilestream.Create('d:\eigene dateien\test.txt',fmCreate);
  except
    Showmessage('Fehler beim Öffnen/Anlegen der Datei');
    b:=false;
  end;
  if b then
  begin
   try

     f.Write(u,sizeof(u));
   except
     Showmessage('Fehler beim schreiben in die datei');
   end;
    
   f.Free
  end;

end;


scheint aber mit 3 dimensionen nicht mehr hinzuhaun.
wulfskin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1349
Erhaltene Danke: 1

Win XP
D5 Pers (SSL), D2005 Pro, C, C#
BeitragVerfasst: Di 06.05.03 21:43 
Komisch komisch. Der Array hat ja eine feste Größe, deshalb kannst du ihn eigentlich so speichern wie du es gemacht hast. Bist du sicher das es so nicht geht?
Ansonsten mit 3 Variablen durchgehen und nacheinander aus- und einlesen. Da die Arrays ja statisch sind, sollte das kein Problem sein, oder sind sie etwas dynamisch?

Gruß wulfskin!

_________________
Manche antworten um ihren Beitragszähler zu erhöhen, andere um zu Helfen.
Alni
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 205

Win 2000, XP, SuSe, Debian
D5 Prof, D7 Prof, Kylix
BeitragVerfasst: Mi 07.05.03 13:24 
Fuer den Fall das die Arrays dynamisch sein sollen einfach am Anfang drei variablen speichern die die Groesse in jeder Dimensionsrichtung speichern.
Und anschliessend so wie Wulfskin gesagt mit 3 Varibalen durchgehen und schreiben. Also etwa so

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
f.write(i,sizeof(i));
f.write(j,sizeof(j));
f.write(k,sizeof(k));
for iz:=0 to i do
for jz:=0 to j do
for kz:=0 to k do
f.write(a[iz,jz,kz],sizeof(a[iz,jz,kz]));


i,j,k sind die groessen, iz,jz,kz sind die Zaehlervariablen, a das array und f der Filestream

_________________
MfG Alex