Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Lazarus, Free Pascal, CodeTyphon
Регистрация

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

Ответ
 
Опции темы
Старый 23.09.2018, 14:42   #1
алексей1243
Новичок
 
Регистрация: 23.09.2018
Сообщений: 3
Репутация: 10
По умолчанию Lazarus - найти два файла и сравнить их размер в байтах

Здравствуйте, возникла проблема, требуется найти 2 файла и сравнить их вес в байтах, подскажите, каким образом можно найти и сравнить их?
алексей1243 вне форума   Ответить с цитированием
Старый 23.09.2018, 19:27   #2
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,369
Репутация: 5308
По умолчанию

Цитата:
Сообщение от алексей1243 Посмотреть сообщение
требуется найти 2 файла
что значит - "найти" ?
их имена известны? Имя каталога, где они находятся известно?


Цитата:
Сообщение от алексей1243 Посмотреть сообщение
и сравнить их вес в байтах
в общем случае, размер в байтах можно получить банально через FileSize(f)

иногда, когда файлы большого размера, размер лучше получать так (код под Delphi, возможно, что под Lazarus надо будет доработать):
Код:

function SizeFile(s: string): int64;
var
  SearchRec : _WIN32_FIND_DATAA;
begin
  if FileExists(s) then begin
      FindFirstFile(pchar(s), SearchRec);
      result := SearchRec.nFileSizeHigh shl 32 + SearchRec.nFileSizeLow
  end
  else
    result := -1;
end;

Serge_Bliznykov вне форума   Ответить с цитированием
Старый 07.10.2018, 13:27   #3
алексей1243
Новичок
 
Регистрация: 23.09.2018
Сообщений: 3
Репутация: 10
По умолчанию

через Tmemo вытаскиваю название файла в определенной директории, после чего нужно узнать вес выбранного из списка Tmemo файла
Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
что значит - "найти" ?
их имена известны? Имя каталога, где они находятся известно?
алексей1243 вне форума   Ответить с цитированием
Старый 07.10.2018, 13:30   #4
алексей1243
Новичок
 
Регистрация: 23.09.2018
Сообщений: 3
Репутация: 10
По умолчанию

вот таким образом получаю название файла



Код:

procedure TForm1.Button1Click(Sender: TObject);
  var f: textfile;
    s,n,k: string;
begin
getdir(0,k);
n:='start.ini';
s:=k+'/ini/'+n;
  if FileExists(s) then
  begin
AssignFile(f,s);
Reset(f);
readln(f,s);
memo1.Lines.Add(s);
closefile(f);
end
  else
  memo1.Lines.Add('файл’+s+’ненайден');
  end;

procedure TForm1.Button2Click(Sender: TObject);
  var sr: TSearchRec;
    m,k,p: string;

begin
  getdir(0,k);
  k:=k+'/ini/';
  m:='*.ini';
  p:= k+m;
  memo1.Lines.Clear;
  if
FindFirst(p,faAnyFile,sr)=0
then
repeat
  memo1.Lines.Add(sr.Name);
until FindNext(sr)<>0;
  FindClose(sr);
end;


Последний раз редактировалось алексей1243; 07.10.2018 в 13:37.
алексей1243 вне форума   Ответить с цитированием
Ответ

Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сравнить два ексель файла ivkoa Microsoft Office Excel 3 23.10.2014 15:59
Сравнить два файла demiancz Общие вопросы Delphi 22 16.02.2011 16:29
Сравнить два текстовых файла assch Assembler 17 29.09.2010 14:41
Сравнить два файла Aleksandr Microsoft Office Excel 6 07.10.2008 00:22
Как мне узнать размер файла в байтах? satana Общие вопросы Delphi 4 26.09.2007 16:59


09:57.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru