Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / проверить наличие объекта в dw / 8 сообщений из 8, страница 1 из 1
08.07.2005, 17:42
    #33157569
Gosha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверить наличие объекта в dw
hi.
Можно ли как-то проверить, содержит dw объект с именем "ххх" или нет ??
PB10
...
Рейтинг: 0 / 0
08.07.2005, 17:45
    #33157573
ЗоринАндрей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверить наличие объекта в dw
получить все объекты dw.Describe("DataWindow.Objects")
и в полученной строке поискать искомый xxx.
...
Рейтинг: 0 / 0
08.07.2005, 18:57
    #33157649
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверить наличие объекта в dw
ЗоринАндрейполучить все объекты dw.Describe("DataWindow.Objects")
и в полученной строке поискать искомый xxx.
Это перебор.
Нужно сделать Describe на property объекта с именем "ххх", которая обязана существовать, если сам объект есть...
...
Рейтинг: 0 / 0
08.07.2005, 20:00
    #33157706
ЗоринАндрей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверить наличие объекта в dw
ну можно конечно и "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
08.07.2005, 21:08
    #33157746
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверить наличие объекта в dw
Pos(Decribe(...)) безусловно абсолютно однозначный результат даст :-))
Постыдились бы, г-н Зорин...
Не говоря уж о том, что упомянутый inv_base.of_getobjects(...) делает Describe на property объекта с именем "ххх", которая обязана существовать, если сам объект есть... , причём на все объекты, а не на один, существование которого вопрошающий хотел проверить.
...
Рейтинг: 0 / 0
08.07.2005, 22:30
    #33157790
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверить наличие объекта в dw
Код: plaintext
if pos("!?", describe(ls_name + ".tag")) <  1  ... 
...
Рейтинг: 0 / 0
09.07.2005, 02:07
    #33157866
PL99
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверить наличие объекта в dw
Anatoly Moskovsky
Код: plaintext
if pos("!?", describe(ls_name + ".tag")) <  1  ... 
Код: plaintext
describe(ls_name + ".name")
:-)
...
Рейтинг: 0 / 0
09.07.2005, 02:53
    #33157886
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверить наличие объекта в dw
PL99 Anatoly Moskovsky
Код: plaintext
if pos("!?", describe(ls_name + ".tag")) <  1  ... 
Код: plaintext
describe(ls_name + ".name")


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


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