![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Определение текстовых файлов [D5, Win2k]
NJoe © (2004-07-13 10:08:00)Мот кто подскажет, как определить попроще, является ли содержание файла текстом, не пробегая весь текст для определения управляющих символов.
han_malign (2004-07-13 10:57:00) [21]ну PE файлы(exe,dll) можно отсечь с помощью GetBinaryType, графические, звуковые, архивы по сигнатуре, а дальше проверять по контексту(печатаемые символы(плюс #9(Tab),#10(LF),#12(Page feed),#13(CR)))
sniknik (2004-07-13 10:54:00) [22]> не пробегая весь текст для определения управляющих символов.
в смысле? обычно в тексте нет управляющих конечно (до #32 исключая #10, #13) но ничего не мешает их туда вставить. это не показатель.
так во времена dos вставлял в текстовый файл эскейп последовательности (для принтера, примитивное форматирование печати этого файла), и что он от этого ставал бинарным? нет так и оставался текстовым.
p.s. обычно то что файл текстовый можно понять по разширению (txt), а вы не знали? ;о))
Ega23 (2004-07-13 10:43:00) [23]Что могу посоветовать: есди бинарники специфические, и если ты сам же их и формируешь, то введи на них сигнатуру. Тогда сможешь текстовые файлы методом "от противного" отличать.
Ega23 (2004-07-13 10:41:00) [24]мля... ну нафиг мне мемо... тормозит оно жутко, к тому ж енто самый.... хм.. неудачный способ :))
Конечно неудачный. Но у txt файлов, к сожалению, сигнатуры нет, как, например, у bmp. Так что только методом тыка, т.е. перебором.
NJoe (2004-07-13 10:41:00) [25]дело в том, что файлы должны обрабатываться большие (и бинарники, и текст), следовательно если пробегать весь то будут тормоза. Хе. Можно, конечно, рандомную выборку делать... Статистикой там воспользоваться... :)
Мот есть у кого идеи?
SammIk (2004-07-13 10:34:00) [26]Поискать в фаиле символы, да по расширению.
А без моиска ты никак 7не определишь
NJoe (2004-07-13 10:28:00) [27]мля... ну нафиг мне мемо... тормозит оно жутко, к тому ж енто самый.... хм.. неудачный способ :))
Ega23 (2004-07-13 10:10:00) [28]Memo1.Lines.LoadFromFile() - сразу увидишь.