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

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

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

Мне нужно подцепить exe-ник написанный на PowerBuilder, в меню программы написанной на Delphi, там я буду передавать параметры для соединения с базой
...
Рейтинг: 0 / 0
29.09.2010, 10:32
    #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
29.09.2010, 10:33
    #36871619
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение передаваемых аргументов в коде программы.
proSlavaЛокшин Марк,

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

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

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

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

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

7, есть и 11
...
Рейтинг: 0 / 0
08.10.2010, 10:45
    #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
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Получение передаваемых аргументов в коде программы. / 25 сообщений из 37, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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