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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.09.2019, 15:33   #1
Romanza123
 
Регистрация: 21.09.2019
Сообщений: 4
По умолчанию Программа обнаружения файлов весом больше чем...

ПРОГРАММА LAZARUS!
Ребят, прошу у вас помощи! Написал программу, которая при вводе числа в поле Edit и нажатии кнопки, ищет файлы .ini в указанном каталоге весом больше чем число, указанное в Edit. Программа работает не совсем корректно, вроде отсеивает не нужные файлы которые весят меньше чем число в Edit, а вроде и как-то неправильно отсеивает. Пожалуйста, подскажите в чем может быть проблема. Исходник во вложении.

Код:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button2: TButton;
    Edit1: TEdit;
    Label1: TLabel;
    Memo1: TMemo;
    procedure Button2Click(Sender: TObject);
  private

  public

  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }


Procedure TForm1.Button2Click(Sender: TObject);
var sr: TSearchRec;
 m,k,p: string;
 a: integer;
begin
 getdir(0,k);
 k:=k+'/ini/';
 m:='*.ini';
 p:=k+m;
 memo1.Lines.Clear;
 if FindFirst(p,faAnyFile,sr)=0 then

 repeat
 a := StrToInt(Edit1.Text);
 if (IntToStr(sr.Size) > IntToStr(a))
 Then memo1.Lines.Add(IntToStr(sr.Size)+#9+sr.Name);
 Until FindNext(sr)<>0;
 FindClose(sr);
end;

end.
Вложения
Тип файла: rar to4ini.rar (348.0 Кб, 33 просмотров)

Последний раз редактировалось Romanza123; 21.09.2019 в 15:51.
Romanza123 вне форума Ответить с цитированием
Старый 21.09.2019, 17:45   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

if (IntToStr(sr.Size) > IntToStr(a))
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 21.09.2019 в 17:48.
Аватар вне форума Ответить с цитированием
Старый 21.09.2019, 22:45   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

и вынести
Цитата:
Сообщение от Romanza123 Посмотреть сообщение
Код:
a := StrToInt(Edit1.Text);
ДО цикла
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.09.2019, 08:30   #4
Romanza123
 
Регистрация: 21.09.2019
Сообщений: 4
По умолчанию

Аватар, Serge_Bliznykov, большое спасибо за помощь)) Все работает!))
Romanza123 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Screenpic - больше чем программа для скриншотов Rome Софт 13 31.08.2015 00:04
Где найти исходники на Java( 1 проект - больше 1000 классов, 2 проект - больше 100, 3 проект - больше 10) Pti44ka Общие вопросы по Java, Java SE, Kotlin 2 09.09.2010 21:31
Программа получения списка файлов директории и изменения атрибутов файлов roma86 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 7 09.06.2009 09:08
ошибка 48 - программа больше 62520 байт. Что делать? Pancher Паскаль, Turbo Pascal, PascalABC.NET 22 02.08.2007 01:11