Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#9

Re: Dateien erstellen, schreiben, Lesen (E/A-Fehler 32 &

  Alt 7. Mai 2008, 21:48
Problem hierbei war erstmal die globale Variable,
denn wenn du den ablauf (siehe Beitrag #4) verfolgs, wirst du erkennen, daß diese Variable in einfacherRechner1Click und wissenschaftlicherRechner1Click überschrieben wurde und es somit zu Problemen kam.

Delphi-Quellcode:
procedure textOpen(var textf: TextFile; Datei: string);
begin
  AssignFile(textf, Datei);
  Rewrite(textf);
end;

procedure TForm1.einfacherRechner1Click(Sender: TObject);
var textf: TextFile;
begin
  textOpen(textf, 'Einstellungen.txt');
  try
    WriteLn(textf, '0');
  finally
    CloseFile(textf);
  end;
end;

procedure TForm1.wissenschaftlicherRechner1Click(Sender: TObject);
var textf: TextFile;
begin
  textOpen(textf, 'Einstellungen.txt');
  try
    WriteLn(textf, '1');
  finally
    CloseFile(textf);
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
var textf: TextFile;
  settings: String;
begin
  AssignFile(textf, 'Einstellungen.txt');
  Reset(textf);
  try
    ReadLn(textf, settings);
  finally
    CloseFile(textf);
  end;
  case Strtoint(settings) of
    0: einfacherRechner1Click(Sender);
    1: wissenschaftlicherRechner1Click(Sender)
    else close;
  end;
end;
zu StrToInt: schau dir mal Delphi-Referenz durchsuchenStrToIntDef und Delphi-Referenz durchsuchenTryStrToInt an.
zuletzt gab es auch 'nen Thread dazu: Hier im Forum suchenStrToIntDef TryStrToInt


PS: so wäre der Fehler auch am Fehlercode erkennbar gewesen
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var textf: TextFile;
  settings: String;
begin
  AssignFile(textf,'Einstellungen.txt');
  Reset(textf);
  try
    Readln(textf,settings);
    case Strtoint(settings) of
      0: einfacherRechner1Click(Sender);
      1: wissenschaftlicherRechner1Click(Sender)
      else close;
    end;
  finally
    CloseFile(textf);
  end;
end;

PSS: eventuell schaust du dir auch noch die Ini's und die Registry an
z.B.: Delphi-Referenz durchsuchenTIniFile, Delphi-Referenz durchsuchenTRegistry
$2B or not $2B
  Mit Zitat antworten Zitat