Delphi Gebruikersgroep

 

Home    Up

mislukte AssignFile melding onderdrukken

Hallo, 

Het is de bedoeling dat er met AssignFile wat uit een text bestand 
gelezen wordt, als het bestandje er niet is hoeft dit niet. 
Wanneer het bestandje niet bestaat krijg je de melding 'file not found'. 
Het is juist geen probleem als het bestand er niet is, is deze melding te onderdrukken ?

--

Probeer de Try .. except .. end methode eens : 

try 
assignfile(file,naam); 
reset(file); 
.. 
// doe wat met de file 
.. 
close(file); 
except 
on EInOutError do 
// evt. afhandeling van probleem; 
end; 

Hans

--

Waarom doe je niet: 
if FileExists( 'mijn bestand') then 
doe iets. 

Groetjes Greta.

--

Hoi Hans, 

Het werkt goed, alleen ik doe het zonder de "on EInOutError do" regel. 

try 
AssignFile(f,'C;\test.txt'); 
reset(f); 
while not(eof(f)) do 
begin 
blabla 
end; 
CloseFile(f); 
except 
end; 

Zelf vond ik deze nog, is ook te gebruiken denk ik. 
function FileExists(const FileName: string): Boolean; 

bedankt en groeten Tijmon

--

Pas wel op, want welke fout wordt er afgevangen ???? 

Door op te geven op welke exception je wilt checken in het except..end blok, voorkom je dat fouten die je niet had verwacht toch nog aan het licht komen. Je programma loopt wel fout, maar je weet dan waarom, en dat kan je dan oplossen...... 

En inderdaad, controle op aanwezigheid van een file is ook een mogelijkheid, maar kost altijd tijd (om te kijken of de file er is), terwijl de try..except..end oplossing alleen een extra stuk code oplevert indien de file er niet is. Afhankelijk van de toepassing dus even kijken wat het beste is 

Hans