Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как узнать расширение файла, если расширение было изменено ?


DmiSb ©   (2005-12-14 08:51:00) 

Сабж.
Заранее спасибо


Германн   (2005-12-15 03:45:00) [1]

Имхо, очередной пример тщетной борьбы АП за "грамотное изложение сабжа" и очередное непонимание форумчанами её сути. :(


Anatoly Podgoretsky   (2005-12-14 21:09:00) [2]

Но старое расширение узнать нельзя.


Alexander Panov   (2005-12-14 20:47:00) [3]

Anatoly Podgoretsky ©   (14.12.05 20:24) [15]
По вопросу, пусть было какое то из этих расширений txt, log, prn etc


Текстовые фалы тоже можно определить. Для этого надо проанализировать частоту появления #13#10 и процент наличия печатаемых символов.


Anatoly Podgoretsky   (2005-12-14 20:24:00) [4]

По вопросу, пусть было какое то из этих расширений txt, log, prn etc
то здесь никакие сигнатуры не помогут, как не помогут и для других, но для других можно узнать тип файла, но не старое расширение.


Alexander Panov   (2005-12-14 19:52:00) [5]

DmiSb   (14.12.05 8:51)
DmiSb


Распознавать некую постоянную сигнатуру, свойственную файлам конкретного типа.


DmiSb   (2005-12-14 10:45:00) [6]

2 BiN

Примерно, понятно.
Спасибо


BiN   (2005-12-14 10:43:00) [7]


> DmiSb   (14.12.05 10:34) [11]
>
> 2 BiN
>
> >FAR определяет формат файла по сигнатуре.
>
> А это интересно как (хотя бы в общих чертах, примерно) ?
>


Насколько я знаю, распространенные алгоритмы сжатия данных и описание форматов файлов arg, rar, zip, cab и т.п. можно найти в сети.
Обычно подобные файлы содержат в начале заголовок с некоторым специфическим набором символов - сигнатурой, по которой предположительно определяется формат файла и соответсвенно алгоритм сжатия/открытия оного.


DmiSb   (2005-12-14 10:34:00) [8]

2 BiN

>FAR определяет формат файла по сигнатуре.

А это интересно как (хотя бы в общих чертах, примерно) ?


BiN   (2005-12-14 10:22:00) [9]


> DmiSb   (14.12.05 10:19) [9]
>
> А как тогда Far понимает, что у файла было расширение *.
> ARJ, и показывает содержимое архива, хотя текущее расширение
> файла стоит *.fax.


FAR определяет формат файла по сигнатуре.


DmiSb   (2005-12-14 10:19:00) [10]

А как тогда Far понимает, что у файла было расширение *.ARJ, и показывает содержимое архива, хотя текущее расширение файла стоит *.fax.


PAVIA   (2005-12-14 10:18:00) [11]

Просто так ты формат файла не узнаешь. Можно попробовать прочитать несколько первых байтов в файле. Там обычно в заголовке прописан формат файла.


BiN   (2005-12-14 10:12:00) [12]

Как вариант для отслеживания переименования файлов могу предложить использовать механизм журнала изменений NTFS. Если, конечно, овчинка стоит выделки.


Reindeer Moss Eater   (2005-12-14 10:07:00) [13]

Того файла уже нет.
Если перевести твой вопрос на нормальный язык, то получится:

"Как узнать расширение у файла, которого нет"


DmiSb   (2005-12-14 10:04:00) [14]

Я немного другое имел ввиду. Был файл предположим *.ARJ, ему поставили расширение, допустим *.DOC. ExtractFileExt возвращает ".DOC", а мне нужно чтобы вернуло "*.ARJ". Реально ли это ?


Reindeer Moss Eater   (2005-12-14 09:49:00) [15]

Или ты думаешь, что в понедельник одна функция, во вторник - другая?


Reindeer Moss Eater   (2005-12-14 09:48:00) [16]

ТО что было вначале этой же функцией определяется


DmiSb   (2005-12-14 09:38:00) [17]

2 Reindeer Moss Eater
ExtractFileExt, насколько я понял, просто из имени файла берет расширение от разделителя, и если расширение вручную поменять, то это расширение и покажет. А мне надо определить, что было в начале


Reindeer Moss Eater   (2005-12-14 09:26:00) [18]

ExtractFileExt


Наверх

Титульная страница Поиск, карта сайта Написать письмо