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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2021, 16:14   #1
Pascalius
Пользователь
 
Аватар для Pascalius
 
Регистрация: 22.10.2011
Сообщений: 18
По умолчанию Delphi 7, Добавить в список ListView хеш файлов MD 5 с помощью psnMD5.pas

Здравствуйте

! на форме имеется Button, ListView, OpenDialog (с включенной опцией ofAllowMultiSelect для возможности выбора множества файлов), а так же в USES подключен модуль psnMD5.pas, так вот.

При выборе одного файла в окне OpenDialog происходит подсчет суммы MD5 файла и в ListView в первую колонку прописывается название файла, а во вторую колонку MD5 этого файла, так вот при выборе одного файла всё ОК,

Screenshot_1.png

а вот если выбрать 2 файла то в первую колонку заносятся имена 2-х файлов (так и должно быть!) А ВОТ!!! во второй колонке MD5 только 1-го файла в двух строчках.

Screenshot_2.png

?

Как сделать так что бы при выборе 2-х файлов во вторую колонку приписывалось MD5 обеих файлов

Screenshot_3.png

Проект приложил

MD5.7z

может кто нить подскажет где можно подробно почитать об использовании psnMD5.pas

КОД КНОПКИ

var
I: integer;
InFile : TFileStream;
//MD5: String;
MD5Comp:string;
begin
OpenDialog.Options := [ofAllowMultiSelect];
if OpenDialog.Execute then
with OpenDialog.Files do
for I := 0 to Count - 1 do
begin
InFile := TFileStream.Create(extractfilename( OpenDialog.filename), fmShareDenyNone);
md5Comp := MD5DigestToStr(MD5Stream(InFile));
with ListView.Items.Add do
end;
end;

ЗАРАНЕЕ СПАСИБО

Последний раз редактировалось Pascalius; 06.01.2021 в 17:21.
Pascalius вне форума Ответить с цитированием
Старый 06.01.2021, 20:00   #2
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,893
По умолчанию

В чём прикол устанавливать в коде и у самого компонента в свойствах одну и туже опцию? И учись правильно оформлять код, потом сам путаться будешь, тем более в Delphi 7.
Код:
OpenDialog.Options := [ofAllowMultiSelect];
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  I: integer;
  InFile: TFileStream;
  // MD5: String;
  MD5Comp: string;
Begin
  OpenDialog.Title := 'Выберите файлы для добавления в БД';
//  OpenDialog.Options := [ofAllowMultiSelect];
  if OpenDialog.Execute then
  begin
    with OpenDialog.Files do
    begin
      for I := 0 to Count - 1 do
      begin
        InFile := TFileStream.Create(ExtractFileName(OpenDialog.Files[I]), fmShareDenyNone); // Тут твоя ошибка была
        MD5Comp := MD5DigestToStr(MD5Stream(InFile));
        with ListView.Items.Add do
        begin
          Caption := ExtractFileName(OpenDialog.Files[I]);
          Subitems.Add(MD5Comp);
        end;
      end;
    end;
  end;
end;

Последний раз редактировалось Shouldercannon; 06.01.2021 в 20:03.
Shouldercannon вне форума Ответить с цитированием
Старый 06.01.2021, 20:34   #3
Pascalius
Пользователь
 
Аватар для Pascalius
 
Регистрация: 22.10.2011
Сообщений: 18
По умолчанию

Shouldercannon

СПАСИБО ЗА ПОМОЩЬ

замечания учту!

тема закрыта
Pascalius вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скачивание с интернета файлов с проверкой хеш Bad-Teo Фриланс 6 30.01.2016 19:31
Добавить список всех файлов и папок в TreeView PaHaNjkee Общие вопросы Delphi 1 06.12.2015 01:06
вывести список всех файлов в папке, delphi paravoz1k Общие вопросы Delphi 1 06.08.2011 17:39
Графы. Хранение хранить список смежностей как хеш-таблицу. Чем не идеал? Kn793 Свободное общение 7 08.11.2010 17:55
Компонент из *.pas и *.dcr файлов Upgrades Общие вопросы Delphi 4 28.08.2010 00:03