powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Получение передаваемых аргументов в коде программы.
25 сообщений из 37, страница 1 из 2
Получение передаваемых аргументов в коде программы.
    #36871564
proSlava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне нужно получить через exe-ник, такие аргументы: логин/пароль@база
Есть ли готовые решения в самом билдере или нужен код?
...
Рейтинг: 0 / 0
Получение передаваемых аргументов в коде программы.
    #36871569
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
proSlavaМне нужно получить через exe-ник, такие аргументы: логин/пароль@база
Есть ли готовые решения в самом билдере или нужен код?
Код нужен в любом случае. Аргументы, с которыми запускается exe файл возвращает функция CommandParm ( ).
...
Рейтинг: 0 / 0
Получение передаваемых аргументов в коде программы.
    #36871580
proSlava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин Марк,

Можно подробнее ...
...
Рейтинг: 0 / 0
Получение передаваемых аргументов в коде программы.
    #36871586
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
proSlavaЛокшин Марк,

Можно подробнее ...
Для начала было бы недурно подробнее описать что нужно сделать.
...
Рейтинг: 0 / 0
Получение передаваемых аргументов в коде программы.
    #36871600
proSlava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин Марк,

Мне нужно подцепить exe-ник написанный на PowerBuilder, в меню программы написанной на Delphi, там я буду передавать параметры для соединения с базой
...
Рейтинг: 0 / 0
Получение передаваемых аргументов в коде программы.
    #36871613
proSlava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот нашел кое-что, принимает параметры

string ls_cmd, ls_arg[]
integer i, li_argcnt

// Get arguments and strip blanks from start and end of string
ls_cmd = Trim( commandParm () )

li_argcnt = 1
DO WHILE Len(ls_cmd ) > 0
// Find first blank
i =Pos( ls_cmd, " " )
// If no blanks (only one argument), set i to point to the hypothetical character after end of string
if i =0 then i =Len(ls_cmd) + 1
// Assign the arg to the arg array.No. of chars copied is one less than position of the space found with Pos
ls_arg[li_argcnt] =Left( ls_cmd, i - 1 )
// Increment the argument count for the next loop
li_argcnt = li_argcnt + 1
// Remove the argument from the string so the next argument becomes first
ls_cmd =Replace( ls_cmd, 1, i, "" )
LOOP
...
Рейтинг: 0 / 0
Получение передаваемых аргументов в коде программы.
    #36871619
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
proSlavaЛокшин Марк,

Мне нужно подцепить exe-ник написанный на PowerBuilder, в меню программы написанной на Delphi, там я буду передавать параметры для соединения с базой
Ну если просто запустить exe, тогда параметры передавать действительно разумно через командную строку. Описание функции CommandParm есть во встроенном файле-справке PB.
...
Рейтинг: 0 / 0
Получение передаваемых аргументов в коде программы.
    #36871628
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot proSlava]Вот нашел кое-что, принимает параметры

string ls_cmd, ls_arg[]
Только это "кое-что" не сработает, если например, в пароле будет использоваться пробел. Или база будет называться [My Database]
...
Рейтинг: 0 / 0
Получение передаваемых аргументов в коде программы.
    #36872171
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так можно попробовать сразу сформировать строку и запустить ее как командный файл
...
Рейтинг: 0 / 0
Получение передаваемых аргументов в коде программы.
    #36872185
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spas2001Ну так можно попробовать сразу сформировать строку и запустить ее как командный файл
И как это решит проблему? Тут нужно более хитро парсить строку с параметрами на пример того как кавычки и тильды в строке в PB задаются.
...
Рейтинг: 0 / 0
Получение передаваемых аргументов в коде программы.
    #36873117
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В том-то и дело, что он не из билдера вызывает, а из дельфи
Можно просто написать в аргументы, а можно, например, в инишник
Ну или не использовать алиасы/пароли с пробелами и тильдами
...
Рейтинг: 0 / 0
Получение передаваемых аргументов в коде программы.
    #36873701
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spas2001В том-то и дело, что он не из билдера вызывает, а из дельфи
Можно просто написать в аргументы
Еще раз, как это поможет разобрать строку, возвращаемую CommandParm()?
...
Рейтинг: 0 / 0
Получение передаваемых аргументов в коде программы.
    #36875448
PaulJB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
proSlavaМне нужно подцепить exe-ник написанный на PowerBuilder, в меню программы написанной на Delphi, там я буду передавать параметры для соединения с базойСудя из сказанного, то proSlava хочет запускать из Делфи приложение на ПБ с параметрами.
Если он так хочет, значит правила передачи параметров (имеется в виду имена, разделители оных и т.д.) в приложение на ПБ должно быть известно заранее если оно обеспечивает такую функциональность. Если этого нет, то нужно с разрабами на ПБ устаканить символа-разделители, имена параметров и т.п.
Если волнует только вопрос "Может ли ПБ принимать параметры коммандной строки?" - ответ ДА. Ранее про это уже сказали. Могу только добавить, что еще есть параметр Commandline у объекта Application. Можно использовать его.
...
Рейтинг: 0 / 0
Получение передаваемых аргументов в коде программы.
    #36878438
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно записать параметры в ini-файл, а при открытии PB-программы - считать их (как альтернативный вариант командной строке)
...
Рейтинг: 0 / 0
Получение передаваемых аргументов в коде программы.
    #36878516
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spas2001Можно записать параметры в ini-файл, а при открытии PB-программы - считать их (как альтернативный вариант командной строке)
Только это может оказаться неприемлемым с точки зрения безопасности. Да и зачем использовать файл, когда и без него можно обойтись.
...
Рейтинг: 0 / 0
Получение передаваемых аргументов в коде программы.
    #36878542
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот насчет безопасности, ты абсолютно прав Марк, у пользователя может просто не быть прав на модификацию файла. Это я так, как альтернативу предложил:)
...
Рейтинг: 0 / 0
Получение передаваемых аргументов в коде программы.
    #36883028
proSlava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А есть встроенная функция которая бы парсила эту строку разделив ее на отдельные части?

... потом подставить их в SQLCA:
SQLCA.DBMS = "O73 ORACLE 7.3"
SQLCA.LogPass = "?"
SQLCA.ServerName = "?"
SQLCA.LogId = "?"
SQLCA.AutoCommit = False
SQLCA.DBParm = ""
...
Рейтинг: 0 / 0
Получение передаваемых аргументов в коде программы.
    #36883043
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
proSlava,

Нет.
...
Рейтинг: 0 / 0
Получение передаваемых аргументов в коде программы.
    #36883075
proSlava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какие могут быть еще варианты? Код, обекты ...? Если можно пример.
...
Рейтинг: 0 / 0
Получение передаваемых аргументов в коде программы.
    #36883087
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
proSlavaКакие могут быть еще варианты? Код, обекты ...? Если можно пример.
Придумать синтаксис задания параметров и написать простенький парсер, который посимвольно разбирает строку.
...
Рейтинг: 0 / 0
Получение передаваемых аргументов в коде программы.
    #36884230
PaulJB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 proSlava
Есть такая библиотека Funcky. В ней очень много полезных строковых ф-ций и не только ... . Тестировалась с 5 версии ПБ по 11.5 - все Ок. Если нет проблем с использованием внешних ДЛЛ - могу поделиться.
...
Рейтинг: 0 / 0
Получение передаваемых аргументов в коде программы.
    #36884340
proSlava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PaulJB 2 proSlava
Есть такая библиотека Funcky. В ней очень много полезных строковых ф-ций и не только ... . Тестировалась с 5 версии ПБ по 11.5 - все Ок. Если нет проблем с использованием внешних ДЛЛ - могу поделиться.

Скинь, пожалуйста
...
Рейтинг: 0 / 0
Получение передаваемых аргументов в коде программы.
    #36885331
PaulJB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скину, но только в субботу :( - сейчас нет возможности.
Какая версия ПБ у Вас?
...
Рейтинг: 0 / 0
Получение передаваемых аргументов в коде программы.
    #36886106
proSlava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PaulJB,

7, есть и 11
...
Рейтинг: 0 / 0
Получение передаваемых аргументов в коде программы.
    #36888661
proSlava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В первой форме, я создал SQLCA объект прописал параметры

SQLCA.DBMS = "O73 ORACLE 7.3"
SQLCA.LogPass = gs_pass
SQLCA.ServerName = gs_db
SQLCA.LogId = gs_login
SQLCA.AutoCommit = False
SQLCA.DBParm = ""

Connect using SQLCA;

... при нажатии кнопки, открывается вторая форма, где для DataWindow в событии (open) пишу

dw_1.SetTransObject(SQLCA)
dw_1.retrieve()

Мне выдает ошибку что нужно вызвать SetTrans
...
Рейтинг: 0 / 0
25 сообщений из 37, страница 1 из 2
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Получение передаваемых аргументов в коде программы.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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