Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.10.2010, 03:09   #1
D][mon
Форумчанин
 
Регистрация: 05.01.2010
Сообщений: 150
По умолчанию DELPHI: Запуск DOS прог с параметрами

Умоляю, ПОМОГИТЕ!!!
читал докумментацию па winexec и ко)(shellтамчеготоуженепомнючтоишто тоеще)
но ничего не понял(
пытаюсь выполнить сдед команду:tasm l1b11 /l.
так работает:
Код:
WinExec (PansiChar('tasm l1b11.asm /l'), SW_SHOWNORMAL);
а вот так нет:
Код:
cmd:=('tasm l1b11 /l');
WinExec (PansiChar(cmd), SW_SHOWNORMAL);
в чем разница?
т.е. почему второй вариант не дает желаемого эффекта?

P.S.
Код:
...
implementation
procedure...
var
cmd : string;
begin
...
end;
...


а может хто знает: как TASMу передать файл из какойто конкретной дирректории?

Последний раз редактировалось D][mon; 24.10.2010 в 00:40. Причина: ДОПОЛНЕНИЕ ЧТОБ НЕ ПЛОДИТЬ ТЕМЫ
D][mon вне форума Ответить с цитированием
Старый 23.10.2010, 05:28   #2
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

cmd: AnsiString;

PAnsiChar <> AnsiString;
PWideChar <> WideString;
PChar <> String;
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 23.10.2010, 08:15   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

D][mon
я не поленился проверить.
У меня (Delphi 5) прекрасно работает и так и так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var cmd : String;
begin
  cmd := 'C:\TP\ASM\tasm.exe l1b11.asm /l';
  WinExec (PansiChar(cmd), SW_SHOWNORMAL);
end;
так что, ищите ошибку в другом месте!

p.s. я бы начал с того, что задал полные пути и к tasm.exe и к l1b11.asm
чтобы исключить ситацию, когда WinExec банально не может найти запускаемый файл или компилятор Tasm не может найти исходник!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.10.2010, 20:39   #4
D][mon
Форумчанин
 
Регистрация: 05.01.2010
Сообщений: 150
Счастье

Serge_Bliznykov
Благодарю вас, но у меня (Delphi 2010) просто не работает(компилятор ошибок не выдает=> синтаксически все правильно):
это второе что я попытался сделать.

для чего мне переменная: я хочу чтоб команду можно было составить из строк находящихся, скажем, в Tedit. Но уменя какаято ерунда во время преобразования Tcaption в PansiChar. Может какието настройки компилятора помучаь? если да то какие? Очень прошу помочь, т.к. перспектива работы с .bat файлами меня не прельщает(думаю многие согласятся , что ето как-то некрасиво).
P.S.
у казание полных путей к TASMу и .asm файлу не помогает, т.е. tasm не поддерживает полные пути к файлам):
screen: http://freespace.by/download/b957526d13
Winexec(PansiChar(path.text+'Helper .bat'), SW_SHOW);// на кнопку нажимаю и ниче не происходит

Последний раз редактировалось D][mon; 23.10.2010 в 21:50.
D][mon вне форума Ответить с цитированием
Старый 23.10.2010, 22:00   #5
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от D][mon Посмотреть сообщение
Winexec(PansiChar(path.text+'Helper .bat'), SW_SHOW);// на кнопку нажимаю и ниче не происходит
А у path.text в конце слэш есть?
mihali4 вне форума Ответить с цитированием
Старый 23.10.2010, 22:02   #6
D][mon
Форумчанин
 
Регистрация: 05.01.2010
Сообщений: 150
По умолчанию

есть конечно
я ламер но нестолько)
D][mon вне форума Ответить с цитированием
Старый 23.10.2010, 23:10   #7
Proof
Пользователь
 
Регистрация: 20.02.2008
Сообщений: 63
По умолчанию

Попробуйте
Код:
...
implementation
procedure...
var
cmd : PAnsiChar;
begin
...
end;
...
и

Код:
cmd:='tasm l1b11 /l';
WinExec(cmd, SW_SHOWNORMAL);
Proof вне форума Ответить с цитированием
Старый 23.10.2010, 23:17   #8
D][mon
Форумчанин
 
Регистрация: 05.01.2010
Сообщений: 150
По умолчанию

результат тот же что и вначале
этот вариант я пробовал одним из первых
D][mon вне форума Ответить с цитированием
Старый 24.10.2010, 00:37   #9
yasic
Пользователь
 
Регистрация: 27.09.2010
Сообщений: 44
По умолчанию

разбирайся с функцией Shellтамчеготоуженепомнючтоишто !!! ShellExecute..
примерчик:
var
cmd : PChar;
begin
cmd := 'cmd.exe';
ShellExecute(Self.Handle, nil, PChar(cmd),PChar('/?'), nil, SW_RESTORE);
end;
yasic вне форума Ответить с цитированием
Старый 24.10.2010, 00:38   #10
D][mon
Форумчанин
 
Регистрация: 05.01.2010
Сообщений: 150
По умолчанию

спасибо
разобрался
D][mon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск приложения с параметрами !!! badfilin Общие вопросы C/C++ 6 27.05.2010 23:29
Запуск с параметрами bookkc Помощь студентам 10 05.04.2010 13:13
Delphi: запуск программы из командной строки с параметрами kaa1977 Помощь студентам 6 22.03.2010 10:03
Запуск с параметрами Xatr Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 12 05.05.2009 17:40
Запуск exe с параметрами Altera Общие вопросы Delphi 2 26.02.2008 21:25