Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сравнение файлов 
:(
    Опции темы
ne0n
Дата 10.9.2007, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PlayBoy
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 5.8.2005
Где: Н.Новгород

Репутация: 1
Всего: 11



Цитата(Alexeis @  10.9.2007,  16:29 Найти цитируемый пост)
Фрешь Есть целый класс TIdHashCRC32 в модуле IdHashCRC.


и вправду фру smile 


PM MAIL ICQ   Вверх
Alexeis
Дата 10.9.2007, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Более того оказывается есть встроенный и MD5 называется MessageDigest_5.pas
В нем есть класс TMD5, который не только считает но и представляет в удобной форме (хекс, числа). 
Но про него в справке нифига нет. (Нашел чисто поиском слова MD5 в файлах *.pas катологов кодегира).

Добавлено через 4 минуты и 35 секунд
 Но MD5 похоже появилось только в RAD 2007 так что все у кого нет новой версии... должны считать по старинке.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Poseidon
Дата 10.9.2007, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Цитата(Apls @  10.9.2007,  16:08 Найти цитируемый пост)
а какая функция есть в delphi7 для подсчета CRC суммы файла

Ручками. Я привык все ручками... smile

Код

function GetCheckSum(FileName: string): DWORD;
var
 F: file of DWORD;
 P: Pointer;
 Fsize: DWORD;
 Buffer: array [0..500] of DWORD;
begin
 FileMode := 0;
 AssignFile(F, FileName);
 Reset(F);
 Seek(F, FileSize(F) div 2);
 Fsize := FileSize(F) - 1 - FilePos(F);
 if Fsize > 500 then Fsize := 500;
 BlockRead(F, Buffer, Fsize);
 Close(F);
 P := @Buffer;
 asm
    xor eax, eax
    xor ecx, ecx
    mov edi , p
    @again:
      add eax, [edi + 4*ecx]
      inc ecx
      cmp ecx, fsize
    jl @again
    mov @result, eax
  end;
end;



--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
ne0n
Дата 10.9.2007, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PlayBoy
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 5.8.2005
Где: Н.Новгород

Репутация: 1
Всего: 11



Цитата(Poseidon @  10.9.2007,  20:10 Найти цитируемый пост)
Ручками. Я привык все ручками... 

тока ты забыл указать источник smile 

PM MAIL ICQ   Вверх
Yanis
Дата 11.9.2007, 07:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



ne0n
Если ты действительно знаешь источник (автора), то скажи сам.

Это сообщение отредактировал(а) Yanis - 11.9.2007, 07:39


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
ne0n
Дата 11.9.2007, 08:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PlayBoy
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 5.8.2005
Где: Н.Новгород

Репутация: 1
Всего: 11



Цитата(Yanis @  11.9.2007,  07:39 Найти цитируемый пост)
Если ты действительно знаешь источник (автора), то скажи сам.


DRKB/Delphi World smile 
PM MAIL ICQ   Вверх
MetalFan
Дата 11.9.2007, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



а накой при сравнении двух файлов сначала считать их контрольные суммы?
а если файлы по 2Гб а различие во втором байте?


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
ne0n
Дата 11.9.2007, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PlayBoy
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 5.8.2005
Где: Н.Новгород

Репутация: 1
Всего: 11



Цитата(MetalFan @  11.9.2007,  14:44 Найти цитируемый пост)
а накой при сравнении двух файлов сначала считать их контрольные суммы?

ну ты автору вроде нужно было выявить только факт различности файлов...
вот и предложили как один из вариантов!
Цитата(MetalFan @  11.9.2007,  14:44 Найти цитируемый пост)
а если файлы по 2Гб а различие во втором байте?

А если нет?! smile 
ну это уж как карта ляжет(можно предосмотреть несколько алгоритмов взависимости от размера файла)!
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0554 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.