|
|
|
Передача параметров в .exe
|
|||
|---|---|---|---|
|
#18+
Как правильно передать параметры в .exe файл? на Код: plaintext Может синтаксис неправильный? (Через слэш??) Один нюанс: par1 - фраза с пробелами. При передаче параметра Код: plaintext в exe-шник приходит "'компания",""ВИД"'" НЕ знаю, может вопрос ближе к MSDOS... Может, кто-нибудь уже сталкивался с такой арифметикой? Чем заменить пробелы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 10:03 |
|
||
|
Передача параметров в .exe
|
|||
|---|---|---|---|
|
#18+
run.exe /n "компания ""ВИД""" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 10:16 |
|
||
|
Передача параметров в .exe
|
|||
|---|---|---|---|
|
#18+
не катит Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 10:46 |
|
||
|
Передача параметров в .exe
|
|||
|---|---|---|---|
|
#18+
START.PRG PARAMETERS Par1, Par2, Pa3 а после компиляции: Start.exe 'Параметр 1', 'Параметр ', 'Параметр 3' вроде так - навскидку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 11:36 |
|
||
|
Передача параметров в .exe
|
|||
|---|---|---|---|
|
#18+
Да, так. Только есть в одном параметре фраза с кавычками, вот беда. Никак не проходит параметр. Если без кавычек, то все просто Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 11:59 |
|
||
|
Передача параметров в .exe
|
|||
|---|---|---|---|
|
#18+
Alex_UstinovДа, так. Только есть в одном параметре фраза с кавычками, вот беда. Никак не проходит параметр. Если без кавычек, то все просто Код: plaintext Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 12:07 |
|
||
|
Передача параметров в .exe
|
|||
|---|---|---|---|
|
#18+
О-хо-хо... Уж сколько раз твердили миру... Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 12:08 |
|
||
|
Передача параметров в .exe
|
|||
|---|---|---|---|
|
#18+
проходящийО-хо-хо... Уж сколько раз твердили миру... Код: plaintext Прочти первый пост ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 12:09 |
|
||
|
Передача параметров в .exe
|
|||
|---|---|---|---|
|
#18+
Мда-с, стормозил. Теперь по существу: передавать в командную строку двойные кавычки нельзя ни под каким соусом. Там это ограничитель текстовых строк. Заменить на что угодно другое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 12:32 |
|
||
|
Передача параметров в .exe
|
|||
|---|---|---|---|
|
#18+
Не может такого быть... Для формы все работает!.. В форму могу передать любой параметр: Код: plaintext Нее, для меня это фоксовый ГЛЮК...(Здесь играть так, а здесь, блин, жирные пятна, без бемолей и диезов...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 13:43 |
|
||
|
Передача параметров в .exe
|
|||
|---|---|---|---|
|
#18+
Alex_UstinovНе может такого быть... Для формы все работает!.. В форму могу передать любой параметр: Код: plaintext Нее, для меня это фоксовый ГЛЮК...(Здесь играть так, а здесь, блин, жирные пятна, без бемолей и диезов...) Кстати, а так [Папа купил "Беломор"] не пробовал передавать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 13:50 |
|
||
|
Передача параметров в .exe
|
|||
|---|---|---|---|
|
#18+
Для формы все работает!.. Форма и командная строка операционной системы - две очеь большие разницы! Передача параметров форме происходит внутри фокса, а командная строка операционной системы к фоксу не имеет никакого отношения и была придумана задолго до появления фокса и не расчитана на такие изыски. Вы еще поудивляейтесь почему это в командной строке фоксовы команды и операторы не работают... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 14:03 |
|
||
|
Передача параметров в .exe
|
|||
|---|---|---|---|
|
#18+
[Папа купил "Беломор"] в форму передается "[Папа", "купил", "Беломор","]" Так я пробовал, после этого удивился и задал вопрос на форуме... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 14:09 |
|
||
|
Передача параметров в .exe
|
|||
|---|---|---|---|
|
#18+
Запихни нужную строку в текстовый файл и в качестве параметра передавай имя с полным путем доступа к этому файлу. В FoxPro анализируй содержимое полученного файла. Можно использовать настроечные ini-файлы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 14:31 |
|
||
|
Передача параметров в .exe
|
|||
|---|---|---|---|
|
#18+
Ты аккуратно понтуйся, проходишь и проходи... Тебе задерживаться нельзя, а то нос вспухнет, мальчик. На "воплосики" надо отвечать "ответиками" Если ты тупорылый, то не надо считать такими других. Ловит (для тебя проходящий, "принимает") параметры не операцонка (для тебя проходящий, "операционная система"), а Фокс (для тебя проходящий, "среда FoxPro") и ошибку не выдает ни то ни другое. То что Фокс - с "юювнецом" - это надо понять и воспринять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 14:48 |
|
||
|
Передача параметров в .exe
|
|||
|---|---|---|---|
|
#18+
Извиняюсь, последний топик к телу без лица (проходящий) Хочу передать оракловую строку соединения. Так там сидит пароль - внешние файлы , ini-шники исклю-ся. Кавычки убирать не хотелось бы, а ПРИДЕТСЯ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 14:57 |
|
||
|
Передача параметров в .exe
|
|||
|---|---|---|---|
|
#18+
Ловит (для тебя проходящий, "принимает") параметры не операцонка (для тебя проходящий, "операционная система"), а Фокс (для тебя проходящий, "среда FoxPro") и ошибку не выдает ни то ни другое. В фоксе команда RUN передает все, что идет после нее в командную строку операционной системы и никаким образом не анализирует. То есть в командную строку операционнойсистемы передается это: Код: plaintext Точка. Учите матчасть. Девочка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 15:09 |
|
||
|
Передача параметров в .exe
|
|||
|---|---|---|---|
|
#18+
Поскольку кавычки передать не получится, то их надо чем-то заменить. 1) Заменить кавычки на спец.сиволы, например run.exe "Папа купил пачку _Беломорканал_" А уже в коде FoxPro делаешь обратную замену 2) Передай 2 параметра примерно так: run.exe "Папа купил пачку Беломорканал" "17,29" Первый параметр - это строка из которой вообще исключены кавычки Второй параметр - это номера позиций через запятую, где должны быть кавычки. Позиции относительно первого параметра. Т.е. строки вообще без кавычек Здесь преимущество в том, что нет спец.символов. Никаких. Даже пробелов. 3) Если речь идет о строке соединения, то ее структура известна. Количество параметров конечно. Вот и передавай не саму строку, а ее параметры. Собственно сборку строки соединения делай уже внутри EXE. Можно в качестве первых параметров передать тип соединения. В смысле, к какому серверу и каким способом подключаемся (MS SQL или Oracle, ODBC или ADO). Далее по этому параметру выбрать тип собираемой строки соединения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 18:10 |
|
||
|
Передача параметров в .exe
|
|||
|---|---|---|---|
|
#18+
проходящий Ловит (для тебя проходящий, "принимает") параметры не операцонка (для тебя проходящий, "операционная система"), а Фокс (для тебя проходящий, "среда FoxPro") и ошибку не выдает ни то ни другое. В фоксе команда RUN передает все, что идет после нее в командную строку операционной системы и никаким образом не анализирует. То есть в командную строку операционнойсистемы передается это: Код: plaintext Точка. Учите матчасть. Девочка. Молодец, так в Хэлпе и написано: Код: plaintext 1. 2. Я же написал вроде бы понятно, : неважно откуда ты вызываешь командную строку, я сам проверял не из Фокса, а из Far'a. Но запускается опять приложение, написанное на ФОКСЕ, вот оно-то активизирует рантайм Фокса который и обрабатывает переданные параметры, а не MSDOS. И ошибки, если таковые имеются, выдаются в среде VFP, а не в сессии MSDOS. Поиграйся с VFPVersionNumber.exe, там много параметров для запуска. Осваивай Help. Мат часть лучше не трогай, начни с азов. Не забивай эфир, следи за своим базаром. Здесь все-таки люди неглупые собираются. Сообщай только по делу, воду лить не надо. Не знаешь - проходи мимо. ---------------------------------------------------- To ВладимирМ: Да,так и сделал. Заменил кавычки при передаче параметра, на входе обработал Для Оракла нет смысла дробить на параметры можно передать сразу всю строку соединения(в ней через ; все параметры), ее же использовать в SQLCONNECT(). Так что все нормально, кавычки в параметре сбили с толку. Всем спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2006, 01:35 |
|
||
|
Передача параметров в .exe
|
|||
|---|---|---|---|
|
#18+
Я же написал вроде бы понятно, : неважно откуда ты вызываешь командную строку, я сам проверял не из Фокса, а из Far'a. Правильно, неважно. Но не важно и что ты из нее вызываешь. Важно то, что все это происходит через командную строку операционной системы. [/quot] Но запускается опять приложение, написанное на ФОКСЕ, вот оно-то активизирует рантайм Фокса который и обрабатывает переданные параметры, а не MSDOS. Но перед этим их все-таки обрабатывает интерпретатор командной строки операционносистемы и именно там происходит деление строки на название вызываемой программы и параметры. [quot] И ошибки, если таковые имеются, выдаются в среде VFP, а не в сессии MSDOS. Правильно, ибо параметры приходят из командной строки операционной системы поделенные не так как ожидала вызываемая программа. Поиграйся с VFPVersionNumber.exe, там много параметров для запуска. Осваивай Help. Мат часть лучше не трогай, начни с азов. Не забивай эфир, следи за своим базаром. Здесь все-таки люди неглупые собираются. А вот тут еще можно поспорить кому чего лучше делать или не делать и кто кого может поучить. В качестве упражнения на знание матчасти предлагаю написать простенькую программулю на любом распостраненном языке, которая бы выдавала на экран список переданных ей в командной строке параметров, и посмотреть, что она будет выдавать в случае передачи ей параметров, содержащих двойные кавычки. И как уже указывалось - фокс здесь вообще никаким боком не лежит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2006, 09:13 |
|
||
|
Передача параметров в .exe
|
|||
|---|---|---|---|
|
#18+
авторА вот тут еще можно поспорить кому чего лучше делать или не делать и кто кого может поучить. В качестве упражнения на знание матчасти предлагаю написать простенькую программулю на любом распостраненном языке, которая бы выдавала на экран список переданных ей в командной строке параметров, и посмотреть, что она будет выдавать в случае передачи ей параметров, содержащих двойные кавычки. И как уже указывалось - фокс здесь вообще никаким боком не лежит. Повторяю: Код: plaintext 1. 2. 3. Модераторам наверное пора закрывать тему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2006, 17:52 |
|
||
|
Передача параметров в .exe
|
|||
|---|---|---|---|
|
#18+
Hi Alex! DECLARE INTEGER GetCommandLine IN WIN32API ? SYS(2600, GetCommandLine(), 1000) ? STRCONV(SYS(2600, GetCommandLine(), 1000), 15) изучай, думай - это чистый АПИ - вряд-ли фокс мог тут что-то сам изменить... P.S. не использую STRING в качестве типа возвращаемого значения функции, т.к. тогда обрезает всё что находится после первого CHR(0). Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 17:54 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33759717&tid=1591514]: |
0ms |
get settings: |
6ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
132ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 391ms |

| 0 / 0 |
