Minggu, 21 Agustus 2011

Memperkecil size Lazarus


Perkecil size Executable Lazarus
Pertama kali saya heran, aplikasi sederhana  yang saya bikin dengan Lazarus cukup mencengangkan... Wah kok size file executablenya kok sampai 25 MB wah kok bisa membengkak sampai segitu ya? padahal pada komponen yang saya tempatkan pada form hanya beberapa komponen saja tidak lebih dari 4 komponen saja. katanya ukuran yang membengkak itu disebabkan karena file itu mengandung debug information yang dipergunakan gdb (GNU debugger).
Terus saya iseng - iseng otak atik kesana kemai, eh akhirnya bisa juga file sizenya diperkecil,,, coba kita bahas disini. Caranya masuk 
  1. Project -> Project Options -> Code Generation -> Smart Linkable (-CX) -> dicentang

  2. Project -> Project Options -> Linking|Debugging -> yang dicentang hanya Strip Symbols From Executable (-Xs)

  3. Project -> Project Options|Linking -> Link Style -> Link Smart (-XX) -> dicentang

Nah setelah saya atur terlebih dahulu sebelum membuat aplikasi sederhana, size yang awalnya 25 MB sekarang bisa mengeceil sampai 1.5 MB. Tapi inget sebelum membuat aplikasi program anda setting pengaturan diatas terlebih dahulu baru jalankan Run (F9). Semoga artikel kecil ini bisa membantu..

Jumat, 19 Agustus 2011

Lazarus

LAZARUS

Lagi asik-asiknya belajar Delphi, bikin program - program kecil,, eh ternyata harus beli lisensi kalau di pakai di kantor.. Wah kalau harganya ga lebih mahal dari harga 1 bungkus nasi seh ga ada masalah... Terus iseng-iseng lagi berselancar di dunia maya eh ketemu deh dengan namanya Lazarus, awalnya seh ga tahu sama sekali terus saya instal dikomputerku kok tampilanya mirip sama sekali dengan Delphi terus kok tampilan screen savernya kok Free Pascal wah ternyata Lazarus lisensinya GPL (gratis nih dan open source lagi).

Lazarus merupakan salah satu bahasa pemrograman yang didasarkan atas komponen-komponen visual/non visual yang berbasis free pascal.  Lazarus merupakan software RAD (Rapid Application Development) untuk tool pengembangan pascal sehingga kita dapat mengembangkan aplikasi secara mudah dan cepat.  Lazarus dapat berjalan diatas lingkungan  Linux, Mac OS X, BSD dan tentunya Windows yang merupakan software gratis dan open source serta Library component yang dibutuhkan dibawah lisensi GNU Lasser General Public License. 

Lazarus merupakan sebuah alat pengembangan aplikasi yang bersifat cross-platform dan merupakan IDE (integrated development environment) untuk bahasa pemrogaman pascal yang berbasis object Free Pascal Compiler.  Lazarus memiliki arsitektur pemrograman yang mirip dengan Borland Delphi.

Lazarus merupakan IDE (integrated development environment) untuk bahasa pemrograman pascal yang berbasis object. Compiler free pascal menyediakan IDE ini dalam Lazarus.  Lazarus merupakan IDE yang mempunyai kemampuan RAD (Rapid Application Development) yang memudahkan dalam pengembangan program-program grafis yang sebagian besar mirip dengan Delphi. Perbedaannya hanya pada compilernya, Delphi berdasarkan compiler Delphi sedangkan Lazarus berdasarkan free pascal compiler (FPC) yang secara luas kompatibel dengan Delphi 2007. FPC ini dapat mendeteksi kode yang tidak kompatibel dan menghasilkan peringatan kesalahan. Hal ini dikarenakan FPC mencakup ekstensi dari pascal.

Kelebihan yang lain, Lazarus tidak hanya berjalan dilingkungan sistem operasi Windows, namun dapat berjalan lingkungan Linux, MacOS X, platform BSD dan lainnya.

Paket komponen grafis untuk lazarus dinamakan dengan LCL (Lazarus Component Library).  Banyak paket komponen yang memiliki nama dan fungsi yang sama seperti di Delphi, sehingga source code di Delphi dapat langsung diposting ke Lazarus. Namun lazarus bukan termasuk Delphi. Perbedaan utama yang lain yaitu lazarus mendukung penuh open source.


Lazarus merupakan sebuah alat pengembangan aplikasi yang bersifat cross-platform dan merupakan IDE (integrated development environment) untuk bahasa pemrogaman pascal yang berbasis object Free Pascal Compiler. Lazarus memiliki arsitektur pemrograman yang mirip dengan Borland Delphi. 
 
Lazarus merupakan IDE (integrated development environment) untuk bahasa pemrograman pascal yang berbasis object. Compiler free pascal menyediakan IDE ini dalam Lazarus. Lazarus merupakan IDE yang mempunyai kemampuan RAD (Rapid Application Development) yang memudahkan dalam pengembangan program-program grafis yang sebagian besar mirip dengan Delphi. Perbedaannya hanya pada compilernya, Delphi berdasarkan compiler Delphi sedangkan Lazarus berdasarkan free pascal compiler (FPC) yang secara luas kompatibel dengan Delphi 2007. FPC ini dapat mendeteksi kode yang tidak kompatibel dan menghasilkan peringatan kesalahan. Hal ini dikarenakan FPC mencakup ekstensi dari pascal.

Kelebihan yang lain, Lazarus tidak hanya berjalan dilingkungan sistem operasi Windows, namun dapat berjalan lingkungan Linux, MacOS X, platform BSD dan lainnya..

Paket komponen grafis untuk lazarus dinamakan dengan LCL (Lazarus Component Library). Banyak paket komponen yang memiliki nama dan fungsi yang sama seperti di Delphi, sehingga source code di Delphi dapat langsung diposting ke Lazarus. Namun lazarus bukan termasuk Delphi. Perbedaan utama yang lain yaitu lazarus mendukung penuh open source.

- Download lazarus. 

 



Kamis, 18 Agustus 2011

Ping IP dengan Delphi II

Ping IP dengan Delphi II

Pada artikel yang saya bahas sebelumnya (ping IP dengan Delphi) mempunyai kelemahan jika koneksi yang terhubung menggunakan jaringan radio maupun speedy alias bisa berfungsi dengan baik jika terhubung dalam sebuah jaringan lokal. Akhirnya saya coba cari-cari lagi, ternyata delphi sudah menyediakan komponen tersendiri untuk melakukan tugas semacam ini dengan bantuan komponen IdIcmpClient keluarga dari Indy Client. Kita langsung saja bahas aplikasi sederhana saja ya..

Pertama sediakan beberapa komponen diantaranya:
1. IdIcmpClient1  properties name ICMP
2. Memo1 properties name lstReplies
3. Timer1
4. Button1
5. Button2

source code lengkapnya ada sebagai berikit:

/////.....................................................................................
var
  Form1: TForm1;
  ipserver:string;

type
    EidSocketError=class(Exception);
    EFopenError=class(Exception);

implementation

{$R *.dfm}

procedure TForm1.ICMPReplyinduk(ASender: TComponent;
  const ReplyStatus: TReplyStatus);
var
  sTime: string;
begin
  if (ReplyStatus.MsRoundTripTime = 0) then
    sTime := '<1'
  else
    sTime := '=';
    ipserver:=Format('%s', [ReplyStatus.FromIpAddress]);
    if ipserver='127.0.0.1' then
      begin
        lstReplies.Items.Add(Format('Koneksi 127.0.0.1 Lancar: bytes=%d time%s%d ms TTL=%d',
        [ReplyStatus.BytesReceived,
        sTime,
        ReplyStatus.TimeToLive,
        ReplyStatus.MsRoundTripTime]));
      end
    else
      begin
        lstReplies.Items.Add(Format('Koneksi 127.0.0.1 Lemah: bytes=%d time%s%d ms TTL=%d',
        [ReplyStatus.BytesReceived,
        sTime,
        ReplyStatus.TimeToLive,
        ReplyStatus.MsRoundTripTime]));
      end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  try
    ICMP.OnReply := ICMPReplyinduk;
    ICMP.ReceiveTimeout := 1000;
    ICMP.Host :='127.0.0.1' ;
    ICMP.Ping;
    Application.ProcessMessages;
  except
    begin
      lstReplies.Items.Add('Tidak bisa terhubung ke jaringan');
    end;
  end;
end;

procedure TForm1.btncekClick(Sender: TObject);
begin
  if btncek.Caption ='Cek Koneksi' then
    begin
      btncek.Caption:='Stop';
      timer1.Enabled:=true;
    end
  else
  if btncek.Caption ='Stop' then
    begin
      btncek.Caption:='Cek Koneksi';
      timer1.Enabled:=false;
      lstReplies.Clear;
    end;
end;

procedure TForm1.btnexitClick(Sender: TObject);
begin
  application.Terminate ;
end;
/////.....................................................................................

Monggo dicoba semoga bermanfaat...

Twitter Delicious Facebook Digg Stumbleupon Favorites More