Форум: "Потрепаться";
Текущий архив: 2003.07.03;
Скачать: [xml.tar.bz2];
ВнизКак узнать, что текстовый файл не пуст? Найти похожие ветки
← →
Pesh (2003-06-14 20:21) [0]Народ! кто-нить знает, как определить размер текстового файла или хотя бы узнать что он не пуст.
Замечание: FileSize не пашет, а функция типа
function bCheckSize (sPath:string):boolean;
var F:Textfile;
begin
AssignFile (F,sPath);
FileMode:=fmOpenRead;
Reset (F);
Result:=not EOF (F);
Close (F);
end;
не работает, когда файл находится на компакт-диске (эксепшн на Reset)
← →
Palladin (2003-06-14 20:28) [1]ты можешь понять простейшую вещь, если бы FileSize не пахал, его бы не включали в Делфи
← →
Anatoly Podgoretsky (2003-06-14 20:31) [2]Замечание: FileSize пашет
← →
Pesh (2003-06-14 20:34) [3]Palladin, ты думаешь в Delphi багов нету?
FileSize может быть и пашет, но видать не на текстовых файлах.
Специально проверил: ShowMessage(IntToStr(FileSize(F))) перед строкой "Result:=not EOF (F)" выдаёт 0!
Да кстати, приведённая мной функция оказалась полностью рабочей, просто супер безглючный Delphi 6 SP1 выдаёт Exception, если в этой функции есть хоть один breakpoint. Снимаешь breakpoint - всё работает.
← →
Pesh (2003-06-14 20:38) [4]Да, всё забываю сказать файл, который я усиленно сую функции bCheckSize находится на CD и он не пуст!
FileSize я проверил на MP3-файле - работает!
Но MP3 это не текст.
← →
Palladin (2003-06-14 20:45) [5]
> Pesh © (14.06.03 20:38)
ложки не существует
← →
Набережных С. (2003-06-14 21:17) [6]В орешник.
← →
Pesh (2003-06-14 21:27) [7]какие ложки... какие орешники...
ребята, вы о чём ваще?
Если у кого-нибудь другие варианты кромеbCheckSize
?
← →
Набережных С. (2003-06-14 21:46) [8]>Pesh © (14.06.03 21:27)
>ребята, вы о чём ваще?
О том, что вышивание крестиком тоже неплохое занятие
← →
Asteroid (2003-06-14 22:58) [9]> Pesh © (14.06.03 21:27)
Если тебе не нравится FileSize, используй винапиевскую ф-цию GetFileSize/
var h: THandle;
begin
h := CreateFile( ... ); // параметры посмотришь в хелпе
Result := GetFileSize( h, nil );
CloseHandle( h );
end;
← →
DrPass (2003-06-15 00:08) [10]>Pesh
Наводящая подсказка: текстовый файл от нетипизированного ничем не отличается.
P.S. Просто представь себе, что нет никакой ложки
← →
Юрий Зотов (2003-06-15 01:44) [11]Из хелпа:
"Note: FileSize can"t be used on a text file."
Так что действительно не пашет, но и бага нет. Ибо, как известно, документированный баг есть фича. А вот GetFileSize, если верить SDK, должно сработать
← →
Palladin (2003-06-15 02:28) [12]Дык вот где собака порылась, в голове у pesha она порылась...
Что же на самом деле имел ввиду pesh под словосочетанием "текстовый файл": тип TextFile или же файл состоящий только из печатных символов, расположеных таким образом, что прекрасно интерпретирующихся нашим разумом как некий текст несущий смысловую нагрузку?
Но это еще пол беды. Вся фенечка в ямке, выротой собакой в голове у pesh, что видимо в этой ямке был зарыт тип mp3file, ведь его то размер он нашел правильно и применил к нему FileSize тоже правильно. Но наверно для бОльшего в ямочке места не хватило и не смог он применить FileSize к другим расширениям файлов...
Ох, ну и дела...
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2003.07.03;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.009 c