Entwickler-Ecke

Dateizugriff - Dynamisches Array mit Records speichern und einladen


Delete - Mi 01.08.07 18:03
Titel: Dynamisches Array mit Records speichern und einladen
Moin,
Ich komme nicht weiter. Ich habe verschachtelte Records in ein dynamisches Array geladen:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
type TArt = (Stadt,Land,Autobahn,Nachtfahrt); //Mögliche Typen von Fahrten

     TFahrt = Record   //enthält Länge und Art der Fahrt aus TArt
                Art:TArt;
                Zeit:Integer;
              end;

type TNachweis =  Record  //enthält Datum und Fahrt-Daten aus TFahrt
                    Datum:TDate;
                    Fahrt:TFahrt;
                  end;

TDaten = Array of TNachweis; //enhält alles zusammen

Nun habe ich noch eine Variable deklariert

Delphi-Quelltext
1:
VAR Daten:TDaten;                    

Und habe ich versucht das Array mit folgendem Code zu speichern:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
procedure TForm1.SaveDates;
  VAR f: file of TDaten;
      i:Integer;
begin
  assignfile(f,'C:\test.dat');
  ReWrite(f);
    if low(Daten) <> -1 then
      begin
        for i:= 0 to High(Daten) do
          begin
            write(f,Daten[i]);
          end;
      end;
  closefile(f);
end;

Allerdings gibt es folgende Fehler:

Quelltext
1:
2:
Typ 'TDaten' benötigt Finalization - nicht im Dateityp erlaubt
Inkompatible Typen: 'TDaten' und 'TNachweis'


Ich werde allerdings nicht schlau daraus. Kann jemand helfen?


Narses - Mi 01.08.07 18:11
Titel: Re: Dynamisches Array mit Records speichern und einladen
Moin!

Wenn ich das richtig sehe, dann sollte das doch wohl einer ein:

Delphi-Quelltext
1:
var f: file of TNachweis;                    

sein, oder? ;)

cu
Narses


Delete - Mi 01.08.07 18:21

Ich finde es immer wieder phänomenal das ich die einfachsten Fehler nicht finde ... :roll:
Vielen Dank! :D