Hi,
Ich habe ein kleines Problem mit dem Speichern meiner Daten. Und zwar handel es sich bei den Daten um zwei eindimensionale Arrays die ich in eine Datei schreiben möchte.
da ich bisher nur (und auch nur einmal) mit typisierten Dateien gearbeitet hab (was das speichern von Daten angeht) wollte ich das jetzt auch wieder so machen und hab mir mal ein bisschen was zusammengereimt. Allerdings erhalte ich beim Versuch die gespeicherten Daten wieder zu lesen einen Error
Zitat:
---------------------------
Benachrichtigung über Debugger-
Exception
---------------------------
Im Projekt Project2.exe ist eine
Exception der Klasse EInOutError aufgetreten. Meldung: 'E/A-Fehler 103'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK Hilfe
---------------------------
Jetzt weiss ich aber nicht ob der Fehler schon direkt beim speichern im Prinzip vorprogrammiert wird, oder ob beim laden wirklich etwas schief läuft.
Delphi-Quellcode:
//Speichern
procedure TForm1.Button1Click(Sender: TObject);
type TLoecher = record
par: array [1..18] of Integer;
hdcp: array [1..18] of Integer;
end;
var i: Integer;
datei: file of TLoecher;
datensatz: TLoecher;
pfad: String;
begin
if savedialog1.execute then begin
pfad := savedialog1.filename;
AssignFile (datei, pfad);
if FileExists(pfad) then ReSet(datei)
else ReWrite(datei);
seek(datei,0);
for i:=1 to 18 do begin
datensatz.par[i]:=strtoint(TEdit(FindComponent('par'+inttostr(i))).Text);
datensatz.hdcp[i]:=strtoint(TEdit(FindComponent('hdcp'+inttostr(i))).Text);
end;
write(datei,datensatz);
CloseFile(datei);
end;
end;
//Laden
procedure TForm1.Button2Click(Sender: TObject);
type TLoecher = record
par: array [1..18] of Integer;
hdcp: array [1..18] of Integer;
end;
var i: Integer;
datei: file of TLoecher;
datensatz: TLoecher;
pfad: String;
begin
if opendialog1.execute then begin
pfad := opendialog1.filename;
AssignFile (datei, pfad);
seek(datei,0); // <-- Fehler
Read(datei, datensatz);
for i:= 1 to 18 do begin
TEdit(FindComponent('par'+inttostr(i))).Text:=inttostr(datensatz.par[i]);
TEdit(FindComponent('hdcp'+inttostr(i))).Text:=inttostr(datensatz.hdcp[i]);
end;
CloseFile(datei);
end;
end;
Hat jemand spontan ne Idee?
schonmal danke im vorraus