polecenie wykonania programu w DOSie

Odpowiedz Nowy wątek
kurczaczek
2006-05-23 12:10
kurczaczek
0

hello
kombinuje jakby tu napisac niby banalny program, ale nie mam pojęcia (dawno pod DOSa nie pisalem...)
otóż wyglądałoby to tak, że program ma odpalić inny program a potem się wyłączyć
podpowiedzcie coś proszę, bo mnie skleroza dopadła

procedure go(var i:int);
begin
if (i=1) then odpal_program('1.exe');
if (i=2) then odpal_program('2.exe');
halt;
end;

Pozostało 580 znaków

Oleksy Adam
2006-05-23 12:34
Oleksy Adam
0

Nie wiem czy to ma być w delphi czy w tp. Jak w TP to jest procedura

procedure Exec(Path, CmdLine :string)

gdzie Path to ścieżka dostępu do pliku, a CmdLine to parametry uruchomieniowe.
Postać funkcji byłaby następująca:

procedure Run(const mode :Byte); { nie wiem dlaczego użyłeś modyfikatora var }
begin
 SwapVectors;
 case mode of
  1 : Exec('PLIK1.EXE', '');
  2 : Exec('PLIK2.EXE', '');
 end;
 SwapVectors;
 Run := DosError; zwracamy kod bledu
 Halt;
end;

Natomiast w delphi

HINSTANCE ShellExecute(
    HWND hwnd,                  // handle to parent window
    LPCTSTR lpOperation,    // pointer to string that specifies operation to perform
    LPCTSTR lpFile,         // pointer to filename or folder name string
    LPCTSTR lpParameters,   // pointer to string that specifies executable-file parameters 
    LPCTSTR lpDirectory,    // pointer to string that specifies default directory
    INT nShowCmd            // whether file is shown when opened
   );   

Przykład, który uruchamia kalkulator systemowy (do sekcji uses dodaj ShellApi);

uses ShellApi;

procedure FormCreate(Sender :TObject);
begin
 ShellExecute(Application.MainForm.Handle,
              nil, 'CALC.EXE', '', '', SW_SHOWNORMAL);
 Application.Terminate();
end; 

Pozostało 580 znaków

Odpowiedz

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