Страница: 1 | 2 |
Вопрос: Как отличить ARJ архив от DOC документа
Добавлено: 10.08.06 12:00
Автор вопроса: Sergey
Есть файлы например 10082006.01a, 4596587.5ak, 78954678.89u и тд. Но вот в чем суть одни это архивы ARJ а другие переименованный DOC (Word) документ так вот как можно отличить ARJ архив от DOC документа. Чтобы потом DOC документ переименовать в 4596587.5ak.doc
Заранее благодарен.
Ответы
Всего ответов: 17
Номер ответа: 1
Автор ответа:
avdey
ICQ: 219571279
Вопросов: 34
Ответов: 486
Профиль | | #1
Добавлено: 10.08.06 12:04
Скорее всего по заголовку файла...
Номер ответа: 2
Автор ответа:
Sergey
Вопросов: 5
Ответов: 10
Профиль | | #2
Добавлено: 10.08.06 12:13
Какому заголовку 10082006.01a может быть ARJ а на следущий день 10082006.01a придет переименованный DOC.
Номер ответа: 3
Автор ответа:
avdey
ICQ: 219571279
Вопросов: 34
Ответов: 486
Профиль | | #3
Добавлено: 10.08.06 12:17
Не по имени файла, а по ЗАГОЛОВКУ!!! Т.е. что внутри файла...
Номер ответа: 4
Автор ответа:
Sergey
Вопросов: 5
Ответов: 10
Профиль | | #4
Добавлено: 10.08.06 12:51
УПС А если можно то немного поподробней что это такое и с чем кушать
Номер ответа: 5
Автор ответа:
avdey
ICQ: 219571279
Вопросов: 34
Ответов: 486
Профиль | | #5
Добавлено: 10.08.06 13:00
Открой Вордовский документ не в Ворде а в обычном Блокноте... там есть строки "Документ MicroSoft Word", "MSWordDoc", "W o r d D o c u m e n t" а так же настояшее название файла...
Номер ответа: 6
Автор ответа:
Bombardier
ICQ: 42305746
Вопросов: 2
Ответов: 67
Web-сайт:
Профиль | | #6
Добавлено: 10.08.06 13:39
открываешь файл для чтения и читаешь первые несколько байт, если они равны РП, то это DOC и.т.д
Sub CheckFile(MyFileName as String)
Dim FileSignature as String
Open MyFileNаme For Binary As 1
FileSignature = Space(3)
Get #1, 569, FileSignature
Close 1
Select Case FileSignature
Case "" 'Здесь сравниваешь с образцами трех первых байт
'здесь выпоняешь действия в зависимости от типа файла
Case ""
End Select
End Sub
Номер ответа: 7
Автор ответа:
Bombardier
ICQ: 42305746
Вопросов: 2
Ответов: 67
Web-сайт:
Профиль | | #7
Добавлено: 10.08.06 13:41
сорри в коде должно быть
Номер ответа: 8
Автор ответа:
avdey
ICQ: 219571279
Вопросов: 34
Ответов: 486
Профиль | | #8
Добавлено: 10.08.06 13:52
Интересно, "" че это за символ...
Номер ответа: 9
Автор ответа:
Bombardier
ICQ: 42305746
Вопросов: 2
Ответов: 67
Web-сайт:
Профиль | | #9
Добавлено: 10.08.06 13:56
возьми и прочитай ASCII коды для файлов, форматы которых ты заведомо знаешь
В том посте я написал то что ты видишь, когда открываешь файл блокнотом.
Номер ответа: 10
Автор ответа:
avdey
ICQ: 219571279
Вопросов: 34
Ответов: 486
Профиль | | #10
Добавлено: 10.08.06 14:02
Так же РП, это XLS и все офисные файлы...
Хотя, если надо тупо отличить DOC от ARJ, то сработает...
Номер ответа: 11
Автор ответа:
Bombardier
ICQ: 42305746
Вопросов: 2
Ответов: 67
Web-сайт:
Профиль | | #11
Добавлено: 10.08.06 14:08
так поэтому и такое сравнение простое, а так да - РП это действительно просто сигнатура универсального контейнера, в который уже пакуется ворд, эксель итп
Номер ответа: 12
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #12
Добавлено: 10.08.06 14:24
Вообще-то хранилище распознаётся по первым четырём байтам: &HE011CFD0 (если считывать Long'ом). Следующие 4 байта - это версия OLE, ну а дальше уже описания каталогов и потоков данных.
Номер ответа: 13
Автор ответа:
Bombardier
ICQ: 42305746
Вопросов: 2
Ответов: 67
Web-сайт:
Профиль | | #13
Добавлено: 10.08.06 14:27
2CyRax мы говорили о том, что можно глазами посмотреть, а не с точки зрения кода, дабы Sergey-у было проще понять о чем идет речь
Номер ответа: 14
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #14
Добавлено: 10.08.06 14:34
Ну HEX-вьювером просмотри (например из FAR) первые 4 байта: D0 CF 11 E0
Номер ответа: 15
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #15
Добавлено: 10.08.06 14:47
В том посте я написал то что ты видишь, когда открываешь файл блокнотом.
Не советую открывать двоичные файлы блокнотом - он для этого не предназначен.