Einzelnen Beitrag anzeigen

thorstenf01

Registriert seit: 10. Jul 2003
Ort: Kiel
34 Beiträge
 
#1

Fehlermeldung EInOut Error

  Alt 21. Jul 2003, 14:21
Hallo!
Wer kann mir dabei helfen, den folgenden Fehler in der folgenden Ausgabeprozedur zu
finden, so daß die Ausgabe funktioniert.
Ich erhielt beim compilieren folgende Meldung:
"...Exception der Klasse EInOut Error...Meldung:'E/A-Fehler6'...

Code:
procedure TForm3.Button5Click(Sender: TObject);
var
  jk, jj, ss, kk  : integer;
  min, Sum, Sum1, Dif                       : real;
begin
  with StringGrid1 do
 begin
  StringGrid1.FixedCols:=0; StringGrid1.FixedRows:=1;
  StringGrid1.ColCount:=5; StringGrid1.RowCount:=367;
  StringGrid1.Cells[0,0]:='Tag';
  StringGrid1.Cells[1,0]:='Datum';
  StringGrid1.Cells[2,0]:='Abschattungsbeginn';
  StringGrid1.Cells[3,0]:='Abschattungsende';
  StringGrid1.Cells[4,0]:='Belastungszeit';
  kk:=0;
  for jk:=1 to 366 do
    if gSchatA[jk]>0 then begin
      kk:=kk+1;
      Tag:=jk;
      Deklination(Tag);
      AU(Tag);
      tAnfang:=0.1*SchatA[jk]+0.9*gSchatA[jk];
      Besser(tAnfang);
      Dif:= abs(gSchatA[jk]-gZeit);
      if (Dif < 0.00025) or (gZeit=0) then
        gSchatA[jk]:=gZeit
      else
        repeat
          tAnfang:=gSchatA[jk];
          Besser(tAnfang);
          Dif:=abs(gSchatA[jk]-gZeit);
          gSchatA[jk]:=gZeit;
        until Dif < 0.00025;
      tAnfang:=0.1*SchatE[jk]+0.9*gSchatE[jk];
      Besser(tAnfang);
      Dif:= abs(gSchatE[jk]-gZeit);
      if (Dif < 0.00025) or (gZeit=0) then
        gSchatE[jk]:=gZeit
      else
        repeat
          tAnfang:=gSchatE[jk];
          Besser(tAnfang);
          Dif:=abs(gSchatE[jk]-gZeit);
          gSchatE[jk]:=gZeit;
        until Dif < 0.00025;
      if gSchatA[jk]=0 then
        if gSchatE[jk] >0 then
          gSchatA[jk]:=gSchatE[jk];
      if gSchatE[jk]=0 then
        if gSchatA[jk] >0 then
          gSchatE[jk]:=gSchatA[jk];
      Belastung[jk]:=(SchatE[jk]-SchatA[jk])*60;
      gBela[jk]:=(gSchatE[jk]-gSchatA[jk])*60;

      // Zeitumwandlung in Stunden und Minuten
      ss:=trunc(gSchatA[jk]);
      min:=round((gSchatA[jk]-SS)*60);
      if min=60 then begin
        ss:=ss+1;
        min:=0;
      end;
      gSchatA[jk]:=ss+min/100;
      ss:=trunc(gSchatE[jk]);
      min:=round((gSchatE[jk]-ss)*60);
      if min=60 then begin
        ss:=ss+1;
        min:=0;
      end;
      gSchatE[jk]:=ss+min/100;
      Tag:=jk;
      Datum(Tag);
      jj:=Trunc(kk/20);
      if jj= kk/20 then Readln;
      StringGrid1.Cells[0,jk]:=InttoStr(jk);
      StringGrid1.Cells[1,jk]:=InttoStr(Dat)+' '+Monat;
      StringGrid1.Cells[2,jk]:=FormatFloat('0.00', gSchatA[jk]);
      StringGrid1.Cells[3,jk]:=FormatFloat('0.00', gSchatE[jk]);
      StringGrid1.Cells[4,jk]:=FormatFloat('0.0', gBela[jk]);
      StringGrid1.RowCount:=StringGrid1.RowCount+1;
    end;end;
  Sum:=0;
  Sum1:=0;
  for jk:=1 to 366 do begin
    Sum:=Sum+Belastung[jk];
    Sum1:=Sum1+gBela[jk];
  end;
  Jahrbela:=Sum/60;
  Jahrbe:=Sum1/60;
  StringGrid1.RowCount:=StringGrid1.RowCount+1;
  StringGrid1.Cells[0,StringGrid1.RowCount]:='Jahresbelastung:';
  StringGrid1.Cells[1,StringGrid1.RowCount]:=FormatFloat('0.0', Jahrbe);
  StringGrid1.Cells[2,StringGrid1.RowCount]:=FormatFloat('0.0', Jahrbela);
  readln; // Hier ist die Unterbrechnug des Programmes
end;
Danke für die Hilfe
Gruß
TF
  Mit Zitat antworten Zitat