powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как узнать если на форме конкретный обьект типа command44
9 сообщений из 9, страница 1 из 1
Как узнать если на форме конкретный обьект типа command44
    #35561743
Valerii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ,
На форме есть набор кнопок, которые нужно нажать набрав определенные символы с клавиатуры.
Допустим есть кнопка command44 на форме и ее Caption = '44'. Пользователь набирает "44" и я устнавливаю фокус на эту кнопку. Но вдруг он сдури наклацал непонятно что, я должен проверить есть ли такая кнопка на форме типа command555.
Можно проехаться циклом по всем объектам формы - но ведь должен быть механизм проверки существования конкретного обьекта?...
Всем спасибо.
...
Рейтинг: 0 / 0
Как узнать если на форме конкретный обьект типа command44
    #35561761
авторно ведь должен быть механизм проверки существования конкретного обьекта?...
Thisform.Command1 и Thisform.Container1.Command1 это одно и тоже или разные? Это конкретные объекты или нет?
...
Рейтинг: 0 / 0
Как узнать если на форме конкретный обьект типа command44
    #35561820
Valerii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На форме много кнопок и находяться они просто на форме.
то есть
WITH thisForm
.command1. ...
.command2. ...
.command3. ...
.command4. ...
.command5. ...
....
.command100. ...
ENDWITH
...
Рейтинг: 0 / 0
Как узнать если на форме конкретный обьект типа command44
    #35561853
homik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retrieves an attribute for a property, event, method, or object.

PEMSTATUS(oObjectName | cClassName, cProperty | cEvent | cMethod
| cObject, nAttribute
...
Рейтинг: 0 / 0
Как узнать если на форме конкретный обьект типа command44
    #35561857
ValeriiНа форме много кнопок и находяться они просто на форме.

И что, на этот частный случай не действуют принципы общего случая? Объекты от этого стали сами по себе, без привязок к родительским объектам?
И чем в этом конкретном случае не нравится type('thisform.command'+str(yjvth_ryjgrb))='О' ?
...
Рейтинг: 0 / 0
Как узнать если на форме конкретный обьект типа command44
    #35562157
12345зайчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
type('thisform.command'+str(yjvth_ryjgrb))='О' 
это работает медленно

более быстрый вариант
Код: plaintext
1.
2.
3.
4.
5.
6.
 
if pemstatus(thisform, "command'+ltrim(str(yjvth_ryjgrb)),5)
   local loCmd
   loCmd = getpem(thisform, "command'+ltrim(str(yjvth_ryjgrb)))
   if vartype(loCmd)="O"
      ....
...
Рейтинг: 0 / 0
Как узнать если на форме конкретный обьект типа command44
    #35562787
Valerii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в VFP 6.0 этого нет
pemstatus(thisform, "command'+ltrim(str(yjvth_ryjgrb)),5)
...
Рейтинг: 0 / 0
Как узнать если на форме конкретный обьект типа command44
    #35562789
Valerii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
соррри , есть ... ;-)))
...
Рейтинг: 0 / 0
Как узнать если на форме конкретный обьект типа command44
    #35563175
Фотография HalK2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valerii...
Можно проехаться циклом по всем объектам формы - но ведь должен быть механизм проверки существования конкретного обьекта?...
Всем спасибо.

Вот мелкий пример, пригодится:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
x= 0 
FOR EACH oButton IN thisform.Controls
    IF LOWER(oButton.BaseClass) = 'commandbutton' && регистр чувствителен
       x=x+ 1 
    ENDIF
ENDFOR
MESSAGEBOX('На форме '+ALLTRIM(STR(x))+' кнопок')
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как узнать если на форме конкретный обьект типа command44
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]