Aber es klemmt schon bei 'Assign (Datei, 'daten.dat');
Da hast du recht, das wurde bei FPC und Delphi geändert, da Assign für andere Zwecke gebraucht werden.
So lässt es sich kompilieren.
Code: Alles auswählen
AssignFile(Datei, 'daten.dat');
{$I-}
Reset(Datei); (* Datei zum Lesen oeffnen; die Compilerdirektive verhindert Fehlermeldungen *)
Read(Datei, Datensatz); (* die gesamte Struktur einlesen *)
CloseFile(Datei);
Da hast du ein super Tutorial erwischt, von diesem würde ich die Finger lassen.
Bei "file of" stellt man ein f davor.
Da wird nicht mal gezeigt, wie man einen Type richtig deklariert.
Dies hat einen grossen Vorteil, wen man eine Quell-Code lesen will.
Richtig sieht dies so aus:
Code: Alles auswählen
type
TDaten = record
Name: string[50];
Adresse: string[255];
Telefonnummer: string[15];
end;
TGesamte_Daten = array [1..100] of TDaten;
var
Datensatz: TGesamte_Daten;
i: Integer; // ist besser al 1..100, somit kannst du 4'000'000'000 Datensätze speichern.
fDatensatz: file of TGesamte_Daten;
Das schlimmste, du hast GUI und Konsole gemischt.
Um dies zu verhindern, macht unter Lazarus "Datei neu.../Einfaches Programm", somit bist du das ganze GUI-Zeugs los.
Ich möchte nacher auch das mein Code auch auf Linux läuft, desshalb lasse ich das mal mit AllocConsole.
Dies klappt auch unter Linux, da geht dies mit GUI32 nicht, aber es gibt auch eine Lösung.
Wen etwas nicht klappt, einfach weiter Fragen.
