это под дос SwapVectors; Exec(ProgramName, CmdLine); SwapVectors; под виндовс ShellExecute, ShellExecuteEx, CreateProcess, WinExec Ответ отправлен: 31.05.2003, 12:39 Отправитель: vitya Отвечает Bill
Здравствуйте, Ilu! Стандартная помощь: Exec (процедура) (модуль Dos) Выполняет заданную программу с заданной командной строкой. Объявление: Procedure Exec(Path, CmdLine : String);
Приложение: Ответ отправлен: 31.05.2003, 12:39 Отправитель: Bill Отвечает Pin
Добрый день, Ilu! См. функцию exec Ответ отправлен: 31.05.2003, 17:52 Отправитель: Pin Отвечает BOLT
Здравствуйте, Ilu! Вот процедура: procedure Exec(Path, CmdLine: string); Параметры: Path - полный путь к файлу CmdLine - параметры запуска. Счастливо! Ответ отправлен: 31.05.2003, 22:13 Отправитель: BOLT Отвечает Дмитрий
Доброе время суток, Ilu! Есть такая процедурка: Exec(Path, CmdLine). Здесь Path - путь к запускаемой проге, а CmdLine - ее параметры. Оба параметра - строки. Ответ отправлен: 02.06.2003, 08:59 Отправитель: Дмитрий Отвечает Tigran K. Kalaidjian
Добрый день, Ilu! Вот так: {$M $4000,65532,65532} ... uses DOS; ... exec(ИМЯ_программы,ПАРАМЕТРЫ_командной_строки); {оба параметра типа string} ... Директива M отвечает за количество памяти, выделяемой программе. Параметры директивы M: 1. размер стека 2. минимальный размер кучи 3. максимальный размер кучи Борландовский пример в приложении.
Приложение: Ответ отправлен: 31.05.2003, 13:08 Отправитель: Tigran K. Kalaidjian Отвечает DoS@
Добрый день, Ilu! Сначала выдели память под прогу! {$M 4096,0,10000} А потом испльзуй этот код: SwapVectors; Exec(Путь&ИмяВашейПрограммы, Доп_Параметры); SwapVectors; Ответ отправлен: 31.05.2003, 13:44 Отправитель: DoS@ Отвечает [MozgC]
используй команду exec Ответ отправлен: 31.05.2003, 14:22 Отправитель: [MozgC] Отвечает Tancho
Доброе время суток, Ilu! Ну смотри в Приложение!Здесь сорс код на Pascal'е двух проги : 1) Программа 'V260' вызывает программа 'Pr_kmr.exe'; 2) Программа 'pr_kmr.exe' вызываеться с двум параметром; В принципе как видно и из сорс код 'V260.pas' число параметров не фиксирано, каждая прога можно имет : 0,1,2, и т.д. параметров; У вызывающая програма( в моем примере это 'V260.pas' ) директима {$M} обязательна!
Приложение: Ответ отправлен: 02.06.2003, 19:18 Отправитель: Tancho
Вопрос № 261
Зравствуйте уважаемые Эксперты! Не могли бы вы посмотреть почему не происходит присваивание q^.info^.name:=name; Name в процедуру передается нормально, а самого присваивания не происходит. Спасибо.
Добрый день, Leonid! После завершения процедуры вся динамика удаляется
Ответ отправлен: 31.05.2003, 21:49 Отправитель: Shurik Отвечает --- Нет данных ---
Добрый день, Leonid! У меня присваивает. Возможно, нужно сменить ограничения на размер string'ов с 20/30 на 255. В приложении, как я пробовал.
Приложение: Ответ отправлен: 01.06.2003, 14:49 Отправитель: --- Нет данных --- Отвечает BOLT
Приветствую Вас, Leonid! Эх...повнимательнее: для q ты выделили память, а дляinfo кто будет выделять?Дядя Билл? :з) И вообще чтоб таких фигень не было, программисты используют объекты.Не пугайся - рано или поздно придется их изучать. Счастливо! Ответ отправлен: 01.06.2003, 18:22 Отправитель: BOLT Отвечает Tancho
Приветствую Вас, Leonid! Извините пожалуйста, а Вы откомпилировали это что предлагаете для просмотра? Я спрашиваю потому что не вижу где определеный last & first? Kak Bы поняли что присваивание Name не произходит? Где Ваша прога? Кагда другой раз хочешь кто то тебе помочь давай проблем в целом, а не отдельный фрагмент!А сейчас смотри приложение, здесь присваивание произходить! P.S. Прога компилирована, линквана и выполнена через IDE Borland Pascal v.7.0.
Приложение: Ответ отправлен: 02.06.2003, 11:09 Отправитель: Tancho Отвечает Ayl
Здравствуйте, Leonid! Не происходит, потому что присваивать некуда. Вот смотри, TNode является у тебя записью с двумя указателями. В процедуре NewNode ты выделяешь место для этой структуры (8 байт) и дальше пытаешься заняться инициализацией. Но место для структуры TInfo ты не выделяешь! Соответственно, указатель q^.info у тебя не инициализирован и дальнейшая работа программы приведет к ошибке. Тебе после команды new (q) нужно написать new (q^.info), тогда ты выделишь место под структуру TInfo. После этого все должно работать. Ответ отправлен: 02.06.2003, 11:30 Отправитель: Ayl Отвечает Bill
Доброе время суток, Leonid! Проверял ли? В процедуре q^.info^.count:=Acount; - должно быть. И, видимо, нужно ограничить длину параметра name -> name: string[30]; Хотя вряд ли в этом причина Видимо, чтобы помочь нужно знать, как это все вызывается?
Ответ отправлен: 02.06.2003, 11:32 Отправитель: Bill
Форма отправки вопроса
Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+
или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.