Hogyan lehet lekerdezni az IP cimet Delphiben?
-
#66
Ha jól értem, az első részben megpróbálsz sorban megnyitni fájlokat és ha nem sikerül, akkor a hibasfajl-nak true-nak kell lennie. Nos, ez esetben az első try blokk pont nem kivételkezelő, a finally-t cseréld le except-re. :)
A második try..finally blokk emiatt nem is kell, az összméret számlálást emeld át az első try-be és akkor a hibasfajl kezelése is elhagyható. Pl. így:
osszemeret:=0;
for i:=0 to listbox2.items.count-1 do
try
assignfile(f, listbox.items[ i]); reset(f, 1); inc(osszmeret, filesize(f)); closefile(f);
except
// fájl megnyitás nem sikerült, ide jöhetnek mindenféle hibakezelő részek
...
end;
Jut eszembe: ha nem típusos fájlt nyitsz meg, a Reset()-nél kell a blokkméret is, ellenkező esetben az alapértelmezés 128 bájtos, így a FileSize() is azt adja vissza, hány 128 bájtos blokkból áll a fájl.