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
StrToIntDef und
TryStrToInt an.
zuletzt gab es auch 'nen Thread dazu:
StrToIntDef 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.:
TIniFile,
TRegistry