Tampilkan postingan dengan label Tutorial Delphi. Tampilkan semua postingan
Tampilkan postingan dengan label Tutorial Delphi. Tampilkan semua postingan

Minggu, 28 Januari 2018

Cara mengoperasikan sintak DOS secara pemrograman dengan menggunakan Delphi

Operasi sintak DOS sering digunakan dalam pemrograman antar aplikasi. misalnya GDAL adalah aplikasi grafik yang semuanya menggunakan aplikasi console, yang secara otomatis penggunaan aplikasi ini jika digabungkan dengan aplikasi delphi memerlukan sintak khusus.

setelah googling saya menemukan cara bagaimana mendapatkan response dari sintak DOS sehingga dapat memudahkan dalam pengoperasian aplikasi consol seperti GDAL di atas.

berikut adalah script yang diperlukan:


function GetDosOutput(CommandLine: string; Work: string = 'C:\'): string;
var
  SA: TSecurityAttributes;
  SI: TStartupInfo;
  PI: TProcessInformation;
  StdOutPipeRead, StdOutPipeWrite: THandle;
  WasOK: Boolean;
  Buffer: array[0..255] of AnsiChar;
  BytesRead: Cardinal;
  WorkDir: string;
  Handle: Boolean;
begin
  Result := '';
  with SA do begin
    nLength := SizeOf(SA);
    bInheritHandle := True;
    lpSecurityDescriptor := nil;
  end;
  CreatePipe(StdOutPipeRead, StdOutPipeWrite, @SA, 0);
  try
    with SI do
    begin
      FillChar(SI, SizeOf(SI), 0);
      cb := SizeOf(SI);
      dwFlags := STARTF_USESHOWWINDOW or STARTF_USESTDHANDLES;
      wShowWindow := SW_HIDE;
      hStdInput := GetStdHandle(STD_INPUT_HANDLE); // don't redirect stdin
      hStdOutput := StdOutPipeWrite;
      hStdError := StdOutPipeWrite;
    end;
    WorkDir := Work;
    Handle := CreateProcess(nil, PChar('cmd.exe /C ' + CommandLine),
                            nil, nil, True, 0, nil,
                            PChar(WorkDir), SI, PI);
    CloseHandle(StdOutPipeWrite);
    if Handle then
      try
        repeat
          WasOK := ReadFile(StdOutPipeRead, Buffer, 255, BytesRead, nil);
          if BytesRead > 0 then
          begin
            Buffer[BytesRead] := #0;
            Result := Result + Buffer;
          end;
        until not WasOK or (BytesRead = 0);
        WaitForSingleObject(PI.hProcess, INFINITE);
      finally
        CloseHandle(PI.hThread);
        CloseHandle(PI.hProcess);
      end;
  finally
    CloseHandle(StdOutPipeRead);
  end;
end;

Senin, 17 November 2014

Cara membuat program agar dijalankan hanya satu kali eksekusi

Tutorial kali ini adalah cara membuat program agar dijalankan hanya satu kali eksekusi. cara ini awalnya adalah ketika saya membuat program yang hanya boleh dieksekusi sekali saja, dan ketika program yang saya buat dieksekusi kembali yang kedua kalinya maka program tidak akan jalan selama program tersebut belum ditutup pada eksekusi pertama. mudah-mudahan tidak bingung bahasanya.....

Cara menjalankan aplikasi lain menggunakan delphi 7

Tutorial kali ini adalah bagaimana menjalankan aplikasi lain dengan menggunakan aplikasi yang anda buat menggunakan delphi 7. perhatikan contoh script berikut :

procedure TForm1.ButtonRunClick(Sender: TObject);
begin
  // Menjalankan program yang dispesifikasikan pada
  // EditBox Edit1
  if ShellExecute(0, 'open', PChar('D:/test/project1.exe'), '', '',
      SW_SHOWNORMAL) <= 32 then
      ShowMessage('Gagal menjalankan program.' + #13 +
                  'Pastikan path benar');
end;

Jumat, 22 Agustus 2014

Tutorial cara mengecek attribut sebuah file menggunakan delphi 7

Tutorial attribut file dengan delphi 7
Tutorial kali ini adalah cara mengecek atribut sebuah file menggunakan delphi 7. Atribut sebuah file berupa readonly, hidden, archive, dan system.

  1. Readonly
    bila suatu file diset readonly maka artinya file tersebut hanya bisa digunakan untuk dibaca dan tidak bisa di edit selama tidak mengubah atribut ini.
  2. Hidden
    bila suatu file diset hidden maka file tersebut disembunyikan dan tidak akan muncul di File Explorer atau Dir pada MS-DOS
  3. Archive
    bila suatu file ediset archive maka file tersebut menunjukkan telah berubah setelah backup terakhir, jadi setiap file diset atribut ini jika file tesebut telah berubah
  4. System
    Bila suatu file diset ini maka file tersebut merupakan file yang penting bagi berjalannya komputer dengan baik. MS-DOS dan Microsoft Windows menggunakannya untuk menandai file tersebut sangat penting. Perintah MS-DOS seperti dir dan aplikasi Windows seperti File Explorer tidak menampilkan file tersebut secara default bahkan ketika file tersembunyi ditampilkan, kecuali diminta untuk melakukannya.
Untuk demo kali ini saya tunjukkan script sederhana untuk menngeset attribute suatu file
Demo Cara mengeset attribut file menggunakan Delphi 7
Demo Cara mengeset attribut file menggunakan Delphi 7

Kamis, 21 Agustus 2014

Tutorial Cara Bekerja dengan Registry menggunakan Delphi 7

Registry Delphi 7
Untuk dapat membaca atau menuliskan data ke dalam registry pada tutorial pemrograman delphi 7 harus mennggunakann classs TRegistry yang tersusun di dalam unit Registry.

Kamis, 24 Juli 2014

Tutorial Type Integer Pada Delphi

Type integer adalah type data untuk bilangan bulat antara -2147483648 sampai 2147483647. Type data Integer sama dengan type data Longint dengan nilai 32 bit. Tipe data integer bisa diguakan untuk operasi bilangan seperti tambah (+), kurang (-), bagi (div) dan kali (*).

Namun ada hal yang berbeda dengan tipe ini dalam hal pembagian, karena pembagian dengan tanda ( / ) hanya berlaku untuk bilangan real atau bukan bilangan bulat. Pembagian bilangan bulat menggunakan sintax div dan hasilnya dibulatkan ke bawah, misalnya 100 div 2 = 50 dan 100 div 3 = 33

Rabu, 23 Juli 2014

Tutorial Type Boolean pada Delphi

Type Boolean adalah tipe data yang bernilai logika benar atau salah (True or False). Di dalam pemrograman tipe ini sering digunakan untuk menyeleksi nilai kebenaran. Berdasarkan pelajaran logika matematika maka tipe ini digunakan.