02.09.2012, 19:40
|
Прохожий
|
|
Регистрация: 02.09.2012
Сообщения: 31
Репутация: 9
|
|
Цитата:
Сообщение от YVitaliy
Код:
unit emptyFoc;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
procedure focusEdit(component:TComponent);
implementation
procedure focusEdit(component:TComponent);
var i:Integer;
begin
for i:=0 to component.ComponentCount-1 do begin
if component.Components[i].ClassType=TEdit then begin
if Length((component.Components[i] as TEdit).Text)=0 then begin
(component.Components[i] as TEdit).SetFocus;
exit;
end;
end;
end;
end;
end.
Но если хочешь, чтобы процедура ждала, пока пустой Edit не заполнится, желательно это делать в отдельном потоке. Можно, конечно, использовать
Код:
Application.ProcessMessages
, но все-равно будет занимать много процессорного времени.
|
а тип tcomponent зарезервирован в delphi? или его надо объявлять?
|