Показать сообщение отдельно
  #1  
Старый 02.09.2012, 13:10
Pavel_Aleksandrovich Pavel_Aleksandrovich вне форума
Прохожий
 
Регистрация: 02.09.2012
Сообщения: 31
Репутация: 9
По умолчанию Фокусировка на пустых Edit'ах

Написал инструкцию типа
Код:
begin
     if key=#13
       then
           begin
                if length(edit1.text)=0
                    then edit1.setfocus
                    else
                        begin
                             if length(edit2.text)=0
                               then edit2.setfocus
                               else
                                   begin
                                        if length(edit3.text)=0
                                          then edit3.setfocus
                                          else button2.setfocus;
                                   end;
                        end;
она не рациональна
что хочу сделать:
1) засунуть данную инструкцию в модуль
2) расписать ее более красиво


что получилось

модуль:
Код:
 procedure setfocus_edits_button(edits_on_form:array of tedit; button_on_form:tbutton);
                       var
                          i:integer;
                          status:bolean;

                       begin
                            status:=true;

                            for i:=1 to hight(edits_on_form) do
                               begin
                                    if length(edits_on_form[i].text)=0
                                      then
                                          begin
                                               edits_on_form[i].setfocus;
                                               status:=false;
                                               continue
                                          end
                                      else status:=true;
                               end;

                            if status=true
                              then button_on_form.setfocus;

                       end;
использование модуля в форме:
Код:
begin
     if key=#13
       then setfocus_edits_button([edit1,edit2,edit3],button1);
end;
Bargest: правила форума предписывают оформлять код тегами!

в итоге ошибки:
в модуле компилятор не понимает Tedit и tbutton

подскажите где ошибки, может можно как то более рационально прописать инструкции:
что должно получиться
1) инструкция должна быть прописана в модуле
2) она должна проверять пустые edit'ы и на них фокусироваться пока е заполнит оператор, в случае если они заполнены фокусируется на след объекте - кнопка например

спасибо))
Ответить с цитированием