Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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
1-7541
Dmitriy M. Volkov
2003-06-22 16:54
2003.07.03
Кнопка


1-7408
АлеКо
2003-06-23 08:16
2003.07.03
QReport


8-7560
CrowD
2003-03-20 11:36
2003.07.03
Маштабируемость?


14-7705
nick-from
2003-06-17 13:34
2003.07.03
Защита сервера


14-7619
ferrik
2003-06-18 21:06
2003.07.03
Hard Disk Drive





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский