Minggu, 28 Januari 2018

view big image with GDAL & Delphi (TIFF, ECW, IMG. etc)

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;

Kamis, 15 September 2016

Bagaimana cara membaca seluruh tag pada file TIFF

berikut ini adalah tutorial bagaimana caranya membaca seluruh Tag dari file Tiff. script ini disusun untuk berdasarkan https://partners.adobe.com/public/developer/en/tiff/TIFF6.pdf yang menjelaskan struktur format file TIFF.

script ini disusun menggunakan Lazarus/Free Pascal Compiler (FPC) dan dapat pula di-compile menggunakan Delphi 7

berikut penjelasan singkat bagaimana membaca seluruh Tag pada file TIFF

//===================================================
var tiff:TTiffDI;
    tag:TIFDTagR;
  i:integer;
begin
  if opendialog1.execute then begin
    tiff:=TTiffDI.create();
    try
      tiff.LoadFromFile(opendialog1.Filename);
      for i:=0 to tiff.Count-1 do begin
        tag:=tiff[i];
        ....
        ....
      end;
    finally
      tiff.destroy;
    end;
  end;
end;

Selasa, 27 Oktober 2015

Cara memasukan gambar ke dalam PDF menggunakan Delphi 7

Tutorial kali ini adalah bagaimana cara memasukan gambar ke dalam file PDF menggunakan synPDF dan Delphi 7. Berikut adalah contoh bagaimana cara memasukkan gambar ke dalam PDF.

Cara memahami Stream pada Delphi

Stream merupakan “sungai” yang mengalirkan data digital. Data pada stream tidak hanya data dalam bentuk ASCII atau text biasa, tapi juga data yang menggunakan karakter yang jarang kita jumpai. Coba aja anda buka file Bitmap menggunakan Notepad atau Notepad++, maka anda akan menjumpai data dalam bentuk yang tidak anda kenali seperti biasanya file ASCII atau file Text, tetapi anda akan mengenalinya apabila dalam bentuk gambar. Anda bisa mengolah data menjadi sebuah file atau menjadi sebuah Stream. Data yang disimpan ke dalam file maka anda bisa melihat file tersebut dan biasanya menggunakan extensi tertentu (missal .bmp, .jpg, dll) dan anda dapat membukanya kembali setelah program telah ditutup. Berbeda dengan Stream, data yang disimpan di dalam stream maka data tidak dapat kita lihat secara kasat mata dan anda tidak bisa membukanya kembali setelah program ditutup.

Jumat, 23 Oktober 2015

Cara memberi warna per baris pada RichEdit

Tutorial kali ini adalah bagaimana cara memberi warna yang berbeda pada setiap baris menggunakan richedit. perhatikan langkah-langkah berikut :
Buatlah sebuah project delphi dan tambahkan RichEdit1, Button1, Edit1, dan Label1 seperti berikut:

Rabu, 21 Oktober 2015

Cara membuat sebuah database menggunakan konsep-konsep database paling dasar

Tutorial ini adalah bagaimana membuat sebuah database menggunakan konsep-konsep database paling dasar. Pada pembuatan database kali ini tidak mennggunakan SQL jadi hanya menggunakan sebuah class yang berisi tentang table, dan dari table tersebut akan diisi record data.
Baik untuk memulai toturial kali ini kita membuat satu projek Delphi. Kita akan lebih banyak menggunakan script editor untuk membuat database.

Cara mengetahui kesalahan-kesalahan numeric dari komputer

Tutorial kali ini adalah bagaimana cara mengetahui kesalahan-kesalahan secara numeric dari komputer, yang mana ketelitian dari numeric pada saat perhitungan pada komputer merupakan kebutuhan yang sangat diperlukan terutama untuk para saintis atau enjiner. Sebagai contoh pada saat melakukan analisa spectral maka akan banyak sekali penambahan-penambahan kesalahan numeric yang terjadi dan tersu terakumulasi sehingga error akan selalu muncul.

Minggu, 18 Oktober 2015

Cara membuat Game Tic Tac Toe paling sederhana menggunakan Delphi 7


Tutorial kali ini adalah bagaimana cara membuat game tic tac toe sagat sederhana, mudah-mudahan dapat memberikan ide dasar bagi anda untuk mengembangkan software. Game tic tac toe kali ini memiliki keterbatasan dimana pemain pertama dan pemain kedua dilakukan secara bergantian pada satu layar, jadi pemain pertama bisa meminjamkan mouse nya setelah untuk mendapatkan giliran main.

Sabtu, 17 Oktober 2015

Cara menyimpan dan menampilkan gambar dari MySQL menggunakan Delphi 7 dan Zeos

Berikut adalah tutorial bagaimana cara menyimpan dan menampilkan gambar dari MySQL. Tutorial ini merupakan kelanjutan dari Cara mengelola data PhpMyAdmin Website menggunakan Delphi 7 dan ZEOS. Kita mulai dari database server yang akan digunakan pada tutorial kali ini menggunakan PhpMyAdmin dari website.