|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
Мне нужно получить через exe-ник, такие аргументы: логин/пароль@база Есть ли готовые решения в самом билдере или нужен код? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2010, 10:11 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
proSlavaМне нужно получить через exe-ник, такие аргументы: логин/пароль@база Есть ли готовые решения в самом билдере или нужен код? Код нужен в любом случае. Аргументы, с которыми запускается exe файл возвращает функция CommandParm ( ). ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2010, 10:14 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
Локшин Марк, Можно подробнее ... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2010, 10:19 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
proSlavaЛокшин Марк, Можно подробнее ... Для начала было бы недурно подробнее описать что нужно сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2010, 10:22 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
Локшин Марк, Мне нужно подцепить exe-ник написанный на PowerBuilder, в меню программы написанной на Delphi, там я буду передавать параметры для соединения с базой ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2010, 10:28 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
Вот нашел кое-что, принимает параметры 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 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2010, 10:32 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
proSlavaЛокшин Марк, Мне нужно подцепить exe-ник написанный на PowerBuilder, в меню программы написанной на Delphi, там я буду передавать параметры для соединения с базой Ну если просто запустить exe, тогда параметры передавать действительно разумно через командную строку. Описание функции CommandParm есть во встроенном файле-справке PB. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2010, 10:33 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
[quot proSlava]Вот нашел кое-что, принимает параметры string ls_cmd, ls_arg[] Только это "кое-что" не сработает, если например, в пароле будет использоваться пробел. Или база будет называться [My Database] ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2010, 10:40 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
Ну так можно попробовать сразу сформировать строку и запустить ее как командный файл ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2010, 13:37 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
spas2001Ну так можно попробовать сразу сформировать строку и запустить ее как командный файл И как это решит проблему? Тут нужно более хитро парсить строку с параметрами на пример того как кавычки и тильды в строке в PB задаются. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2010, 13:42 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
В том-то и дело, что он не из билдера вызывает, а из дельфи Можно просто написать в аргументы, а можно, например, в инишник Ну или не использовать алиасы/пароли с пробелами и тильдами ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2010, 20:02 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
spas2001В том-то и дело, что он не из билдера вызывает, а из дельфи Можно просто написать в аргументы Еще раз, как это поможет разобрать строку, возвращаемую CommandParm()? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2010, 10:10 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
proSlavaМне нужно подцепить exe-ник написанный на PowerBuilder, в меню программы написанной на Delphi, там я буду передавать параметры для соединения с базойСудя из сказанного, то proSlava хочет запускать из Делфи приложение на ПБ с параметрами. Если он так хочет, значит правила передачи параметров (имеется в виду имена, разделители оных и т.д.) в приложение на ПБ должно быть известно заранее если оно обеспечивает такую функциональность. Если этого нет, то нужно с разрабами на ПБ устаканить символа-разделители, имена параметров и т.п. Если волнует только вопрос "Может ли ПБ принимать параметры коммандной строки?" - ответ ДА. Ранее про это уже сказали. Могу только добавить, что еще есть параметр Commandline у объекта Application. Можно использовать его. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2010, 18:34 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
Можно записать параметры в ini-файл, а при открытии PB-программы - считать их (как альтернативный вариант командной строке) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2010, 17:30 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
spas2001Можно записать параметры в ini-файл, а при открытии PB-программы - считать их (как альтернативный вариант командной строке) Только это может оказаться неприемлемым с точки зрения безопасности. Да и зачем использовать файл, когда и без него можно обойтись. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2010, 19:04 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
Вот насчет безопасности, ты абсолютно прав Марк, у пользователя может просто не быть прав на модификацию файла. Это я так, как альтернативу предложил:) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2010, 19:32 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
А есть встроенная функция которая бы парсила эту строку разделив ее на отдельные части? ... потом подставить их в SQLCA: SQLCA.DBMS = "O73 ORACLE 7.3" SQLCA.LogPass = "?" SQLCA.ServerName = "?" SQLCA.LogId = "?" SQLCA.AutoCommit = False SQLCA.DBParm = "" ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2010, 16:49 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
proSlava, Нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2010, 16:52 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
Какие могут быть еще варианты? Код, обекты ...? Если можно пример. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2010, 16:59 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
proSlavaКакие могут быть еще варианты? Код, обекты ...? Если можно пример. Придумать синтаксис задания параметров и написать простенький парсер, который посимвольно разбирает строку. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2010, 17:02 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
2 proSlava Есть такая библиотека Funcky. В ней очень много полезных строковых ф-ций и не только ... . Тестировалась с 5 версии ПБ по 11.5 - все Ок. Если нет проблем с использованием внешних ДЛЛ - могу поделиться. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2010, 11:16 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
PaulJB 2 proSlava Есть такая библиотека Funcky. В ней очень много полезных строковых ф-ций и не только ... . Тестировалась с 5 версии ПБ по 11.5 - все Ок. Если нет проблем с использованием внешних ДЛЛ - могу поделиться. Скинь, пожалуйста ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2010, 11:48 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
Скину, но только в субботу :( - сейчас нет возможности. Какая версия ПБ у Вас? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2010, 18:06 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
PaulJB, 7, есть и 11 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2010, 08:40 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
В первой форме, я создал 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 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2010, 10:45 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
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; А ошибку подключения в этом месте обрабатывать Пушкин будет? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2010, 11:08 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
Локшин Марк, Я в билдере новичок. Как написать исключение при ошибке? ... Вот еще что нарыл SetTransObject -это для гибкого управления (commit, rollback, и т.д.) SetTrans - это соединение в "лоб". Сделал в "лоб", при запуске из exe-ника выдает такую ошибку: ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2010, 11:13 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
proSlavaЛокшин Марк, Я в билдере новичок. Как написать исключение при ошибке? Обработать ошибку, содержащуюся в SQLCA.SQLCode, SQLCA.SQLDBCode, SQLCA.SQLErrText. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2010, 11:33 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
Локшин Марк, Обработчик добавил. Как теперь мне сделать подключение для ДВ. Если можно без библиотек PFC, PFE ... так как они у меня просят какого-то обновления. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2010, 14:31 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
proSlavaЛокшин Марк, Обработчик добавил. Как теперь мне сделать подключение для ДВ. Если можно без библиотек PFC, PFE ... так как они у меня просят какого-то обновления. Ну и что? Ошибка какая-то возвращается? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2010, 14:36 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
Марк, там же на картинке видно Проверьте доступность базы утилитой tnsping, в данном случае элементарно не видно базы ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2010, 18:41 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
spas2001, Ну как написано можно понять что при выполнении CONNECT все проходит нормально... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2010, 10:39 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
proSlavaЛокшин Марк, Я в билдере новичок. Как написать исключение при ошибке? ... Вот еще что нарыл SetTransObject -это для гибкого управления (commit, rollback, и т.д.) SetTrans - это соединение в "лоб". Сделал в "лоб", при запуске из exe-ника выдает такую ошибку: [DataBase] DBMS=O10 Oracle10g (10.1.0) ServerName=ORCL1 DBParm=TableCriteria=',feu',DecimalSeparator='.',staticbind=1,DisableBind=1,DelimitIdentifier='Yes' в параметре ServerName должно стоять имя TNS(имя SID). ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2010, 10:06 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
Не могу понять в чем может быть дело? Когда ввожу вручную параметры соединения gs_connectparm = "login/pass@base" ... соединение проходит нормально Когда передаю эти параметры через exe-ник так gs_connectparm = Trim(commandline) или так gs_connectparm = Trim(commandParm()) ... выдает ошибку что TNS не найден. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2010, 09:44 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
proSlavaНе могу понять в чем может быть дело? Когда ввожу вручную параметры соединения gs_connectparm = "login/pass@base" ... соединение проходит нормально Когда передаю эти параметры через exe-ник так gs_connectparm = Trim(commandline) или так gs_connectparm = Trim(commandParm()) ... выдает ошибку что TNS не найден. Ну мало ли, может вызывающая программа что-то не так передает. После gs_connectparm = Trim(commandParm()) выведите на экран эту переменную, убедитесь что там то что нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2010, 10:43 |
|
Получение передаваемых аргументов в коде программы.
|
|||
---|---|---|---|
#18+
proSlavaНе могу понять в чем может быть дело? Когда ввожу вручную параметры соединения gs_connectparm = "login/pass@base" ... соединение проходит нормально Когда передаю эти параметры через exe-ник так gs_connectparm = Trim(commandline) или так gs_connectparm = Trim(commandParm()) ... выдает ошибку что TNS не найден. Включите в код MessageBox("",gs_connectparm ) и посмотрите что на самом деле в gs_connectparm. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2010, 10:44 |
|
|
start [/forum/topic.php?all=1&fid=15&tid=1335855]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
others: | 296ms |
total: | 442ms |
0 / 0 |