Thema: Delphi E/A-Fehler 103

Einzelnen Beitrag anzeigen

McSchuh

Registriert seit: 8. Sep 2005
2 Beiträge
 
#1

E/A-Fehler 103

  Alt 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]
  Mit Zitat antworten Zitat