Registriert seit: 8. Sep 2005
2 Beiträge
|
E/A-Fehler 103
10. Sep 2005, 21:54
Hi,
ich habe folgendes Problem. Mit dem unten dargestellten Code (Auszug aus dem Gesamtcode) soll ein Datenlogger programmiert werden, also ein Programm was ermöglicht Messwerte z.B. in einer Datei abzuspeichern. In meinem Beispiel erstelle ich ein CSV-Datei (kann von Excel gelesen werden). Es sollen immer 2000 Werte in eine Datei geschrieben werden und dann die nächste angelegt werden. Aber nachdem die Datei angelegt wurde und anscheinend Werte reingeschrieben wurden, kommt beim Ausführen der Anweisung closeFile(Datei) eine Exception der Klasse EInOutError mit der Meldung E/A-Fehler 103. Ich habe schon in der Delphi Hilfe nachgeschaut und dort stand '103 Datei nicht geöffnet'. Wenn ich dann die erstellte Datei öffne, ist sie leer. Wenn ich allerdings vorm else closeFile(Datei) schreibe, dann wird eine Messwertreihe (also eine Zeile) gespeichert. Und nun komme ich nicht mehr weiter denn ich will ja 2000 Werte in einer Datei speichern.
Danke schonmal für Eure Bemühungen.
MfG
McSchuh
Delphi-Quellcode:
if ZaehlerMesswerte < 2000 then
begin
ZaehlerMesswerte := ZaehlerMesswerte+1;
DatumZeit := FormatDateTime('yyyymmddhhmmss', now);
assignFile(Datei, DateiPfad+DatumZeit+'.csv');
rewrite(Datei);
writeln(Datei,'Strom,Spannung,CosPhi,Temperatur,Uhrzeit');
writeln(Datei,Edit1.Text,',',Edit2.Text,',',Edit3.Text,',',Edit4.Text,',',Edit6.Text);
end
else
begin
closeFile(Datei);
assignFile(Datei, DateiPfad+DatumZeit+'.csv');
rewrite(Datei);
ZaehlerMesswerte := 0;
writeln(Datei,'Strom,Spannung,CosPhi,Temperatur,Uhrzeit');
writeln(Datei,Edit1.Text,',',Edit2.Text,',',Edit3.Text,',',Edit4.Text,',',Edit6.Text);
end;
[edit=Christian Seehase]Delphi-Tags gesetzt. Bitte künftig selber machen. Danke. Mfg, Christian Seehase[/edit]
|