powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / проверить наличие объекта в dw
8 сообщений из 8, страница 1 из 1
проверить наличие объекта в dw
    #33157569
Gosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hi.
Можно ли как-то проверить, содержит dw объект с именем "ххх" или нет ??
PB10
...
Рейтинг: 0 / 0
проверить наличие объекта в dw
    #33157573
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
получить все объекты dw.Describe("DataWindow.Objects")
и в полученной строке поискать искомый xxx.
...
Рейтинг: 0 / 0
проверить наличие объекта в dw
    #33157649
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗоринАндрейполучить все объекты dw.Describe("DataWindow.Objects")
и в полученной строке поискать искомый xxx.
Это перебор.
Нужно сделать Describe на property объекта с именем "ххх", которая обязана существовать, если сам объект есть...
...
Рейтинг: 0 / 0
проверить наличие объекта в dw
    #33157706
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну можно конечно и "property, которая должна существовать",
но зачем усложнять если все равно это будет Describe(...) с сопоставимым временем исполнения. чтоб сэкономить немножко микросекунд? нафик.
в одном случае Pos(Decribe(...))
в другом надо подумать какая там property обязана существовать ( xxx.Type для всех будет работать? )
и сравнить результат с '?' и '!' и еще результат этот может оказаться вообще пустой строкой.
Конечно тупой Pos может ошибиться и для обоих случаев можно сочинить какой-нть хитрый Match(....). но зачем?

Естественно что если точно известно что это column то проще написать isNumber(Describe('xxx.ID'))
а если compute или сolumn то "индикатором" может быть xxx.Coltype. ченть типа Len(Trim(Describe('xxx.Coltype'))) > 2 ;)

О! еще способ вспомнил - вызвать inv_base.of_getobjects(...) и пробежаться по полученному массиву
для гуру это конечно СУПЕР-перебор. но зато для простых смертных код получается читаемый без запинки с первого раза и без вопросов. для кого-то это может оказаться важнее сэкономленных микросекунд.

а в целом по существу вопроса - пофиг
...
Рейтинг: 0 / 0
проверить наличие объекта в dw
    #33157746
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pos(Decribe(...)) безусловно абсолютно однозначный результат даст :-))
Постыдились бы, г-н Зорин...
Не говоря уж о том, что упомянутый inv_base.of_getobjects(...) делает Describe на property объекта с именем "ххх", которая обязана существовать, если сам объект есть... , причём на все объекты, а не на один, существование которого вопрошающий хотел проверить.
...
Рейтинг: 0 / 0
проверить наличие объекта в dw
    #33157790
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
if pos("!?", describe(ls_name + ".tag")) <  1  ... 
...
Рейтинг: 0 / 0
проверить наличие объекта в dw
    #33157866
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovsky
Код: plaintext
if pos("!?", describe(ls_name + ".tag")) <  1  ... 
Код: plaintext
describe(ls_name + ".name")
:-)
...
Рейтинг: 0 / 0
проверить наличие объекта в dw
    #33157886
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PL99 Anatoly Moskovsky
Код: plaintext
if pos("!?", describe(ls_name + ".tag")) <  1  ... 
Код: plaintext
describe(ls_name + ".name")


Это свойство (name) имеют не только объекты, но и столбцы в буфере. Так что - не годится.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / проверить наличие объекта в dw
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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