Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.08;
Скачать: CL | DM;

Вниз

FileSize   Найти похожие ветки 

 
AlexLP ©   (2003-08-26 09:55) [0]

Мастера.
Подскажите как можно проверять файл по его размеру.

Моя программа архивирует файлы из каталога, но бывают случаи, когда размер файла 0 байт (в процессе создания). Как написать условие Если файл(размер) < или = 0 тогда

if FindFirst(StartDir+Mask, faAnyFile, SearchRec) = 0 then
begin
repeat
Application.ProcessMessages;
if (SearchRec.Size < 0 ) then
begin
AbZipper1.FileName := "file.zip";
begin
AbZipper1.AddFiles(StartDir + SearchRec.Name,0)
end;
end;
until FindNext(SearchRec) <> 0;
FindClose(SearchRec);


 
Palladin ©   (2003-08-26 09:59) [1]

размер файла не может быть меньше нуля...


 
[lamer]Barmaglot ©   (2003-08-26 10:00) [2]

В чем проблема? Ты же все написал... У SearchRec есть запись о размере файла вот и проверяй. Если неподходит используй GetFileSize...


 
han_malign ©   (2003-08-26 10:04) [3]

интересный код - вызываем ProcessMessages, столько раз, сколько файлов в каталоге... Вот только вопрос - зачем?
И что означает вот это
begin
AbZipper1.FileName := "file.zip";
begin
AbZipper1.AddFiles(StartDir + SearchRec.Name,0)
end;
end;


 
han_malign ©   (2003-08-26 10:10) [4]

насколько я понимаю должно быть что-то вроде этого:
if FindFirst(StartDir+Mask, faAnyFile, SearchRec) = 0 then begin
AbZipper1.FileName := "file.zip";
repeat
if((SearchRec.Size > 0)and(SearchRec.Name[1]<>"."))
then AbZipper1.AddFiles(StartDir + SearchRec.Name,0);
until FindNext(SearchRec) <> 0;
FindClose(SearchRec);
end;



Страницы: 1 вся ветка

Текущий архив: 2003.09.08;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
4-24756
miguel1
2003-07-09 13:24
2003.09.08
Ошибка при вызове функции WriteFile?!


3-24356
ASt
2003-08-16 21:01
2003.09.08
Данные из таблицы


4-24739
mox
2003-07-08 11:45
2003.09.08
Почему не копируется текст edit-ов др.окна


4-24748
Coban
2003-07-06 12:30
2003.09.08
w9x аналог GetUserProfileDirectory


6-24592
Rol
2003-07-03 11:55
2003.09.08
Доступ по FTP в локальной сети.