Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.02.2014, 19:36   #1
Denis@
Новичок
Джуниор
 
Регистрация: 20.02.2014
Сообщений: 2
Вопрос чтение сигнатуры файла

ВСЕМ Здравствуйте!!!
Помогите примером рабочим "как прочитать сигнатуру файла" любого!
Denis@ вне форума Ответить с цитированием
Старый 20.02.2014, 20:39   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Сообщение от Denis@ Посмотреть сообщение
ВСЕМ Здравствуйте!!!
Помогите примером рабочим "как прочитать сигнатуру файла" любого!
Сигнатура бывает двух типов:
1. определенный ряд байт в заголовке файла, указывающий ОС на тип этого файла (с какой прогой открывать).
2. Контрольная сумма, используемая для проверки файла на повреждения.
Если речь идёт о первом, то нужно прочитать заголовок файла.
В помощь:
Как прочитать файл на Delphi
прочитать заголовок файла в структуру
Как прочитать заголовок файла
Если же речь идёт о втором, то нужно знать алгоритм, используемый файловой системой для вычисления контрольной суммы и высчитывать самому.
Streletz вне форума Ответить с цитированием
Старый 21.02.2014, 00:38   #3
Denis@
Новичок
Джуниор
 
Регистрация: 20.02.2014
Сообщений: 2
По умолчанию

Спасибо за ответ ваш!
Прочитал пытался вникнут, не вышло у меня(
Дело в том что есть видео ролики формата .smk форматы разные по заголовку smk2 и smk4.
Мне надо воспроизвести только тип smk2. для этого мне надо прочитать заголовок ролика, а у меня не получается

Последний раз редактировалось Denis@; 21.02.2014 в 00:51.
Denis@ вне форума Ответить с цитированием
Старый 21.02.2014, 01:50   #4
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Пожалуйста!
Цитата:
Дело в том что есть видео ролики формата .smk форматы разные по заголовку smk2 и smk4.
Мне надо воспроизвести только тип smk2. для этого мне надо прочитать заголовок ролика
В данном случае ситуация значительно проще. Так как Вам требуется прочитать заголовок файла определённого формата, то можно воспользоваться его описанием. Оно есть в открытом доступе на Wiki.
Streletz вне форума Ответить с цитированием
Старый 21.02.2014, 21:47   #5
blackstrip
Форумчанин
 
Аватар для blackstrip
 
Регистрация: 21.01.2012
Сообщений: 240
По умолчанию

Примерно так:

Код:
var 
f:TFileStream;
a:array [0..3] of byte;
begin
f:=TFileStream.Create("путьиимяфайла",fmOpenRead);
f.ReadBuffer(a,4);
f.Free;
//после этого в массиве a находятся коды первых четырех байт из файла
if (a[0]=Ord('S')) and (a[1]=Ord('M')) and (a[2]=Ord('K')) then
if (a[3]=Ord('2')) then
begin
//тут делаем что-то для SMK2
end
else
if (a[3]=Ord('4')) then
begin
//а тут для SMK4
end;
end;
blackstrip вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Быстрый поиск сигнатуры HEX в файле, как это делается? Человек_Борща Общие вопросы Delphi 3 02.12.2012 15:47
Поиск сигнатуры в памяти процесса Crystallon Общие вопросы Delphi 8 26.09.2011 23:01
Delphi 7 - Определение сигнатуры файла tozter Общие вопросы Delphi 2 19.12.2010 18:30
Чтение с файла trance-boy Общие вопросы C/C++ 3 10.11.2010 22:08
Создание сигнатуры функций для поиска их в памяти процесса Zlyden' Общие вопросы C/C++ 10 01.03.2010 21:27