Skip to content

Running external files using Delphi 7

by persada on August 9th, 2010

Langsung saja, pembahasan kali ini adalah tutorial mengenai beberapa cara untuk me-run file external, seperti file executable (*.exe), file text (*.txt) menggunakan Delphi 7. Terdapat berbagai macam cara untuk me-run file external menggunakan Delphi, berikut ini saya akan paparkan sebagain saja. Cara yang pertama, yang paling sederhana, adalah menggunakan command winexec.

winexec (‘namafile.exe’);

Contoh dari penggunaan command ini untuk membuka notepad kosong, dengan menggunakan code :

winexec (‘notepad.exe’);

Ketika program dijalankan, maka program tersebut akan membuka notepad. Cukup sederhana, dan selesai :-D

Cara kedua, yang ‘sedikit’ rumit (okok) , adalah menggunakan bantuan dari API (Application Programming Interface) yang juga sudah tersedia di dalam delphi, yaitu menggunakan fungsi ShellExecute yang terdapat pada unit ShellAPI. Format penggunaannya adalah :

function ShellExecute (hWnd :HWND; Operation, FileName, Parameters,

Directory: PChar; ShowCmd: Integer): HINST; stdcall

dengan

  • hWnd : Handle
  • Operation : operasi yang akan dilakukan. Bisa diisi dengan ‘open’, ‘explore’, ‘print’. Namun, operasi yang sering digunakan adalah operasi ‘open’.
  • FileName : file yang akan dibuka berikut nama foldernya.
  • Parameter : tambahan parameter yang akan diberikan ke file. Bila tidak ada, diisikan nil.
  • Directory : alamat default untuk aplikasi yang dibuka. Bila tidak ada, diisikan nil.
  • ShowCmd : state/mode dari aplikasi yang akan dibuka. Ada beberapa macam mode :
    • SW_SHOW
    • SW_MINIMIZE
    • SW_MAXIMIZE
    • SW_HIDE

Untuk menggunakan fungsi ShellExecute, terlebih dahulu HARUS ditambahkan ‘ShellAPI‘ pada bagian USES. Contoh penggunaanya fungsi diatas adalah seperti ini :

  • Membuka notepad :

    ShellExecute(Handle, ‘open’, ‘c:\Windows\notepad.exe’,

    nil, nil, SW_SHOWNORMAL)

    • Membuka sembarang file txt dengan notepad :

    ShellExecute(Handle,’open’, ‘c:\windows\notepad.exe’,

    ‘c:\SomeText.txt’, nil, SW_SHOWNORMAL);

    • Membuka explorer dari suatu folder :

    ShellExecute(Handle,’open’, ‘c:\Download’, nil, nil, SW_SHOWNORMAL) ;

    Semoga bermanfaat (drinking) If you have any question, please fell free to ask :-D

    From → Delphi, Tutorials

    3 Comments
    1. nindyo permalink

      kenapa ya fungsi di atas tak coba pake D2010 di windows 7 ERROR !
      apanya yg salah ya.
      aku bikin program utk manggil program lain. dengan delphi 7 sukses ( pake nya fungsi winexec.) tapi winexec tak ngefek setelah aku jalankan dengan D2010

      help me !!!

    2. nindyo permalink

      yes, dah bisa D2010 : ( meski kata dokumentasinya embarcadero ini kurang aman)

      procedure MyProc(……..);
      var
      cmd : AnsiString; { <- kalau pake string gak ngefek }
      begin
      cmd := '’;

      {cast dengan PChar tak boleh kalau pake D2010 }
      WinExec(PAnsiChar(cmd), SW_SHOWNORMAL);
      {dst …}
      end;

      begitulah.

    3. persada permalink

      @nindyo : wah,, saia malah blum pernah nyoba D2010.. hehehe.. terimakasih atas infonya.. (worship)

      mungkin memang masalah penggunaan AnsiString yang tidak sama dari Delphi 7 dengan D2010.. :-D

    Leave a Reply

    Note: XHTML is allowed. Your email address will never be published.

    Subscribe to this comment feed via RSS