powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / текстовые поля в ДВ
9 сообщений из 9, страница 1 из 1
текстовые поля в ДВ
    #36467639
sboyko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
есть ПБ105.
Задача-хочется пробежать по ДВ -найти все текстовые поля и сделать в них замену.
Как это сделать в окне понятно-там есть controls и функция typeof.
В ДВ -кроме как в синтаксисе найти текстовые поля, их имена, а уж потом обрабатывать с помощью modify-ничего другого придумать не могу.(текст. поля не ВСЕ заканчиваются на _t)
с уважением
...
Рейтинг: 0 / 0
текстовые поля в ДВ
    #36467647
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
- Получаем список имен всех объектов в в виде строки с разделителем "~t":
dw.Describe("datawindow.objects")

- Проходимся по каждому имени и получаем тип
dw.Describe("объект.type")

У объектов типа Text, будет тип text :)
...
Рейтинг: 0 / 0
текстовые поля в ДВ
    #36468480
sboyko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо Анатолий!
...
Рейтинг: 0 / 0
текстовые поля в ДВ
    #36468910
tiger_sc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Anatoly Moskovsky, А для датавиндовов типа Free данный метод тоже работает?

ЗЫ. Сам делал методом, предложенным автором, т.е. перебором и модификацией. Вот так:

ls_syntax = l_dw.Describe("DataWindow.Syntax")
l_end = 1
DO WHILE True
l_start = pos(ls_syntax,'text="',l_end)
IF l_start = 0 THEN Exit;
l_start = l_start + 6
l_end = pos(ls_syntax,'"',l_start)
IF l_end = 0 THEN Exit;
ls_syntax = replace(ls_syntax, l_start, l_end - l_start, <<ЗАМЕНЯЕМЫЙ ТЕКСТ>>)
LOOP
...
Рейтинг: 0 / 0
текстовые поля в ДВ
    #36469004
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для колонок, можно было бы по Column.Count
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
текстовые поля в ДВ
    #36469154
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tiger_sc,
И для Freeform это работает, а вот Ваш код не обеспечивает корректный разбор синтаксиса DataWindow.
...
Рейтинг: 0 / 0
текстовые поля в ДВ
    #36469369
tiger_sc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Локшин Марк, что именно в коде некорректного?
...
Рейтинг: 0 / 0
текстовые поля в ДВ
    #36469410
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tiger_scЛокшин Марк, что именно в коде некорректного?
То, что ищется вхождение text= , которое может быть например в запросе или в выражении свойства DataWindow и еще в других местах тоже...
...
Рейтинг: 0 / 0
текстовые поля в ДВ
    #36469527
tiger_sc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Локшин Марк, а... У нас просто нет в БД полей с названием 'text', которые могли бы участвовать в запросе, а задача (моя) стоит переобозвать все текстовые метки датавиндова, не только названия полей, а и, в том числе, названия разделов, названия кнопок и пр. Хотя замечание интересное, учту. С запросом может быть реальная засада, если что.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / текстовые поля в ДВ
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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