IdleProc в Lazarus

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
dvpt
новенький
Сообщения: 38
Зарегистрирован: 18.03.2009 10:46:04

IdleProc в Lazarus

Сообщение dvpt »

В Delphi есть удобная штука для обработки событий в программе Application.OnIdle
например для обновления панели статуса.
В Lazarus этого не нашел.
Есть что подобное в Lazarus или чем можно заменить?


// например
procedure TFamily.IdleProc(Sender: TObject; var Done: Boolean);
begin
StatusBar1.Panels[0].Text := IntToSTr(StringGrid1.RowCount-1);
StatusBar1.Panels[1].Text := IntToSTr(StringGrid1.Row);
end;

procedure TFamily.FormCreate(Sender: TObject);
begin
{ Обновление панели статуса}
Application.OnIdle := IdleProc;
...
end;
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Сообщение Mr.Smart »

Плохо смотрели :wink:
есть там такая вещь

Код: Выделить всё

TApplication = class(TCustomApplication)
...
    property OnActivate: TNotifyEvent read FOnActivate write FOnActivate;
    property OnDeactivate: TNotifyEvent read FOnDeactivate write FOnDeactivate;
    property OnIdle: TIdleEvent read FOnIdle write FOnIdle;
    property OnIdleEnd: TNotifyEvent read FOnIdleEnd write FOnIdleEnd;
    property OnEndSession: TNotifyEvent read FOnEndSession write FOnEndSession; 
...
end;
Аватара пользователя
EmeraldMan
постоялец
Сообщения: 149
Зарегистрирован: 16.10.2008 08:41:51
Откуда: Белгород
Контактная информация:

Сообщение EmeraldMan »

Кинуть на форму TApplicationProperties и выбрать событие OnIdle.
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Сообщение Mr.Smart »

EmeraldMan писал(а):Кинуть на форму TApplicationProperties и выбрать событие OnIdle.

Можно и так :wink:
dvpt
новенький
Сообщения: 38
Зарегистрирован: 18.03.2009 10:46:04

Сообщение dvpt »

Замечательно!
Спасибо!

К стати в Lazarus неправильно работает FileExists() в чем причина? Как его исправить?
voltron
новенький
Сообщения: 64
Зарегистрирован: 06.07.2007 13:27:46
Откуда: Украина

Сообщение voltron »

dvpt писал(а):К стати в Lazarus неправильно работает FileExists() в чем причина? Как его исправить?

А каким образом проявляется эта неправильность? Может дело в том, что FileExists это функция из RTL компилятора, и работает она с кодировкой ANSI? Попробуйте передавать параметры, предварительно конвертируя их в нужную кодировку при помощи Utf8ToAnsi/Utf8ToSys. Кроме того, в юните FileUtils есть юникодный вариант этой функции - FileExistsUTF8
dvpt
новенький
Сообщения: 38
Зарегистрирован: 18.03.2009 10:46:04

Сообщение dvpt »

Спасибо!
Функция - FileExistsUTF8 помогла!
В документации ее не нашел.
Компилятор и среда хорошая, но отсутствие документации нерадует :-(
voltron
новенький
Сообщения: 64
Зарегистрирован: 06.07.2007 13:27:46
Откуда: Украина

Сообщение voltron »

dvpt писал(а):Компилятор и среда хорошая, но отсутствие документации нерадует :-(

Зато исходники есть :-). А документация дело наживное
Ответить