Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Файловая система
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Закрытая тема
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 04.03.2010, 15:34
UltraBloxX UltraBloxX вне форума
Новичок
 
Регистрация: 13.05.2009
Сообщения: 66
Репутация: 10
По умолчанию Чтение файла

Нужно считать 521728 байт из файла и прогнать через хэш-функцию MD5. Как лучше сделать?
  #2  
Старый 04.03.2010, 15:44
Аватар для NIch
NIch NIch вне форума
Продвинутый
 
Регистрация: 02.06.2008
Адрес: Бендеры ПМР
Сообщения: 754
Репутация: 2446
По умолчанию

Читай из файла при помощи BlockRead в переменную типа массив байт...
BlockRead(F: File, Buf: Var, Size: Word, Result: Word)
F: File; - переменная типа File; Именно из этой переменной и происходит чтение данных.
Buf: Var; - переменная любого типа. В эту переменную помещаются прочитанные данные.
Size: Word; - количество считываемых байт.
Result: Word; - в эту переменную помещается реальное количество байт, которые были прочитаны.
__________________
В начале был Бит, потом Байт и только потом появилось Слово...

Последний раз редактировалось NIch, 04.03.2010 в 15:48.
  #3  
Старый 04.03.2010, 15:52
UltraBloxX UltraBloxX вне форума
Новичок
 
Регистрация: 13.05.2009
Сообщения: 66
Репутация: 10
По умолчанию

В юните c функциями MD5 есть получение хэша потоков (Stream) - можно потоками реализовать?

А, да, ещё думал отредактировать саму процедуру хэширования, чтобы она хешировала не весь файл (TFileStream), а до указанного количества байт, но т.к. я не работал раньше с потоками - могу только примерно представить как это работает.

Последний раз редактировалось UltraBloxX, 04.03.2010 в 15:57.
  #4  
Старый 04.03.2010, 16:00
Аватар для NIch
NIch NIch вне форума
Продвинутый
 
Регистрация: 02.06.2008
Адрес: Бендеры ПМР
Сообщения: 754
Репутация: 2446
По умолчанию

Пример работы с FileStream
http://www.delphisources.ru/pages/fa...ead_write.html
Если не разбираешься в MD5, то не рекоммедную ее менять...
__________________
В начале был Бит, потом Байт и только потом появилось Слово...

Последний раз редактировалось NIch, 04.03.2010 в 16:03.
  #5  
Старый 04.03.2010, 17:10
UltraBloxX UltraBloxX вне форума
Новичок
 
Регистрация: 13.05.2009
Сообщения: 66
Репутация: 10
По умолчанию

Upd: Проблема с пустым буфером решена открытием файла только для чтения.

Последний раз редактировалось UltraBloxX, 04.03.2010 в 17:30.
  #6  
Старый 04.03.2010, 18:14
UltraBloxX UltraBloxX вне форума
Новичок
 
Регистрация: 13.05.2009
Сообщения: 66
Репутация: 10
По умолчанию

Хех, тему можно крыть. Буффер нормально хэшируется.
Закрытая тема


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:27.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter