|
Запуск внешней программы из VFP
|
|||
---|---|---|---|
#18+
Здравствуйте! Требуется запустить внешнюю программу с набором параметров. Вот конкретный пример: RUN "c:\tools\Downloads\ReCode\encode -dw c:\vk_cards\stt\03050221.stt c:\123.txt" Это не работает, хотя из командной строки работает. Что делать?? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2005, 17:20 |
|
Запуск внешней программы из VFP
|
|||
---|---|---|---|
#18+
Я думаю этого тебе хватит! :)) хе-хе *************** Выполняет команды и программы внешней операционной системы. Синтаксис RUN [/N [K]] MS-DOSCommand | ProgramName или ! [/N [K]] MS-DOSCommand | ProgramName Параметры MS-DOSCommand Задает команду MS-DOS, которую следует выполнить. Подробнее о доступных командах MS-DOS см. документацию по MS-DOS. ProgramName Задает программу или приложение, которые следуте выполнить. В FoxPro для MS-DOS можно задать только программу или приложение на базе MS-DOS. В Visual FoxPro и FoxPro для Windows можно задать программу или приложение как на базе Windows, так и на базе MS-DOS. /N [K] В FoxPro для MS-DOS задает объем памяти, которую FoxPro для MS-DOS делает доступной для выполнения внешних программ. N является числовым значением, задающим в килобайтах (K) объем памяти, выделяемой для команды RUN В Visual FoxPro и FoxPro для Windows опция /N задает NOWAIT. Задайте букву N (не заменяя ее числом и не добавляя букву K), чтобы выполнить другое Windows-приложение. Комментарии Допустима только в Visual FoxPro, FoxPro для Windows и FoxPro для MS-DOS. Команду RUN можно выдавать как в окне команд, так и в программе. В FoxPro для Macintosh команда RUN игнорируется. Важное замечание Чтобы командой RUN можно было пользоваться, файл операционной системы COMMAND.COM должен находиться в текущем каталоге или же необходимо указать, где его можно найти с помощью параметра COMSPEC системы MS-DOS. Подробнее об установке COMSPEC см. документацию по MS-DOS. Внимание Командой RUN нельзя пользоваться в Visual FoxPro для запуска программ реорганизации диска, таких как CHKDSK. Подобные программы модифицируют содержимое диска таким образом, что это может нарушить правильный ход работы Visual FoxPro. Команда RUN и FoxPro для MS-DOS В FoxPro для MS-DOS имеется утилита управления памятью FoxSwap, которую можно использовать для того, чтобы предоставить больше памяти в распоряжение команды RUN. Опции /N и /NK команды RUN задают объем памяти, которую FoxPro для MS-DOS предоставляет для выполнения внешних программ. N ѕ это числовое значение, которое определяет объем памяти в килобайтах (K), выделяемой команде RUN. Саму букву N при этом задавать не нужно. Чтобы использовать FoxSwap по максимуму, задайте N = 0. FoxPro для MS-DOS предоставит команде RUN максимально возможный объем памяти. Если вы задали в качестве N значение, большее нуля, FoxPro для MS-DOS делает следующее: · Сбрасывает буферы на диск. · Инициирует команду RUN, если имеется N килобайт свободной памяти. Если такого объема доступной памяти нет, FoxPro для MS-DOS активизирует утилиту FoxSwap. Например, чтобы получить для работы внешнего текстового редактора MYEDITOR 120 килобайт памяти, можно выдать следующие команды: RUN /120 MYEDITOR ! /120K MYEDITOR. С помощью FoxSwap можно выполнять и более крупные внешние программы, но учтите, что на работу самой утилиты FoxSwap расходуется определенное время. Совет Определите объем памяти, требуемый для выполнения внешней программы. Не задавайте больше памяти, чем необходимо. Если вы получили достаточно памяти, FoxSwap не будет использоваться и команда RUN выполнится быстрее. Команда RUN и Visual FoxPro/FoxPro для Windows Когда команда RUN используется для выполнения программ, внешних по отношению Visual FoxPro и FoxPro для Windows, она ищет эти программы немного по-другому, чем в FoxPro для MS-DOS. Если имя программы задано в команде RUN без расширения, Visual FoxPro и FoxPro для Windows сначала ищут в каталогах пути MS-DOS файл Program Information File (PIF) с заданным именем. С помощью файла PIF под Windows можно запускать программы из другой среды. Вы можете задать параметры для программы, указать, где она должна выполняться ѕ в окне или во весь экран, определить объем выделяемой программе памяти и т.д. Если файл PIF найден, заданная в нем программа выполняется с параметрами PIF. Если файл PIF не найден, продолжается просмотр каталогов пути MS-DOS в поисках исполняемого файла с заданным именем. Если файл PIF не найден, Visual FoxPro и FoxPro для Windows использует системный файл FOXRUN.PIF, установленный в каталоге Visual FoxPro и FoxPro для Windows. Файл FOXRUN.PIF настроен на выполнение программы в окне. Если вы хотите, чтобы программы работали в другой конфигурации, можете модифицировать файл FOXRUN.PIF. Файл FOXRUN.PIF С помощью файла FOXRUN.PIF можно выполнять программы и команды MS-DOS и Windows в среде Visual FoxPro и FoxPro для Windows. Файл FOXRUN.PIF должен находиться в том же каталоге, где находится файл FOXPROW.EXE (в FoxPro для Windows) или VFP.EXE (в Visual FoxPro). В FoxPro для MS-DOS опции /N и /NK задают число, указывающее объем памяти, резервируемой для внешних программ. В Visual FoxPro и FoxPro для Windows опция /N означает NOWAIT. Если в Visual FoxPro и FoxPro для Windows задать букву N (не заменяя ее числовым значением и не указывая букву K), то будет выполнено другое приложение среды Windows. Например, следующий оператор открывает реквизит Windows Character Map: ! /N CHARMAP.EXE В следующем примере из Панели управления Windows открывается диалоговое окно Color: ! /N CONTROL COLOR Windows-приложение, выполняемое по команде RUN /N или ! /N, ведет себя точно так же, как если бы оно было открыто в Диспетчере программ или в Диспетчере файлов. Вы можете переключаться между приложением и средой Visual FoxPro или FoxPro для Windows, используя стандартные операции Windows. Сразу после опции /N можно задать числовое значение, которое определяет, в каком виде следует открывать Windows-приложение. Между /N и числовым значением не должно быть никаких пробелов. В следующей таблице перечисляются допустимые числовые значения и описывается, в каком состоянии открывается Windows-приложение в каждом случае. Значение Атрибуты приложения 1 Активное, обычных размеров 2 Активное, свернутое 3 Активное, развернутое 4 Неактивное, обычных размеров 7 Неактивное, свернутое Запуск программ MS-DOS в Visual FoxPro и FoxPro для Windows По умолчанию файл FOXRUN.PIF запускает заданную внешнюю программу MS-DOS в отдельном окне. Пока эта программа или команда MS-DOS выполняется, окно имеет заголовок FoxPro Run Command. После того как внешняя программа или команда закончит выполнение, заголовок окна изменится на Inactive FoxPro Run Command. Система меню FoxPro будет недоступна, пока окно открыто. В Visual FoxPro окно FoxPro Run Command закрывается после завершения выполнения внешней программы или команды. С помощью Редактора PIF системы Windows Вы можете настроить файл FOXRUN.PIF. В этом файле можно указать, должно ли неактивное окно FoxPro Run Command оставаться открытым (как это делается по умолчанию в FoxPro для Windows) или закрываться (по умолчанию в Visual FoxPro), используя флажок Close Window on Exit; если установить переключатель Full Screen, внешние программы будут открываться во весь экран; можно выделить память программе и т.д. Выделение памяти По умолчанию файлу FOXRUN.PIF для выполнения внешней команды или программы выделяется не менее 256 Kбайт памяти. Если у вас нет 256 Кбайт свободной основной памяти, Visual FoxPro и FoxPro для Windows выдадут сообщение об ошибке. Чтобы справиться с этой проблемой, воспользуйтесь одним из следующих методов (или обоими сразу): · Закройте приложения и файлы, чтобы освободить память. · Отредактируйте FOXRUN.PIF, уменьшив в текстовом поле KB Required объем требуемой памяти. Если внешней команде нужно больше 256 Кбайт, MS-DOS выдаст сообщение об ошибке в окне Visual FoxPro Run Command. В этом случае отредактируйте свой файл FOXRUN.PIF, увеличив объем требуемой памяти в текстовом поле KB Required. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2005, 17:36 |
|
Запуск внешней программы из VFP
|
|||
---|---|---|---|
#18+
Спасибо, конечно, но то что вы мне привели я мог прочитать в help для VFP, только на английском. Мне как раз и не ясен вопрос, как запустить внешнюю программу с параметрами. Я так понимаю, что я не правильно указыва/перечисляю/передаю параметры. Советы??? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2005, 17:54 |
|
Запуск внешней программы из VFP
|
|||
---|---|---|---|
#18+
Hi travek! Сделай поиск по "ShellExecute", или если нужно дождаться завершения работы внешней программы по "CreateObject Posted via ActualForum NNTP Server 1.3 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2005, 23:46 |
|
Запуск внешней программы из VFP
|
|||
---|---|---|---|
#18+
Igor Korolyov А примера у вас нету для ShellExecute и CreateObject? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2005, 09:32 |
|
Запуск внешней программы из VFP
|
|||
---|---|---|---|
#18+
Вот, например, как используется архиватор через Shell execute: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2005, 10:10 |
|
Запуск внешней программы из VFP
|
|||
---|---|---|---|
#18+
Sergey Ch Спасибо, огромное!! ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2005, 11:24 |
|
Запуск внешней программы из VFP
|
|||
---|---|---|---|
#18+
1. А как избежать появления черного экрана в окне, похожем на досовское, которое появляется на мгновение даже при запуске Win-программ? А то некрасиво получается... 2. Можно ли это сделать в RUN или только в ShellExecute? 3. Начиная с какой версии VFP есть ShellExecute? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2006, 17:58 |
|
Запуск внешней программы из VFP
|
|||
---|---|---|---|
#18+
1. Запускать run /n ... 2. см. 1. 3.Это Win IP функция LPARAMETERS tcFullFileName IF NOT EMPTY(tcFullFileName) DECLARE INTEGER ShellExecute IN SHELL32.DLL ; INTEGER nWinHandle, ; STRING cOperation, ; STRING cFileName, ; STRING cParameters, ; STRING cDirectory, ; INTEGER nShowWindow =ShellExecute(0,"open",FULL(tcFullFileName),0,JUSTPATH(tcFullFileName),1) ENDIF ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2006, 18:59 |
|
Запуск внешней программы из VFP
|
|||
---|---|---|---|
#18+
перед ВСЕМИ вызовами внешней win-программы из меню: RUN /1 c:\Wincmd\Wincmd32.exe wait RUN /2 c:\Wincmd\Wincmd32.exe wait RUN /3 c:\Wincmd\Wincmd32.exe wait RUN /4 c:\Wincmd\Wincmd32.exe wait RUN /5 c:\Wincmd\Wincmd32.exe wait RUN /6 c:\Wincmd\Wincmd32.exe wait RUN /7 c:\Wincmd\Wincmd32.exe wait появляется черный экран. Не получается от него избавиться... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2006, 23:37 |
|
Запуск внешней программы из VFP
|
|||
---|---|---|---|
#18+
Евгений Луценкоперед ВСЕМИ вызовами внешней win-программы из меню: RUN /1 c:\Wincmd\Wincmd32.exe wait RUN /2 c:\Wincmd\Wincmd32.exe wait RUN /3 c:\Wincmd\Wincmd32.exe wait RUN /4 c:\Wincmd\Wincmd32.exe wait RUN /5 c:\Wincmd\Wincmd32.exe wait RUN /6 c:\Wincmd\Wincmd32.exe wait RUN /7 c:\Wincmd\Wincmd32.exe wait появляется черный экран. Не получается от него избавиться... ??? /N Specifies NOWAIT. Include /N to execute another Windows-based application. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2006, 05:13 |
|
Запуск внешней программы из VFP
|
|||
---|---|---|---|
#18+
RUN /N F:\WINDOWS\system32\calc.exe Has received perfectly, I thank! ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2006, 07:56 |
|
Запуск внешней программы из VFP
|
|||
---|---|---|---|
#18+
travek, здравствуй, можешь разместить код программы, запускающий внешнюю программу с параметрами? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2013, 12:09 |
|
|
start [/forum/topic.php?fid=41&msg=38138749&tid=1583179]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 280ms |
total: | 416ms |
0 / 0 |