Jak uruchomić program zewnetrzny w TP ??

0

Mam taki problem. Chce uruchomić plik wsadowy cos.bat ale za bardzo nie wiem jak to zrobic wpisuje exec('cos.bat'.''); ale moze robie cos zle?? za bardzo nie umiem sie poslugiwac ta procka. POMOCY !!!

0

to spróbuj command.com /c cos.bat

0

Nie działa... Ale thx :)

0

masz w helpie przykład:

{$M $4000,0,0 }   { 16K stack, no heap }
uses Dos;
var
  ProgramName, CmdLine: string;
begin
  Write('Program to Exec (full path): ');
  ReadLn(ProgramName);
  Write('Command line to pass to ',
        ProgramName, ': ');
  ReadLn(CmdLine);
  WriteLn('About to Exec...');
  SwapVectors;
  Exec(ProgramName, CmdLine);
  SwapVectors;
  WriteLn('...back from Exec');
  if DosError <> 0 then{ Error? }
    WriteLn('Dos error #', DosError)
  else
    WriteLn('Exec successful. ',
            'Child process exit code = ',
            DosExitCode);
end.

ale w sumie tym sposobem się dużo nie odpali bo braknie pamięci :(

albo jest jeszcze drugi przykład przez command.com odpalać:

{$M 8192,0,0}
uses Dos;

var Command: string[79];
begin
  Write('Enter DOS command: ');
  Readln(Command);
  if Command <> '' then
    Command := '/C ' + Command;
  SwapVectors;
  Exec(GetEnv('COMSPEC'), Command);
  SwapVectors;
  if DosError <> 0 then
    Writeln('Could not execute COMMAND.COM');
end.

ja kiedyś miałem taki problem na szybko do rozwiązania to zrobiłem plika wsadowego (bat) i napisałem coś mniej/więcej takiego:

@Echo off
goto start
:odpal
call uruchom.bat
:start
mojprog.exe przezWsad
if errorlevel 5 goto odpal
echo Nara !
echo on

i w programie mojprog.exe pisałem żeby Od razu wyszło jeśli ParamStr(1)<>'przezWsad' i żeby jak chce coś odpalić to żeby zapisywało co do pliku uruchom.bat i potem zaraz Halt(5). wsadóweczka wykryje że errorlevel=5 i odpali plik wsadowy "uruchom.bat". proste, lamerskie, ale działa

0

Działa :) Wielkie dzięki ADAMO :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1