Wenn deine Delphiversion es unterstützt, dann schau dir mal IoUtils an.
So wie himitsu schon geschrieben hat ist der Weg den du da gehst recht "Oldschool".
Und ein wenig Code formatieren wäre auch nicht verkehrt. Wenn dein Delphi das unterstützt und es aktiviert ist einfach mal Ctrl-D drücken
Generell sollte das so aber gehen:
Code:
procedure TForm29.Timer1Timer(Sender: TObject);
var
j, i: integer;
LookFor: string;
f: file;
pausieren: boolean;
begin
Timer1.Enabled := False;
try //T
pausieren := false;
j := 0;
while ((j < (DriveCombobox1.GetCount)) and (not (pausieren))) do begin //B
DriveCombobox1.itemindex := j;
Inc(j);
FileListBox1.Directory := DriveCombobox1.text[1] + ':/';
LookFor := 'KEYxyz.txt';
FileListBox1.Update;
i := 0;
while ((i < (FileListBox1.Count)) and (not (pausieren))) do begin //A
if (FileListBox1.Items[i] = LookFor) then begin //Showmessage('gefunden');
FileNom := FileListBox1.Directory + LookFor;
if timerstarter = true then begin
Laden();
timerstarter := false;
end;
pausieren := true;
Showmessage('in pausieren drin');
end;
Inc(i);
end; //A
if ((j = DriveCombobox1.GetCount) and (not (pausieren))) then begin
Application.Terminate; // Einfach so wegwürgen ist nicht schön. Besser einen kleinen InfoDialog und dann ein Close ???
end;
end; //B
except //T
on EInOutError do begin
Application.Terminate; // Das selbe... Einfach so wegwürgen ist nicht schön. Besser einen kleinen InfoDialog und dann ein Close ???
end;
end;
Timer1.Enabled := True;
end;