powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Как обратиться к переменной по имени
19 сообщений из 19, страница 1 из 1
Как обратиться к переменной по имени
    #33607504
Chistyakov Victor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PB 7.0 Расскажите есть ли возможность обратиться к переменной объявленной в дженерике по ее имени?
т.е. Есть переменная il_ID. На вход поступает значение переменной и строка с именем переменной. Возможно ли проинициализить ее таким образом?
...
Рейтинг: 0 / 0
Как обратиться к переменной по имени
    #33607549
Фотография Ikar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для начала - встречный вопрос: а зачем?
---
С уважением, IKAR

ikar@ikarhomecenter.ru
IkarHomeCenter
...
Рейтинг: 0 / 0
Как обратиться к переменной по имени
    #33607583
Chistyakov Victor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Реализуется задача импорта.
Есть базовый дженерик и файл с данными которые надо импортнуть, и алгоритм импорта. В файле в котором содержатся данные по задумке необходимо указать имена переменных и соответствующие им значения для инициализации дженерика. После инициализации вызываем процедуру вставки или апдейта. Но вся проблема в том что количество переменных разное и соответственно называются по разному. Вот отсюда и необходимость обратиться к переменной зная только ее имя.
...
Рейтинг: 0 / 0
Как обратиться к переменной по имени
    #33607697
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Редкостное извращение....
Можно попробовать через ссылки
Хотя может пересмотреть идею
...
Рейтинг: 0 / 0
Как обратиться к переменной по имени
    #33607848
Фотография Ikar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извините, может быть туплю, но что такое "дженерик"?
spas2001Редкостное извращение....
...
Согласен...

А вообще, на вскидку, "решение в лоб":
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
CHOOSE CASE str_Value
  CASE "var_1"
    var1 = value
  ...
  CASE "var_n"
    var_n = value
END CHOOSE

Хотя, на Вашем месте, я бы всетаки действительно пересмотрел идею. Можно, например, слелать вместо переменных массив структур из двух полей - имя : значение - с массивом работать легче...
---
С уважением, IKAR

ikar@ikarhomecenter.ru
IkarHomeCenter
...
Рейтинг: 0 / 0
Как обратиться к переменной по имени
    #33607967
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну почему же извращение.
Человеку хочется аналог Ораклового execute immediate. Когда формируется строка с вызовом ф-ции объекта с таким же динамическим строчным заданием свойств этого самого объекта с последующим выполнением.
Зачем это нужно? Да например для того, чтоб можно было легко расширить функциональность приложения просто создав новый файл с параметрами, в которых указаны имена нужных объектов, функция и параметры для загрузки данных. Конечно же при условии того, что такой объект уже есть.
Такую весчь достаточно легко организовать в Жабе. И действительно интересно, можно ли наваять на Билдере.
...
Рейтинг: 0 / 0
Как обратиться к переменной по имени
    #33607996
Chistyakov Victor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сорри, под дженериком имелся ввиду базовый класс ;)
Вариант с CASE конечно самый очевидный но тогда теряется динамика. А задумано было это все для того чтобы можно было импортнуть любой справочник имея на руках данные для импорта и некое описание как его импортить. Т.е. задача импорта сводилась бы только к подготовке таких файлов.
...
Рейтинг: 0 / 0
Как обратиться к переменной по имени
    #33608094
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chistyakov VictorСорри, под дженериком имелся ввиду базовый класс ;)
Вариант с CASE конечно самый очевидный но тогда теряется динамика. А задумано было это все для того чтобы можно было импортнуть любой справочник имея на руках данные для импорта и некое описание как его импортить. Т.е. задача импорта сводилась бы только к подготовке таких файлов.

А чем DW не подошло?
...
Рейтинг: 0 / 0
Как обратиться к переменной по имени
    #33608108
Chistyakov Victor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не подошло для чего?
...
Рейтинг: 0 / 0
Как обратиться к переменной по имени
    #33608199
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovsky
А чем DW не подошло?
По всей видимости тем, что структура справочников не представляет собой одну таблицу, а связана с навороченной логикой, и отдать вставку/обновление/удаление записей на откуп ДВ не представляется возможным...

ПС: насколько я понял, имеется в виду задача не просто импорта простого справочника, а скорее интеллектуальная синхронизация справочников в двух базах.
...
Рейтинг: 0 / 0
Как обратиться к переменной по имени
    #33608385
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim Romanenko Anatoly Moskovsky
А чем DW не подошло?
По всей видимости тем, что структура справочников не представляет собой одну таблицу, а связана с навороченной логикой, и отдать вставку/обновление/удаление записей на откуп ДВ не представляется возможным...


Что мешало вместо набора инстанс переменных использовать одно DW в котором имена полей сделать равными именам тех переменных?
...
Рейтинг: 0 / 0
Как обратиться к переменной по имени
    #33608390
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chistyakov VictorPB 7.0 Расскажите есть ли возможность обратиться к переменной объявленной в дженерике по ее имени?
т.е. Есть переменная il_ID. На вход поступает значение переменной и строка с именем переменной. Возможно ли проинициализить ее таким образом?
Ответ простой - НЕЛЬЗЯ, ни в какой версии.
...
Рейтинг: 0 / 0
Как обратиться к переменной по имени
    #33608391
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не понимаю зачем заносить значения именно в переменные?

Самая здравая идея была у Ikar - пары Name:Value

Сделать структуру
string name
any value
и объект-коллекцию таких структур с двумя функциями
set(string name, any value)
any get(string name)

Как вариант - для хранения значений использовать dw но строить его динамически в соответствии с описанием полей.
Аргумен про "отдавать на откуп" не понял совсем - сохранение можно делать на SP куда можно вынести логику любой сложности.

Зорин А.
"I love deadlines. I like the whooshing sound they make as they fly by."
-- Douglas Adams
...
Рейтинг: 0 / 0
Как обратиться к переменной по имени
    #33608402
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ФилиппОтвет простой - НЕЛЬЗЯ, ни в какой версии.
Ого! Что то Вы рано сегодня так? семь утра?!
...
Рейтинг: 0 / 0
Как обратиться к переменной по имени
    #33608429
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗоринАндрей ФилиппОтвет простой - НЕЛЬЗЯ, ни в какой версии.
Ого! Что то Вы рано сегодня так? семь утра?!
Жену с дочкой на ранний самолёт отправлял, теперь жду пока сын проснётся, вот и маюсь :-)
...
Рейтинг: 0 / 0
Как обратиться к переменной по имени
    #33608477
Chistyakov Victor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да конечно, параметр-значение в данном случае хорошая связка, но учитывая что проекту уже лет 7 то поздняк метаться :( Придется как-то искусственно выворачиваться :(
...
Рейтинг: 0 / 0
Как обратиться к переменной по имени
    #33608573
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Филипп Chistyakov VictorPB 7.0 Расскажите есть ли возможность обратиться к переменной объявленной в дженерике по ее имени?
Ответ простой - НЕЛЬЗЯ, ни в какой версии.

В 9 и выше - можно. Через PBNI.
...
Рейтинг: 0 / 0
Как обратиться к переменной по имени
    #33608653
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovsky Филипп Chistyakov VictorPB 7.0 Расскажите есть ли возможность обратиться к переменной объявленной в дженерике по ее имени?
Ответ простой - НЕЛЬЗЯ, ни в какой версии.

В 9 и выше - можно. Через PBNI.
Я не рассматриваю этот вариант как ответ на вопрос, поскольку это будет не в РВ, а в С++ :-)
...
Рейтинг: 0 / 0
Как обратиться к переменной по имени
    #33609228
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Филипп Anatoly MoskovskyВ 9 и выше - можно. Через PBNI.
Я не рассматриваю этот вариант как ответ на вопрос, поскольку это будет не в РВ, а в С++ :-)
Тем более что речь идет о PB7 :)
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Как обратиться к переменной по имени
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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