27 February 2016

Membuat Animasi Form Dengan Delphi

Untuk artikel kali ini saya akan coba berexperiment masih dengan delphi yaitu membuat animasi dimana maksud dari animasi disini saya akan coba untuk menampilkan form dengan suatu efek animasi pada saat ditampilkan.Jadi apabila membuat suatu projek dan coba tambahkan dengan sebuah efek animasi ini maka projek kita akan terlihat indah dengan adanya suatu hiasan atau efek animasi dan juga tentunya mungkin tidak akan membosankan.

animasi form dengan delphi
Animasi form

Langkah Pembuatan

Baiklah sekarang saya akan langsung ke cara pembuatannya dimana yang pertama biasa buka dulu aplikasi delphinya,untuk experiment kali ini saya akan coba dengan menggunakan 2 buah form yang mana pada form2 saya akan coba tampilkan dengan animasi sesuai dengan artikel kali ini sedangkan untuk form1 nya adalah tombol-tombol untuk beberapa contoh tampilan animasi untuk menampilkan form2 tersebut.

Tambahan Komponen Form1

Pada Form1 disini saya coba menambahkan 4 buah komponen button kemudian tiap-tiap komponen button saya coba ganti caption nya pada object inspector dengan :
- Button1 ganti Caption dengan BLEND.
- Button2 ganti Caption dengan CENTER.
- Button3 ganti Caption dengan HOR POSITIVE.
- Button4 ganti Caption dengan CLOSE.

komponen pada form1
Penambahan Komponen di Form1


Tambahan Komponen Form2

Dan untuk form2 nya saya hanya menambahkan 1 buah komponen image dan 1 buah komponen label

penambahan komponen pada form2
Penambahan Komponen Pada Form2

Koding

Setelah penambahan komponen-komponen pada masing-masing form lanjut ke kode editor untuk membuat procedure nya atau kodingnya untuk tiap-tiap button disini yang pertama coba masukan atau tambahkan dahulu unit2 pada uses yang mana untuk cara menambahkan unit pada uses bagi teman-teman yang belum tahu bisa dibaca pada postingan saya sebelumnya yaitu pada cara membuka dan menutup aplikasi di delphi.

Koding Button BLEND

Setelah unit2 ditambahkan di uses lanjut dengan mengklik 2X button1 untuk membuat procedurenya dan coba buat procedurenya seperti dibawah ini
procedure TForm1.Button1Click(Sender: TObject);
begin
  AnimateWindow(Form2.Handle, 2000, AW_BLEND);
  Form2.Show;
end;

Koding Button CENTER

Lanjut lagi ke button2 yaitu untuk membuat procedure untuk Button Center langkahnya sama dengan mengklik 2X button2 dan procedurenya seperti berikut
procedure TForm1.Button2Click(Sender: TObject);
begin
  AnimateWindow(Form2.Handle, 2000, AW_CENTER);
  Form2.Show;
end;

Koding Button HOR POSITIVE

Dan disini button3 sebagai button Hor positive saya klik 2X untuk membuat procedurenya saya coba buat procedurenya seperti dibawah ini
procedure TForm1.Button3Click(Sender: TObject);
begin
  AnimateWindow(Form2.Handle, 2000, AW_HOR_POSITIVE);
  Form2.Show;
end;

Koding Button CLOSE

Terakhir untuk button4 atau disini sebagai button Close saya buat procedurenya seperti berikut
procedure TForm1.Button4Click(Sender: TObject);
begin
  Form2.Hide;
end;

Tes Run Projek

Setelah pengkodingan semua diatas dilakukan coba tekan tombol Run yang ada pada menu bar di delphi atau tekan F9 pada keyboard untuk melihat hasil projek tersebut dan berikut dibawah adalah hasil dari tes projek ini

tes run projek
Tes Run Projek


Demikian untuk artikel kali ini sesuai dengan judul yaitu cara membuat animasi form dengan delphi semoga bermanfaat bagi teman-teman dan bisa teman-teman kembangkan lagi lebih lanjut,dan nantikan lagi experiment saya selanjutnya.

Oke Salam Blogger And Happy Koding.

26 February 2016

Membuat Progressbar Dengan Image

Sekarang pada postingan kali ini saya akan mencoba berexperiment masih seputar delphi yaitu mencoba membuat progressbar menggunakan suatu image,maksud dari experiment ini yaitu untuk supaya bagaimana agar komponen dari pada progressbar tampilannya bisa sesuai dengan gambar yang dikehendaki kita agar tidak bosan.Dimana apabila kita membuat suatu aplikasi atau projek mungkin bisa menambahkan suatu variasi ini agar projek yang kita buat menjadi lebih baik.

progressbar dengan image
Progressbar Image


Langkah Pembuatan

Baiklah sekarang saya akan coba langsung ke inti dari postingan kali ini yaitu langkah-langkah untuk membuat progressbar dengan image.Yang pertama tentunya aplikasi delphinya sudah terinstall pada PC atau komputer.

Penambahan Komponen

Pada saat pertama kali kita buka aplikasi delphinya maka akan muncul suatu Form dan disini saya coba menambahkan beberapa komponen pada form tersebut yaitu:
1. 1 buah Image.
2. 1 buah Timer.
3. 2 buah Button.
Dan dari beberapa komponen tersebut pada object inspector saya coba ganti properti caption dari masing-masing komponen button yaitu menjadi START dan STOP,kemudian properti picture dari komponen image saya coba tambahkan suatu image bmp dan komponen timer saya ganti intervalnya menjadi 120,kemudian saya coba posisikan komponen-komponen tersebut seperti gambar dibawah ini

posisi komponen pada form
Penambahan dan Pengaturan Komponen

Koding


Membuat Sebuah Procedure

Setelah posisi komponen siap lanjut ke kode editor untuk pengkodingannya yang pertama disini saya coba membuat suatu procedure yaitu untuk progress image dimana image tersebut supaya bisa menjadi progress pada komponen progressbar pada saat di run dimana procedure nya adalah seperti dibawah ini
procedure TForm1.UpdateImageProgress(const img: TImage);
const
  step = 4;
var
  b  : TBitmap;
begin
  with img.Picture.Bitmap do
  begin
    b := TBitmap.Create;
    try
      b.Width  := Width;
      b.Height := Height;
      BitBlt(b.Canvas.Handle, step, 0, Width-step, Height, Canvas.Handle, 0, 0, SRCCOPY);
      BitBlt(b.Canvas.Handle, 0, 0, step, Height, Canvas.Handle, Width-step, 0, SRCCOPY);
      Assign(b);
    finally
      FreeAndNil(b);
    end;
  end;
end;

Kode Timer

Setelah itu lanjut untuk procedure atau kode komponen Timer dengan mengklik 2X komponen timer kemudian buat procedurenya seperti dibawah ini
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  UpdateImageProgress(Image1);
end;

Kode Button Start

Lanjut lagi membuat procedure untuk button start dimana disini button1 saya jadikan button start dan procedure nya seperti dibawah ini
procedure TForm1.Button1Click(Sender: TObject);
begin
  Timer1.Enabled := True;
end;

Kode Button Stop

Terakhir untuk procedure button stop yaitu disini button2 sebagai button stop dan untuk procedure nya adalah seperti berikut
procedure TForm1.Button2Click(Sender: TObject);
begin
  Timer1.Enabled := False;
end;

Tes Projek

Setelah semua kode tersebut diatas siap coba klik tombol Run atau tekan F9 pada keyboard untuk mencoba projek tersebut jalan.

tes projek progressbar image
Tes Run Projek


Demikianlah untuk experiment saya kali ini tentang cara membuat progressbar dengan image semoga postingan ini bermanfaat bagi teman-teman dan bisa dikembangkan lagi.

Oke Salam Blogger and Happy Koding.

16 February 2016

Cara Membuat Simple P-LINK Dengan Delphi

Setelah kemarin saya mencoba membuat postingan tentang cara membuat simple SSH sekarang saya akan coba berexperiment membuat simple P-LINK dengan delphi,untuk plink sendiri mungkin bisa teman-teman mencari referensinya lewat mesin pencari google pengertiannya dan fungsi nya apa plink tersebut.Menurut saya pribadi plink tersebut kegunaanya adalah sama halnya dengan bitvise.

Yang Harus Disiapkan

Sebelum membuat project simple plink ini tentu ada beberapa aplikasi yang harus disiapkan yang pertama tentunya adalah aplikasi plink sendiri yang mana bisa didapatkan di situsnya kemudian yang kedua adalah proxifier yang mana disini saya akan coba dengan menggunakan proxifier yang versi install maka proxifier harus di install terlebih dahulu,apabila ingin menggunakan proxifier yang portable bisa juga digunakan dan siapkan versi yang portable tersebut.

Langkah Pembuatan

Baiklah setelah kedua aplikasi tersebut diatas sudah siap langsung ke cara membuatnya dimana setelah dibuka aplikasi delphinya coba tambahkan beberapa komponen pada form yang baru tersebut disini saya coba menambahkan komponen-komponen:
1. 2 buah Groupbox.
2. 6 buah Label.
3. 6 buah Edit.
4. 3 buah Button.
5. 1 buah Checkbox.
6. 1 buah Memo.
7. 1 buah DosCommand.
Kemudian ada beberapa komponen yang saya coba ganti captionnya pada object inspector dan tentu saya coba posisikan komponen-komponen tersebut agar kelihatan rapi,dimana disini saya coba posisikan komponen-komponen tersebut seperti dibawah ini

penambahan komponen pada form
Penambahan Komponen dan Pengaturan Tataletak

Penambahan Unit

Setelah komponen-komponen diletakan sedemikian rupa lanjut untuk ke pengkodingannya sebelum ke pengkodingan dalam membuat project ini ada beberapa unit yang harus ditambahkan pada uses dimana untuk menambahkan unit pada uses bisa dipelajari lagi dipostingan saya sebelumnya bagi yang belum tahu cara menambahkan unit.Unit yang ditambahkan tersebut adalah:
IniFiles, Registry, ShellAPI, TLHelp32.

Pengkodingan

Sebelum ke pengkodingan pada project kita buat suatu folder untuk menambahkan aplikasi plink dan profile proxifier,tetapi apabila menggunakan proxifier yang portable maka aplikasi proxifier portable tersebut bisa ditambahkan di folder ini.

penambahan plink dan profile proxifier
Penambahan Aplikasi Plink Dan Profile Proxifier

Kode Formcreate

Pada project ini (Simple P-Link) yang mana dibuat agar supaya bisa menyimpan suatu config sehingga pada saat project ini dibuka kembali apabila mau digunakan maka tidak perlu lagi kita mensetting ulang untuk mengisi configuration yang diperlukan plink tersebut dan disini untuk cara membuat suatu config bisa dibaca di postingan cara membuat config save dan load.Untuk itu kode buat formcreate nya adalah seperti dibawah ini:
procedure TForm1.FormCreate(Sender: TObject);
begin
  config := TIniFile.Create(ExtractFilePath(Application.ExeName)+'Plink\Config.ini');
  try
  Edit1.Text := config.ReadString('CONFIG', 'Host', Edit1.Text);
  Edit2.Text := config.ReadString('CONFIG', 'Port', Edit2.Text);
  Edit3.Text := config.ReadString('CONFIG', 'User', Edit3.Text);
  Edit4.Text := config.ReadString('CONFIG', 'Pass', Edit4.Text);
  CheckBox1.Checked := config.ReadBool('CONFIG', 'Uproxy', CheckBox1.Checked);
  Edit5.Text := config.ReadString('CONFIG', 'Lproxy', Edit5.Text);
  Edit6.Text := config.ReadString('CONFIG', 'Lport', Edit6.Text);
  finally
  config.Free;
  end;
end;

Kode Save Button

Kemudian untuk kode Save button yang mana disini button1 sebagai save dan difungsikan untuk menyimpan configuration daripada sebuah account ssh yang kita punya dengan mengklik 2 X button1 buat procedurenya sebagai berikut
procedure TForm1.Button1Click(Sender: TObject);
begin
  config := TIniFile.Create(ExtractFilePath(Application.ExeName)+'Plink\Config.ini');
  try
  config.WriteString('CONFIG', 'Host', Edit1.Text);
  config.WriteString('CONFIG', 'Port', Edit2.Text);
  config.WriteString('CONFIG', 'User', Edit3.Text);
  config.WriteString('CONFIG', 'Pass', Edit4.Text);
  config.WriteBool('CONFIG', 'Uproxy', CheckBox1.Checked);
  config.WriteString('CONFIG', 'Lproxy', Edit5.Text);
  config.WriteString('CONFIG', 'Lport', Edit6.Text);
  finally
  config.Free;
  end;
end;

Kode Start Button

Tentunya disini sebelum membuat kode atau procedure untuk button start yang mana disini button2 yang difungsikan sebagai start bagi yang belum menginstall komponen DosCommand bisa dibaca terlebih dahulu dipostingan cara menginstall DosCommand.Apabila komponen DosCommand sudah siap coba klik 2 X button2 tersebut untuk membuat procedurenya yang mana procedurenya adalah sebagai berikut
procedure TForm1.Button2Click(Sender: TObject);
var
  reg: TRegistry;
  path: String;
  pMethode: Integer;
  host, port, user, pass, pHost, pPort: String;
  rPlink: String;
  pf, profPF: String;
begin
  host := Edit1.Text;
  port := Edit2.Text;
  user := Edit3.Text;
  pass := Edit4.Text;
  pHost := Edit5.Text;
  pPort := Edit6.Text;
  if CheckBox1.Checked then
    pMethode := 3
    else begin
    pMethode := 0;
    end;
    reg := TRegistry.Create;
    try
    with reg do begin
    RootKey := HKEY_CURRENT_USER;
    path := '\Software\SimonTatham\PuTTY\Sessions\'+ host;
    if not KeyExists(path) then
    begin
    OpenKey(path, True);
    WriteInteger('Present', 1);
    WriteString('HostName', host);
    WriteInteger('PortNumber', StrToInt(port));
    WriteInteger('PingInterval', 0);
    WriteInteger('PingIntervalSecs', 10);
    WriteInteger('TCPNoDelay', 1);
    WriteInteger('TCPKeepalives', 1);
    WriteInteger('ProxyMethod', pMethode);
    WriteString('ProxyHost', pHost);
    WriteInteger('ProxyPort', StrToInt(pPort));
    WriteString('Cipher', 'blowfish');
    end
    else begin
    OpenKey(path, False);
    WriteInteger('Present', 1);
    WriteString('HostName', host);
    WriteInteger('PortNumber', StrToInt(port));
    WriteInteger('PingInterval', 0);
    WriteInteger('PingIntervalSecs', 10);
    WriteInteger('TCPNoDelay', 1);
    WriteInteger('TCPKeepalives', 1);
    WriteInteger('ProxyMethod', pMethode);
    WriteString('ProxyHost', pHost);
    WriteInteger('ProxyPort', StrToInt(pPort));
    WriteString('Cipher', 'blowfish');
    end;
    end;
    finally
    reg.CloseKey;
    reg.Free;
    end;
    rPlink := ExtractFilePath(Application.ExeName)+'Plink\Plink.exe -v -N -C -D 1080 '+
      user+'@'+host+' -P '+port+' -pw '+pass;
    DosCommand1.CommandLine := rPlink;
    DosCommand1.Execute;
    DosCommand1.OutputLines := Memo1.Lines;
    pf := 'C:\Program Files (x86)\Proxifier\Proxifier.exe';
    profPF := 'Plink\Plink.ppx silent-load';
    ShellExecute(Handle, 'open', PAnsiChar(pf), PAnsiChar(profPF), nil, SW_HIDE);
end;

Membuat Killtask

Selanjutnya sebelum ke pengkodingan button Stop buat terlebih dahulu function Killtask dan procedure CleanUpSystemTray yang mana untuk cara membuatnya bisa baca di postingan close aplikasi dengan killtask.

Kode Stop Button

Terakhir dengan mengklik 2 X Button3 yang mana disini difungsikan untuk button stop yaitu untuk menghentikan aplikasi plink dan proxifier dan procedurenya adalah sebagai berikut
procedure TForm1.Button3Click(Sender: TObject);
var
  reg: TRegistry;
  path, host: String;
begin
  host := Edit1.Text;
  reg := TRegistry.Create;
  try
  with reg do begin
  RootKey := HKEY_CURRENT_USER;
  path := '\Software\SimonTatham\PuTTY\Sessions\'+ host;
  if not KeyExists(path) then
  DeleteKey(path);
  end;
  finally
  reg.CloseKey;
  reg.Free;
  end;
  DosCommand1.Stop;
  Memo1.Clear;
  KillTask('Proxifier.exe');
  CleanUpSystemTray;
end;

Test Project

Setelah semua kode diatas siap coba klik tombol Run atau pada keyboard tekan F9 untuk tes project.

test project simple plink
Tes Project Simple P-Link

Demikianlah untuk postingan kali ini tentang cara membuat simple p-link semoga bermanfa'at dan semoga bisa dikembangkan lagi oleh teman-teman,Nantikan lagi experiment dari saya berikutnya.

Oke Salam Blogger and Happy Koding.

09 February 2016

Cara Membuat SSH Simple Dengan Delphi

Sekarang pada postingan kali ini saya akan mencoba untuk membuat aplikasi dimana aplikasi ini bisa untuk menjalankan bitvise dan juga bagaimana agar sebagian profilenya bisa saya isi dengan perintah delphi dan juga bisa autlogin pada saat di start.
Mungkin teman-teman ada yang belum tahu apa fungsi dan kegunaan dari bitvise tersebut teman-teman bisa membacanya di web resminya bitvise,dan untuk penyetingannya bitvise bisa teman-teman baca dipostingan saya sebelumnya,untuk itu postingan ini saya kasih judul dengan Membuat SSH Simple.

Persiapan

Pada dasarnya bitvise ini ada dua versi yaitu versi instal dan satunya lagi versi portable,disini saya akan mencoba membuat dengan versi yang instal untuk itu persiapkan atau download dahulu  bitvise versi install pada pc dan juga download proxifiernya karena saya akan coba sekaligus untuk bisa menjalankan proxifier tersebut.
Setelah di download kemudian install bitvise dan proxifier tersebut kemudian cari dimana lokasi hasil install dari kedua aplikasi tersebut berada setelah di install, karena disini saya menggunakan OS Windows 64 Bit maka kedua aplikasi tersebut berada pada directory 'C:\Program Files (x86)\Bitvise SSH Client\BvSsh.exe' dan 'C:\Program Files (x86)\Proxifier\Proxifier.exe'.

Langkah Pembuatan

Setelah selesai penginstalan kedua aplikasi tersebut dan sudah didapatkan path atau directory nya kemudian saya buka aplikasi delphinya dan buat project baru kemudian saya coba untuk save dahulu project baru tersebut karena pada project baru tersebut saya akan menambahkan satu folder untuk profile bitvise dan proxifier.

menambahkan profile bitvise dan proxifier
Menambahkan Profile Bitvise dan Proxifier

Kemudian saya kembali lagi ke project dan pada form yang baru saya coba tambahkan beberapa komponen yaitu
1. 2 buah Groupbox.
2. 6 buah Label.
3. 6 buah Edit.
4. 3 buah Button.
Dan saya coba posisikan atau tempatkan tiap-tiap komponen tersebut sehingga tampak seperti gambar di bawah ini

menambahkan komponen pada form dan memposisikan tata letaknya
Menambahkan Beberapa Komponen Pada Form

Source Code

Setelah selesai menempatkan komponen saya lanjutkan untuk ke bagian kode dimana button1 disini saya akan fungsikan untuk menyimpan setingan akun untuk bitvise kemudian button2 akan difungsikan untuk menjalankan bitvise dan proxifier dan button3 akan saya fungsikan untuk menghentikan atau mengeluarkan bitvise dan proxifier.

Penambahan Unit

Dalam pembuatan project ini saya harus menambahkan beberapa unit dalam uses dimana unit tersebut adalah untuk membuat function killtas kemudian unit untuk menyimpan dan satu unnit lagi untuk menjalankan aplikasi bitvise dan proxifier.Untuk itu dalam pembuatan project ini alangkah lebih baik membaca terlebih dahulu postingan berikut dibawah ini


Untuk itu unit yang saya tambahkan adalah IniFiles, ShellAPI dan TLHelp32.

Membuat Function Killtask

Langkah yang pertama saya lakukan adalah pembuatan function killtask yaitu untuk menutup aplikasi bitvise dan proxifier dalam project ini,dimana untuk cara membuatnya telah saya posting sebelumnya pada judul Cara Membuat Killtask.

Kode Formcreate

Setelah membuat function saya coba klik 2X pada form untuk membuat procedure daripada formcreate yang mana pembuatan procedure ini adalah supaya pada saat kita buka aplikasi ssh simple ini bisa membaca atau meload config yang telah disave sebelumnya.Sebelum pada procedure formcreate saya coba tambahkan config: TIniFile dibawah Form1: TForm1,kemudian lanjut ke procedure formcreate dimana procedurenya menjadi seperti dibawah ini
procedure TForm1.FormCreate(Sender: TObject);
begin
  Config := TIniFile.Create(ExtractFilePath(Application.ExeName)+ 'Profile\Config.ini');
  try
  Edit1.Text := Config.ReadString('CONFIG', 'Host', Edit1.Text);
  Edit2.Text := Config.ReadString('CONFIG', 'Port', Edit2.Text);
  Edit3.Text := Config.ReadString('CONFIG', 'User', Edit3.Text);
  Edit4.Text := Config.ReadString('CONFIG', 'Pass', Edit4.Text);
  CheckBox1.Checked := Config.ReadBool('CONFIG', 'Uproxy', CheckBox1.Checked);
  Edit5.Text := Config.ReadString('CONFIG', 'Lproxy', Edit5.Text);
  Edit6.Text := Config.ReadString('CONFIG', 'Lport', Edit6.Text);
  finally
  Config.Free;
  end;
end;

Kode Button Save

Kemudian lanjut ke pembuatan procedure save atau untuk menyimpan disini button1 saya buat untuk tombol save tersebut saya klik 2X button save tersebut kemudian saya buat procedurenya seperti berikut
procedure TForm1.Button1Click(Sender: TObject);
begin
  Config := TIniFile.Create(ExtractFilePath(Application.ExeName)+ 'Profile\Config.ini');
  try
  Config.WriteString('CONFIG', 'Host', Edit1.Text);
  Config.WriteString('CONFIG', 'Port', Edit2.Text);
  Config.WriteString('CONFIG', 'User', Edit3.Text);
  Config.WriteString('CONFIG', 'Pass', Edit4.Text);
  Config.WriteBool('CONFIG', 'Uproxy', CheckBox1.Checked);
  Config.WriteString('CONFIG', 'Lproxy', Edit5.Text);
  Config.WriteString('CONFIG', 'Lport', Edit6.Text);
  finally
  Config.Free;
  end;
end;

Kode Button Start

Saya lanjut lagi untuk pembuatan procedure button Start dimana disini button2 saya buat untuk button start dan saya klik 2X button start tersebut kemudian saya buat procedure nya seperti berikut ini
procedure TForm1.Button2Click(Sender: TObject);
var
  bitvise, loginSSH, profSSH, host, port, user, pass: String;
  lproxy, lport: String;
  pf, profPf: String;
begin
  host := Edit1.Text;
  port := Edit2.Text;
  user := Edit3.Text;
  pass := Edit4.Text;
  lproxy := Edit5.Text;
  lport := Edit6.Text;
  if CheckBox1.Checked then
  begin
    loginSSH := ' -host='+host+' -port='+port+' -user='+user+' -password='+pass+
                ' -proxy=y -proxyType=HTTP -proxyServer='+lproxy+' -proxyPort='+lport+' -loginOnStartup -menu=small';
  end
    else begin
      loginSSH := ' -host='+host+' -port='+port+' -user='+user+' -password='+pass+' -proxy=n -loginOnStartup -menu=small';
      end;
  bitvise := 'C:\Program Files (x86)\Bitvise SSH Client\BvSsh.exe';
  profSSH := ' -profile=Profile\ssh.bscp'+loginSSH;
  pf := 'C:\Program Files (x86)\Proxifier\Proxifier.exe';
  profPf := 'Profile\ssh.ppx silent-load';
  ShellExecute(Handle, 'open', PAnsiChar(bitvise), PAnsiChar(profSSH), nil, SW_HIDE);
  ShellExecute(Handle, 'open', PAnsiChar(pf), PAnsiChar(profPf), nil, SW_HIDE);
end;

Kode Button Stop

Dan yang terakhir lanjut ke button Stop dimana disini button3 saya buat sebagai button stop dan untuk membuat procedure nya saya klik 2X button stop tersebut kemudian saya buat procedurenya seperti ini
procedure TForm1.Button3Click(Sender: TObject);
begin
  KillTask('BvSsh.exe');
  KillTask('Proxifier.exe');
end;
Setelah itu saya kira semua kode sudah siap dan saya coba dengan mengklik Run pada menu atau bisa juga dengan menekan F9 pada keyboard dan coba jalankan aplikasi tersebut kemudian saya tes dari pada semua tombol save,start dan stop ternyata semua sesuai dengan apa yang saya inginkan dengan kata lain project ini success

tes running project ssh simple
Tes Run Project  Ssh Simple

Demikianlah untuk postingan kali ini tentang cara membuat SSH SIMPLE menurut experiment saya semoga postingan ini bermanfaat bagi teman-teman yang ingin mencoba membuat juga dan semoga teman-teman bisa mengembangkannya.Nantikan lagi experiment saya selanjutnya oke sukses selalu.

Salam Blogger And Happy Coding.

04 February 2016

Membuat Config Save Dan Load Dengan Delphi

Dengan keadaan cuaca yang tidak mendukung untuk bermain keluar rumah kemudian saya coba nyalain PC dan saya lanjut bermain-main dengan delphi,untuk kali ini saya ingin mencoba bagaimana cara membuat sebuah config yang mana tujuan pembuatan config ini adalah supaya aplikasi yang dibuat bisa menyimpan dan meload atau menampilkan kembali apa yang telah kita seting.
Sehingga kita tidak usah repot lagi untuk menseting ulang apa yang telah kita coba seting jadi tinggal kita save dan sewaktu mau menggunakannya kembali kita tinggal klik load.Untuk itu maka postingan kali ini saya beri judul dengan Membuat Config Save Dan Load.

Langkah Pembuatan

Baiklah mungkin sudah jelas tujuan postingan untuk kali ini supaya tidak panjang lebar ceritanya saya akan coba langsung ke langkah pembuatan,biasa pertama buka aplikasi delphinya kemudian pada form yang baru saya coba tambahkan beberapa komponen,yang mana komponen yang saya coba tambahkan adalah:
1. 2 Buah Komponen Label.
2. 2 Buah Komponen Edit.
3. 2 Buah Komponen Button.
4. 1 Buah Komponen Checkbox.
5. 2 Buah Komponen Radiobutton.
Kemudian saya coba posisikan atau mengatur tata letak masing-masing komponen tersebut bagaimana supaya kelihatan tampak bagus,dan saya coba posisikan seperti pada gambar dibawah ini

pengaturan tata letak komponen
Pengaturan Posisi Komponen

Mengganti Properties Caption Dan Text Komponen 

Kemudian pada masing-masing komponen pada object inspetor saya coba ganti seperti:
- komponen label saya ganti captionnya dengan Nama dan No HP kemudian 
- komponen button saya coba ganti captionnya dengan SAVE dan LOAD dan untuk 
- komponen edit saya coba ganti properties Text nya dengan Nama dan No Handphone kemudian untuk 
- komponen checkbox dan radiobutton saya coba ganti captionnya dengan Jenis Kelamin, Laki-laki dan Perempuan ini hanya untuk experimen saya aja.

Pengkodingan

Setelah itu saya coba lanjut ke text editornya untuk membuat kodingannya agar contoh dari aplikasi yang akan saya buat ini bisa jalan dengan tujuannya yang mana yaitu aplikasi ini bisa membuat sebuah config kemudian bisa save dan tentu harus bisa load atau menampilakan apa yang telah di save.
Disini pertama saya coba tambahkan pada uses yaitu unit IniFiles atau bisa teman-teman baca di postingan cara membuka dan menutup aplikasi lain untuk menambahkan unit pada uses,terus saya coba membuat variable config yang mana coba saya letakan dibawah var Form1: TForm1 jadinya seperti pada gambar dibawah ini

menambahkan variable config
Menambahkan Variable Config

Koding Button SAVE

Setelah itu saya lanjut untuk membuat procedure untuk button SAVE sesuai dengan namanya jadi button ini saya buat untuk bisa menyimpan pada config dengan cara mengklik 2X button SAVE kemudian saya tambahkan beberapa kodingan pada procedure button tersebut,dimana procedure tersebut menjadi seperti berikut dibawah ini
procedure TForm1.Button1Click(Sender: TObject);
begin
  config := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'config.ini');
  try
    config.WriteString('CONFIG', 'NAMA', Edit1.Text);
    config.WriteString('CONFIG', 'NOHP', Edit2.Text);
    config.WriteBool('CONFIG', 'JKEL', CheckBox1.Checked);
    config.WriteBool('CONFIG', 'LAKI', RadioButton1.Checked);
    config.WriteBool('CONFIG', 'PEREM',  RadioButton2.Checked);
    finally
    config.Free;
    end;
end;

Koding Button LOAD

Kemudian lanjut untuk membuat procedure button LOAD yaitu saya fungsikan button ini untuk supaya bisa menampilkan kembali apa yang telah di SAVE dimana procedure untuk button LOAD tersebut adalah seperti berikut 
procedure TForm1.Button2Click(Sender: TObject);
begin
  config := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'config.ini');
  try
    Edit1.Text := config.ReadString('CONFIG', 'NAMA', Edit1.Text);
    Edit2.Text := config.ReadString('CONFIG', 'NOHP', Edit2.Text);
    CheckBox1.Checked := config.ReadBool('CONFIG', 'JKEL', CheckBox1.Checked);
    RadioButton1.Checked := config.ReadBool('CONFIG', 'LAKI', RadioButton1.Checked);
    RadioButton2.Checked := config.ReadBool('CONFIG', 'PEREM', RadioButton2.Checked);
    finally
    config.Free;
    end;
end;

Tes Run Aplikasi

Setelah kodingan tersebut diatas saya buat langkah terahir adalah saya coba run atau tekan F9 kemudian saya coba mengisi kolom edit1 dan edit2 dan di ceklis pada checkbox dan radiobutton1 kemudian saya coba klik tombol SAVE setelah itu saya coba tutup aplikasi tersebut kemudian saya coba run lagi kemudian saya klik button LOAD dan ahirnya tampil cocok seperti yang di SAVE sebelumnya.

tes runing aplikasi save and load
Tes Running Project Save and Load

Demikian experimen saya tentang cara membuat config serta bisa SAVE dan LOAD semoga postingan ini bermanfaat bagi teman-teman dan bisa teman-teman kembangkan lagi.Nantikan lagi experimen selanjutnya dari saya.Apabila teman-teman ada yang kurang jelas atau ada saran silahkan tulis di komentar,Terima Kasih.

Ok Salam Blogger And Happy Coding.

02 February 2016

Close Aplikasi Lain Dengan Killtask Dan Cleanupsystemtray Di Delphi

Sebenarnya pada postingan untuk kali ini fungsinya sama dengan postingan kemarin yaitu tentang cara menutup aplikasi lain dengan delphi tetapi untuk kali ini saya coba dengan menggunakan sebuah fungsi.
Dimana apabila dengan cara pada postingan kemarin untuk menutup aplikasi lain tidak bisa maka dengan cara kali ini mungkin bisa sebagai alternatip untuk melakukan proses close aplikasi.

Langkah Pembuatan

Karena untuk kali ini saya akan mencoba dengan menggunakan sebuah fungsi maka saya kemudian membuka aplikasi delphinya dulu dan saya coba tambahkan pada Form 2 buah Button dimana satu button untuk membuka aplikasi dan satu button lagi untuk menutup aplikasi yang di telah dibuka saya posisikan button tersebut pada form seperti pada gambar berikut dibawah ini

penambahan komponen button pada form
Penambahan 2 Buah Button

Kode Function Killtask

Disini saya akan coba membuat sebuah function Killtask yaitu fungsinya untuk menutup aplikasi,karena disini akan saya coba untuk membuat fungsi dan dimana untuk membuat fungsi ini perlu tambahan unit pada uses yang mana unitnya adalah TLHelp32,setelah saya coba tambahkan unit tersebut pada uses kemudian pada kode editor saya coba buat kode function sebagai berikut
function KillTask(ExeFileName: string): integer;
const
  PROCESS_TERMINATE = $0001;
var
  ContinueLoop: BOOL;
  FSnapshotHandle: THandle;
  FProcessEntry32: TProcessEntry32;
begin
  Result := 0;
  FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  FProcessEntry32.dwSize := SizeOf(FProcessEntry32);
  ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);
  while Integer(ContinueLoop) <> 0 do
  begin
    if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
      UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) =
      UpperCase(ExeFileName))) then
      Result := Integer(TerminateProcess(
                        OpenProcess(PROCESS_TERMINATE,
                                    BOOL(0),
                                    FProcessEntry32.th32ProcessID),
                                    0));
     ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
  end;
  CloseHandle(FSnapshotHandle);
end;

Procedure Cleanup system Tray

Selain itu disini saya akan coba dengan membuat sebuah procedure CleanUpSystemTray yang mana fungsinya adalah untuk merefresh icon aplikasi yang diclose yang masih tertinggal pada sysytem tray,dan disini saya perlu tambahan unit ShellApi pada uses yang mana procedurenya adalah sebagai berikut
procedure CleanUpSystemTray;
var
  hTaskbar: HWND;
  hSysTray: HWND;
  R: TRect;
  iXPos: Integer;
  iYPos: Integer;
  iLeft: Integer;
  iRight: Integer;
  iTop: Integer;
  iBottom: Integer;
  iMouseFlag: Integer;
  p: TPoint;
const
  cMax = 65535;
  cXStep = 1000;
  cYStep = 100;
begin
    hTaskbar := FindWindow(PChar('Shell_TrayWnd'), nil);
    hSysTray := FindWindowEx(hTaskbar, 0, 'TrayNotifyWnd', nil);
    GetWindowRect( hSysTray, R );
    iLeft       := R.Left   * cMax div Screen.Width;
    iRight      := R.Right  * cMax div Screen.Width;
    iTop        := R.Top    * cMax div Screen.Height;
    iBottom     := R.Bottom * cMax div Screen.Height;
    GetCursorPos(p);
    iMouseFlag  := MOUSEEVENTF_MOVE + MOUSEEVENTF_ABSOLUTE;
    iXPos := iLeft;
    repeat
      iYPos := iTop;
      repeat
        mouse_event(iMouseFlag, iXPos, iYPos, 0, 0);
        iYPos := iYPos + cYStep;
      until iYPos >= iBottom;
        iXPos := iXPos + cXStep;
      until iXPos >= iRight;
        SetCursorPos(p.x, p.y);
end;

Procedure Button Open

Disini saya akan mencobanya dengan membuka sebuah aplikasi Bitvise yang mana aplikasi bitvise ini berada di folder C:\Program Files (x86)\Bitvise SSH Client\BvSsh.exe karena saya menggunakan OS 64Bit apabila menggunakan OS 32Bit mungkin posisi bitvise berada di C:\Program Files\Bitvise SSH Client\BvSsh.exe.Dan untuk procedure button1 yang mana difungsikan untuk membuka bitvise maka saya coba dengan membuat procedurenya sebagai berikut
procedure TForm1.Button1Click(Sender: TObject);
var
  bitvise: String;
begin
  bitvise := 'C:\Program Files (x86)\Bitvise SSH Client\BvSsh.exe';
  ShellExecute(Handle, 'open', PAnsiChar(bitvise), nil, nil, SW_NORMAL);
end;

procedure Button Close

Untuk button2 yang mana saya coba difungsikan untuk menutup bitvise yang telah dibuka,yang mana untuk procedurenya saya buat sebagai berikut
procedure TForm1.Button2Click(Sender: TObject);
begin
  KillTask('BvSsh.exe');
  CleanUpSystemTray;
end;

Setelah saya buat procedure semua tersebut diatas kemudian saya coba Run untuk melihat apakah berfungsi dan kemudian saya coba klik tombol open dan tombol close setelah itu ahirnya hasilnya wow...

test killtask dan cleanupsystemtray
Tes Running

Demikianlah untuk postingan kali ini sesuai dengan judul diatas semoga dengan postingan ini bermanfa'at bagi teman-teman.

Ok Salam Blogger And Happy Coding.

28 January 2016

Cara Membuka Dan Menutup Aplikasi Lain Dengan Delphi

Untuk postingan kali ini saya akan mencoba masih bermain dengan delphi yaitu bagaimana cara untuk membuka dan menutup suatu aplikasi dengan delphi,maksud nya misalkan kita akan membuka dan menutup aplikasi notepad hanya dengan menekan atau mengklik sebuah tombol.Ini hanya sebuah contoh saya membuka aplikasi notepad tentunya kita bisa membuka aplikasi yang lainnya dengan kode yang akan saya coba gunakan di bawah ini.

Penambahan ShellApi

Setelah saya coba membuka aplikasi delphinya disini untuk membuat suatu aplikasi dengan delphi apabila kita ingin membuka suatu aplikasi lain yaitu kita butuh pemanggilan function ShellExecute yang mana function tersebut ada di unit ShellApi,untuk itu kita perlu menambahkan unit ShellApi tersebut ke uses di aplikasi yang akan kita buat.
Untuk menambahkan unit ShellApi tersebut pada uses bisa kita tambahkan di uses yang berada di bawah interface atau bisa juga kita tambahkan uses di bawah implementation.
menambahkan uses shellapi dibawah interface
Penambahan Uses ShellApi dibawah Interface
menambahkan uses shellapi dibawah implementation
Penambahan Uses ShellApi dibawah Implementation


Kode Membuka Aplikasi

Selanjutnya saya akan menambahkan dua buah komponen Button yang mana komponen Button1 apabila di klik maka aplikasi notepad akan tampil,dan untuk Button2 adalah untuk menutup notepad.
Sebelum ke pembuatan procedure untuk Button1 yaitu untuk membuka notepad kita harus tahu dahulu dimana letak atau path notepad berada ini sebagai contoh apabila kita ingin membuka notepad yang mana notepad tersebut berada pada C:\Windows\notepad.exe.
Kemudian setelah tahu letak atau path aplikasi notepad tersebut lanjut ke pembuatan procedure Button1 dimana disini saya menggunakan komponen Button1 maka saya coba klik 2X komponen Button1 tersebut dan saya coba tambahkan beberapa kode diprocedure tersebut,sehingga procedure dari Button1 menjadi seperti dibawah ini
procedure TForm1.Button1Click(Sender: TObject);
var
  app: String;
begin
  app := 'C:\Windows\notepad.exe';
  ShellExecute(Handle, 'open', PAnsiChar(app), Nil, Nil, SW_SHOWNORMAL);
end;
Kemudian saya lanjut ke pembuatan procedure untuk Button2 yang saya coba difungsikan untuk menutup aplikasi notepad yang telah dibuka caranya dengan mengklik 2X Button2 dan menambahkan beberapa kode didalamnya sehingga keseluhan dari kode procedure Button2 tersebut menjadi seperti dibawah ini
procedure TForm1.Button2Click(Sender: TObject);
var
  appH: HWND;
begin
  appH := FindWindow('Notepad', Nil);
  SendMessage(appH, WM_CLOSE, 0, 0);
end;
Selanjutnya setelah saya tambahkan kode tersebut diatas saya coba test dengan mengklik tombol Run atau menekan tombol F9 pada keyboard,kemudian mencoba mengklik Button1 dan Button2 untuk melihat hasilnya dari pemberian kode pada Buton1 dan Button2 berhasil apa tidaknya. 

tes run aplikasi open close delphi
Tes Aplikasi Open Close

Demikianlah untuk postingan kali ini sesuai dengan judul diatas semoga bermanfa'at dan bisa teman-teman kembangkan.

Salam Blogger and Happy Coding.

20 January 2016

Cara Membuat Route Opsel Dengan Delphi

Untuk kali ini saya akan coba membuat sebuah aplikasi yang sangat simple(sederhana) yang mana aplikasi ini saya buat untuk membuat route dari operator selular secara manual yang ada di negara kita,untuk itu saya beri nama aplikasi ini dengan ROUTE OPSEL.
Aplikasi ini saya coba buat dengan agar supaya bisa sekalian mengcapture daripada perintah route itu sendiri artinya hasil dari route akan kita lihat/ditampilkan pada memo.Sebelum saya memulai untuk membuat aplikasi ini apabila diantara teman-teman ada yang mau belajar juga membuatnya ada baiknya teman-teman membaca dulu atau mempelajarinya dulu dari postingan saya yang sebelum-sebelumnya yaitu bagaimana cara membuat capture console dengan delphi,teman-teman bisa baca di:
Cara Capture Console Dengan Procedure Secara Realtime kemudian
Dan bagi yang belum di instal komponen DosCommand nya silahkan instal terlebih dahulu untuk yang belum tahu cara penginstalannya bisa di buka pada postingan
Kenapa saya coba mereferensikan untuk mempelajarinya terlebih dahulu dari pada postingan yang saya sebutkan diatas tadi,karena dengan alasan saya akan mencoba membuat aplikasi route opsel ini agar supaya bisa mengcapturenya hasil dari perintah route itu sendiri,maka dari itu untuk membuat aplikasi ini yang akan saya buat perlu dari salah satu langkah dari ketiga cara tersebut.
Dan untuk kali ini saya akan mencobanya dengan cara yang menggunakan komponen doscommand,dan mungkin teman-teman bisa mencobanya dengan cara yang lain.

Langkah Pembuatan Route Opsel

Menuju ke pokok dari postingan kali ini yaitu tentang bagaimana cara membuat route opsel sekarang langkah pertama yaitu membuka aplikasi delphinya dan bagi yang komputernya belum diinstal delphinya silahkan instal dulu aplikasi delphi 7 nya terlebih dahulu karena saya coba membuatnya dengan delphi versi 7.Apabila sudah siap aplikasi delphinya coba buka  kemudian pada Form coba tambahkan beberapa komponen yang diperlukan.

Komponen-komponen Yang Di Tambahkan

Disini saya coba dengan menambahkan komponen-komponen pada Form yang terdiri dari:
1. 1 buah Memo.
2. 1 buah Edit.
3. 1 buah ComboBox.
4. 5 buah Button.
5. 1 buah DosCommand.
6. 1 buah IdIPWatch.
Dan coba atur penempatan daripada komponen-komponen tersebut yang telah ditambahkan pada Form supaya kelihatan bagus dan rapi.Kemudian untuk masing-masing komponen Button pada Object Inspector rubah Caption nya sesuai dengan fungsinya masing-masing yang akan dibuat,disini saya coba daripada tiap-tiap button saya ganti captionnya yaitu dengan GET IP,ROUTE,DEL ROUTE,CLEAR dan ROUTE PRINT.Disini saya coba memposisikan atau menempatan daripada komponen-komponen penambahan tadi yaitu seperti gambar di bawah ini

menambahkan komponen dan mengatur posisi
Menambahkan Komponen dan Mengatur Posisi Komponen

Setelah pengaturan posisi penempatan komponen pass atau cocok menurut selera masing-masing selanjutnya saya akan mencoba kebagian pengkodingan.

Proxy Dari Masing-masing Opsel

Sebelum lanjut ke pongkodingan kita juga harus tahu dulu bahwa dinegara kita tiap-tiap operator selular mempunyai proxy masing-masing dan ini sangat diperlukan untuk membuat aplikasi route ini.Dan berikut ini adalah proxy dan nama operator yang saya tahu tentunya operator yang ada di negara kita:
1. TELKOMSEL Proxynya adalah 10.1.89.130.
2. INDOSAT Proxynya adalah 10.19.19.19.
3. XL Proxynya adalah 202.152.240.50.
4. AXIS Proxynya adalah 10.8.3.8.
5. TRI Proxynya adalah 10.4.0.10.

Procedure/Kode Untuk Tiap Komponen Yang Di Fungsikan

Yang pertama saya akan coba memasukan list atau daftar Proxy dari tiap opsel pada komponen ComboBox caranya adalah
Klik ComboBox kemudian pada object inspector pada properties Items bagian sebelah kanannya klik kemudian masukan Proxy operator selular yaitu:
10.1.89.130
10.19.19.19
202.152.240.50
10.8.3.8
10.4.0.10
Kemudian klik Ok.
Gambarannya seperti berikut dibawah ini

menambahkan list proxy opsel pada combobox
Menambahkan List Proxy Pada Combobox

Selanjutnya saya akan membuat procedure/kode untuk Button GET IP yaitu dengan cara mengklik 2X button tersebut dan saya coba buat procedurenya seperti ini
procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit1.Text := IdIPWatch1.LocalIP;
end;
Setelah itu lanjut untuk membuat procedure Button ROUTE caranya sama dengan mengklik 2X button ROUTE kemudian buat procedurenya seperti ini
procedure TForm1.Button2Click(Sender: TObject);
var
  route: String;
begin
  Memo1.Clear;
  route := 'route ADD ' + ComboBox1.Text + ' MASK 255.255.255.255 ' + Edit1.Text;
  DosCommand1.CommandLine := route;
  DosCommand1.Execute;
  DosCommand1.OutputLines := Memo1.Lines;
end;
Kemudian lanjut ke Button DEL ROUTE dan untuk procedurenya adalah seperti ini
procedure TForm1.Button3Click(Sender: TObject);
var
  delroute: String;
begin
  delroute := 'route DELETE ' + ComboBox1.Text;
  DosCommand1.CommandLine := delroute;
  DosCommand1.Execute;
  DosCommand1.OutputLines := Memo1.Lines;
end;
Lanjut lagi ke Button ROUTE PRINT dan untuk procedurenya adalah seperti ini
procedure TForm1.Button5Click(Sender: TObject);
var
  routeprint: String;
begin
  routeprint := 'route PRINT';
  DosCommand1.CommandLine := routeprint;
  DosCommand1.Execute;
  DosCommand1.OutputLines := Memo1.Lines;
end;
Dan yang terakhir untuk Button CLEAR buat procedurenya seperti ini
procedure TForm1.Button4Click(Sender: TObject);
begin
  Memo1.Clear;
end;
Setelah itu saya kira aplikasi telah siap untuk di tes,kemudian saya coba Run dan hasilnya...

tes route operator selular
Tes Run Route Opsel

Demikian untuk postingan kali ini tentang cara membuat Route Opsel yang sangat simple,semoga ini bermanfa'at dan bisa dikembangkan lagi oleh teman-teman.
Nantikan lagi experiment saya selanjutnya.

Ok Salam Blogger and Happy Koding.

15 January 2016

Cara Mendapatkan IP Address Dan Nama PC Dengan Winsock

Sekarang saya akan coba membuat postingan mengenai bagaimana cara mendapatkan ip address dan nama pc kita tentunya dengan delphi,ya ini saya buat buat yang mau dan yang baru belajar delphi sama seperti saya.Yang saya tahu untuk cara mendapatkan ip yang kita dapat dari suatu koneksi di delphi yaitu dengan menggunakan winsock dan satu lagi dengan menggunakan komponen dari indy.
Dan untuk kali ini saya akan mencobanya membuat cara mendapatkan ip dan nama pc(nama komputer)dengan menggunakan winsock dan juga dilain waktu akan saya coba juga membuat suatu postingan dengan menggunakan komponen dari indy.

Langkah Pembuatannya

Sekarang saya akan memulai cara membuatnya biasa pertama buka aplikasi delphinya kemudian saya coba tambahkan beberapa komponen pada Form yang baru tersebut dimana komponen yang saya tambahkan adalah:
1. 2 buah Label.
2. 2 buah Edit.
3. 1 buah Button.
Yang mana untuk masing-masing label saya ganti captionnya pada object inspector untuk Label1 saya ganti dengan IP dan yang Label2 saya ganti dengan Nama PC dan yang Button saya ganti dengan GET,dan saya coba posisikan masing-masing komponen tersebut supaya enak dilihatnya saya coba posisikan seperti gambar dibawah ini
penambahan komponen pada form
Menambahkan Komponen Pada Form
Setelah itu saya coba ke code editor daripada delphi yang mana saya akan coba membuatnya atau menambahkan sebuah function dimana function tersebut yang akan memproses agar supaya ip dan nama pc bisa ditampilkan dan untuk menambahkan function tersebut saya tambahkan uses winsock kemudian baru saya tambahkan function dimana untuk function nya adalah sebagai berikut
function GetIPFromHost(var HostName, IPaddr, WSAErr: string): Boolean;
type
  Name = array[0..100] of Char;
  PName = ^Name;
var
  HEnt: pHostEnt;
  HName: PName;
  WSAData: TWSAData;
  i: Integer;
begin
  Result := False;
  if WSAStartup($0101, WSAData) <> 0 then begin
    WSAErr := 'Winsock is not responding."';
    Exit;
  end;
  IPaddr := '';
  New(HName);
  if GetHostName(HName^, SizeOf(Name)) = 0 then
  begin
    HostName := StrPas(HName^);
    HEnt := GetHostByName(HName^);
    for i := 0 to HEnt^.h_length - 1 do
     IPaddr :=
      Concat(IPaddr,
      IntToStr(Ord(HEnt^.h_addr_list^[i])) + '.');
    SetLength(IPaddr, Length(IPaddr) - 1);
    Result := True;
  end
  else begin
   case WSAGetLastError of
    WSANOTINITIALISED:WSAErr:='WSANotInitialised';
    WSAENETDOWN      :WSAErr:='WSAENetDown';
    WSAEINPROGRESS   :WSAErr:='WSAEInProgress';
   end;
  end;
  Dispose(HName);
  WSACleanup;
end;
Saya tambahkan function tersebut dibawah implementation.Setelah saya tambahkan function kemudian saya buat procedure untuk Button dengan cara mengklik button 2X dan coba menambahkan sedikit kode pada procedure tersebut yang mana procedure button tersebut menjadi seperti dibawah ini
procedure TForm1.Button1Click(Sender: TObject);
var
  Host, IP, Err: String;
begin
  if GetIPFromHost(Host, IP, Err) then begin
    Edit1.Text := IP;
    Edit2.Text := Host;
    end
    else
      MessageDlg(Err, mtError, [mbOK], 0);
end;
tambahan kode  pada procedure button
Penambahan Kode Pada Procedure Button

Kemudian setelah saya buat procedure pada Button tersebut saya coba run atau tekan F9 untuk melihat hasilnya kemudian saya coba klik Button GET dan ternyata hasilnya seperti gambar dibawah ini
tes jalankan program ip address
Tes Run Program IP Address

Begitulah kira-kira cara untuk membuat mendapatkan ip dan nama PC dengan delphi sesuai dengan judul postingan kali ini,semoga postingan ini bisa bermanfa'at dan bisa teman-teman kembangkan lagi pada aplikasi yang dibuat teman-teman.

Oke Salam Blogger and Happy Koding.

13 January 2016

Capture Console Dengan Komponen DosCommand

Setelah kemarin saya membuat postingan mengenai bagaimana cara menginstall suatu komponen delphi yang berekstensikan file *.pas dan saya mengambil salah satu contoh yaitu komponen dos command dimana komponen ini fungsinya yaitu untuk mengeksekusi dan mengcapture cmd windows dan ditampilkan pada memo didelphi.Kenapa saya mengambil contoh dos command dengan alasan tentang postingan saya sebelumnya yaitu bahwa untuk mengcapture console daripada cmd windows bisa di buat dengan berbagai cara yaitu diantaranya baik dengan menggunakan suatu procedure dan bisa dibaca cara nya di capture console secara realtime kemudian bisa dengan menggunakan function caranya juga bisa dibaca di cara capture console dengan function dan juga bisa dengan menggunakan suatu komponen yang akan saya bahas dalam postingan sekarang ini.
Jadi apabila kita mau membuat suatu aplikasi yang dimana ada hubungannya dengan suatu cmd windows kita bisa membuatnya dengan salah satu dari ketiga cara tersebut,mana yang lebih cocok yang bisa digunakan sesuai dengan apa yang akan dibuat aplikasi tersebut.

Cara Menggunakan Komponen Dos Command

Biar ga terlalu panjang lebar saya akan coba langsung ke pokok atau inti dari postingan kali ini yaitu cara membuat suatu aplikasi dengan menggunakan komponen doscommand,biasa pertama buka aplikasi delphinya kemudian tambahkan beberapa komponen dan atur penempatannya,disini saya coba menambahkan beberapa komponen pada Form yaitu:
1. Memo.
2. Edit.
3. Button.
4. Komponen DosCommand.
dan saya posisikan masing-masing komponen tersebut dan tampak seperti gambar dibawah ini
penambahan komponen pada form
Menambahkan beberapa komponen

Selanjutnya setelah saya posisikan masing-masing komponen saya lanjut ke Form dimana akan saya coba untuk membuat suatu procedure untuk tombol button,procedure tersebut apabila dikilik button maka apa yang ada di kolom edit dimana kolom tersebut adalah suatu perintah daripada cmd windows akan ditampilkan pada memo.
Saya coba klik 2X button dan akan tampil kode editor daripada delphi dan tentunya dengan mengklik 2X button secara otomatis kode editor membuat suatu procedure button tersebut jadi saya tinggal coba tambahkan beberapa kodingan.
Untuk procedure button tersebut saya coba buat sebagai berikut:

procedure TForm1.Button1Click(Sender: TObject);
var
  cmd: String;
begin
  cmd := Edit1.Text;
  DosCommand1.CommandLine := cmd;
  DosCommand1.OutputLines := Memo1.Lines;
  DosCommand1.Execute;
end;  

menambahkan kode pada procedure
Menambahkan sedikit kode pada procedure button

Kemudian setelah saya kasih sedikit koding pada procedure diatas saya coba run atau tekan F9 untuk mencobanya,dan disini saya akan mencobanya dengan perintah route print maka pada kolom edit saya coba masukan route print kemudian tekan tombol button dan hasilnya ...
test hasil penambahan komponen dos command
Hasil test run dengan menggunakan komponen Dos Command

Demikian postingan kali ini dari saya tentang cara bagaimana capture console menggunakan suatu komponen Dos Command dan tentunya akan lebih mudah penggunaannya,semoga postingan ini bermanfa'at dan bisa teman-teman kembangkan.

Oke Salam Blogger and Happy Koding.

12 January 2016

Cara Install Komponen Dos Command Di Delphi

Kali ini saya akan coba membuat postingan tentang cara menginstall suatu komponen pada delphi yang mana biasanya untuk installan komponen para developer memberikannya dalam suatu packer atau berekstensikan file *.dpk,jadi cara menginstallnya kita hanya membuka file *.dpk tersebut dan kemudian klik tombol install.Sedangkan untuk kali ini sesuai dengan judul postingan kali ini saya akan coba menginstall komponen DosCommand dimana file tersebut berekstensikan file *.pas,tentu saja cara untuk penginstallannya berbeda dengan yang berekstensikan file *.dpk.Dan tentunya tidak sedikit juga para developer memberikan suatu installan komponen untuk delphi yang berekstensikan file *.pas.

Langkah Penginstallan

Baiklah saya akan coba langsung ke cara penginstallan file *.pas dimana saya mengambil salah satu contoh sesuai dengan judul yaitu komponen DosCommand,teman-teman bisa cari filenya dan download lewat mesin pencari google.Setelah kita download file tersebut biasanya file tersebut dalam suatu zip saya coba ekstak dulu ke direktori source pada dephi dimana saya install aplikasi delphinya,biar nanti lebih mudah untuk pencarian pada librarynya.
Setelah di ekstrak saya buka aplikasi delphi kemudian pada menu pilih Component dan klik install Component
menu componen delphi
Menu Komponen

Setelah itu akan muncul form install Component saya klik pada into new package dan kemudian pada Unit file name klik tombol browse yang ada disamping kanannya dimana saya akan pilih file doscommand yang berektensikan file *.pas yang telah saya ekstak tadi.
form install component
Form Install Komponen

Pada kolom Package file name dan Package description isi dengan bebas tetapi akan lebih baik jika sesuai dengan komponen yang akan diinstall disini saya isi dengan doscomand,setelah itu klik tombol OK dan kemudian akan muncul form Confirm kemudian saya klik tombol Yes
form confirm install component
Form Konfirmasi Komponen Baru yang Diinstal

Kemudian akan muncul kembali form Information yang mana bahwa komponen DosCommand telah terinstall pada delphi saya klik OK.Dan untuk tempatnya dimana komponen DosCommand tersebut berada pada palette komponen delphi yaitu berada di palette Sample saya coba klik palette tersebut dan Komponen DosCommand telah berhasil terinstall atau ditambahkan di palette tersebut.
doscommand component
Letak Komponen DosCommand

Demikianlah cara install Komponen DosCommand dan ini adalah merupakan salah satu contoh cara penginstallan komponen yang berekstensikan file *.pas.
Ahir kata untuk postingan kali ini Semoga postingan ini bisa bermanfa'at.

Oke Happy Blogger and Koding,Salam.