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

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

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

ПРОГРАММА 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 Кб, 27 просмотров)

Последний раз редактировалось Romanza123; 21.09.2019 в 16:51.
Romanza123 вне форума   Ответить с цитированием
Старый 21.09.2019, 18:45   #2
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 18,986
Репутация: 6725
По умолчанию

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

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

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

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

Опции темы

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

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

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

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


23:21.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.