@ratalert

Hallo,

ich weiß ja nicht, in welcher Programmiersprache Du arbeitest und in welchem Format Du die Daten speichern willst, mein Beispiel schreibt die Daten in eine Tabelle einer Access-Datenbank.

Die DAT-Dateien haben kein Satzendezeichen, sondern sind fortlaufend geschrieben. In der Fahrzeug.dat belegt ein Fahrzeug 515 Zeichen, dann fängt ein neues Fahrzeug an.

::Dateiname = "C:\Programme\Heirue-Soft\FMS32-Pro\Fahrzeug.dat"
::Satzlaenge = 515
::Dateiposition = 1

Öffnen der Tabelle "Fahrzeuge" in der akt. Datenbank

::Set FMS = CurrentDb.OpenRecordset("Fahrzeuge")

Öffnen der Fahrzeug.dat, LOF liest die Länge (Anzahl Zeichen) der Datei, geteilt durch 515 ergibt die Anzahl der Sätze (Fahrzeuge)

::Open Dateiname For Binary As 1
::Dateilaenge = LOF(1)
::Saetzeanzahl = Dateilaenge / Satzlaenge

Eine Schleife mit Anzahl der Fahrzeuge

::For Zaehler = 1 To Saetzeanzahl

Die Var. Eingang wird mit 515 Leerzeichen belegt

::Eingang = String(Satzlaenge, " ")

Jetzt werden 515 Zeichen geholt

::Get 1, Dateiposition, Eingang

In der Tabelle "Fahrzeuge" wird ein neuer Satz angefügt

::FMS.AddNew

In das Feld "Kennung" der Tabelle "Fahrzeuge" werden die linken 8 Zeichen aus Fahrzeug.dat geschrieben.

::FMS!Kennung = Left$(Eingang, 8)

In das Feld "Rufname" werden 30 Zeichen ab Pos. 9 geschrieben.

::FMS!Rufname = Mid$(Eingang, 9, 30)

In das Feld "Bezeichnung" werden 40 Zeichen ab Pos. 39 geschrieben.

::FMS!Bezeichnung = Mid$(Eingang, 39, 40)

Die Tabelle "Fahrzeuge" wird endgültig geschrieben

::FMS.Update

In der Fahrzeug.dat wird der Zeiger 515 Zeichen weitergeschoben

::Dateiposition = Dateiposition + Satzlaenge

und das Spiel beginnt von vorne

::Next Zaehler

In der Fahrzeug.dat ist noch mehr gespeichert, z. B. der letzte Status mit Datum und Uhrzeit, aber das habe ich nicht berücksichtigt, weil ich es nicht brauche.

Man muß natürlich nicht Access verwenden, nach gleichem Schema kann man auch TXT oder CSV erzeugen.

Gruß Ralf