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

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

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

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

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

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

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

Цитата:
Сообщение от алексей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, 12:27   #3
алексей1243
 
Регистрация: 23.09.2018
Сообщений: 3
По умолчанию

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

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



Код:
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 в 12:37.
алексей1243 вне форума Ответить с цитированием
Ответ


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

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

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


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