Sabtu, 19 Desember 2009
Coding delphi
Tray Icon
Tray Icon? menarik juga untuk membuatnya (Gaya lagi ), Tray Icon adalah icon yang (secara default) ada di pojok kanan bawah sebelah kiri jam system.nah disini saya akan coba bahas trik bagaimana membuat program pake delphi yang dapat menampilkan tray ikon dan menghilangkannya kembali, serta klo iconnya diklik-kanan, ntar muncul popup menu.
rada susah sih jelasinnya, coz rada panjang. tapi mudah2an langkah2 berikut ini bermanfaat:
pada form yang baru dibuat, tekan F12 untuk beralih ke jendela coding.. pada bagian uses, tambahkan unit ShellAPI
pada bagian type, tambahkan private variabel yang bertipe TNotifyIconData, misal nama variabelnya TrayIcon
private
{ Private declarations }
TrayIcon: TNotifyIconData;
tekan F12 lagi untuk beralih ke tampilan form anda, double klik form anda, nanti muncul procedure TForm1.FormCreate(Sender: TObject); dan tambahkan sintaks berikut ini untuk inisialisasi program
TrayIcon.cbSize := SizeOf(TrayIcon);
TrayIcon.Wnd := Self.Handle;
TrayIcon.uID := 0;
TrayIcon.uFlags := NIF_ICON or NIF_TIP or NIF_MESSAGE;
TrayIcon.uCallbackMessage := WM_MOUSEMOVE;
TrayIcon.hIcon := Application.Icon.Handle;
tambahkan object button pada form anda, captionnya beri nama Create tray icon. button ini buat meng-create tray icon. double klik button ini, ntar bakal kebentuk procedure TForm1.Button1Click(Sender: TObject); lalu tambahkan sintaks berikut ini pada body procedure
Shell_NotifyIcon(NIM_ADD, @TrayIcon);
tambahkan lagi object button pada form anda, captionnya beri nama Hide tray icon. button ini buat meng-hide tray icon. double klik button ini, ntar bakal kebentuk procedure TForm1.Button2Click(Sender: TObject); lalu tambahkan sintaks berikut ini pada body procedure
Shell_NotifyIcon(NIM_DELETE, @TrayIcon);
sekarang kita pilih object inspector, objectnya pilih form kita sekarang (defaultnya, pilih form1). pilih tag events, pilih events OnDestroy, double klik valuenya yang masih kosong, ntar bakal kebentuk procedure TForm1.FormDestroy(Sender: TObject);
pada body procedure ini tambahkan sintaks yang sama seperti langkah nomor 5 (untuk menghilangkankan tray icon). hal ini bertujuan agar ketika aplikasi di-exit, tray icon ikut hilang dan memory yang digunakan di-release (dibebaskan)
tambahkan object PopupMenu yang ada pada component Standard ke form anda skarang. double klik PopupMenu-nya, ntar muncul PopupMenu design. tambahin aja menu Show sama menu Exit. menu Show disini digunakan untuk menampilkan (me-maximize) kembali aplikasi yang sudah di-minimize, sedangkan Exit yang buat exit :p
Pada Popupmenu Design, double klik PopupMenu yang Show, ntar muncul procedure TForm1.Show1Click(Sender: TObject); dan tambahin sintaks berikut ini
Application.Restore;
Pada Popupmenu Design, double klik PopupMenu yang Exit, ntar muncul procedure TForm1.Exit1Click(Sender: TObject); dan tambahin sintaks berikut ini
Application.Terminate
wuih.. sabar.. masih belom beres. dikit lagi.
tambahkan satu private procedure berikut ini untuk menampilkan popup menu.
procedure TForm1.ShowPopupMenu;
var
CurPos: TPoint;
begin
GetCursorPos(CurPos);
SetForegroundWindow(Self.Handle);
PopupMenu1.Popup(CurPos.x, CurPos.y);
PostMessage(Self.Handle, WM_NULL, 0, 0);
end;
jangan lupa menambahkan deklarasi procedure pada private declaration
private
{ Private declarations }
TrayIcon: TNotifyIconData;
procedure ShowPopupMenu; // ini deklarasi procedure pada private declaration
skr kembali ke object inspector lagi. objectnya pilih form kita skarang (defaultnya pilih Form1), pilih tag events, pilih events OnMouseMove, double klik valuenya yang masih kosong, ntar bakal kebentuk procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); lalu tambahkan sintaks berikut ini pada body procedure tersebut
if X = 517 then
ShowPopupMenu;
Membuat Hyperlink di Delphi
ga sengaja waktu saya ngoprek delphi, waktu itu program yang dioprek adalah program buat manggil program laen.. function ShellExecute yang biasa dipake buat manggil program laen, bisa juga dipake buat ngebuka halaman web tertentu pada browser anda.caranya gampang, berikut ini trick-nya:
pada form baru yang sudah dibuka, tambahkan object Label yang ada di component Standard
pada object inspector, pilih tag property, lalu property caption-nya isi dengan nama situs atau alamatnya.. misal: http://bayurimba.wordpress.com
lalu property cursor-nya ganti dengan crHandPoint, agar nanti pada saat mouse kita diatas tulisan tersebut cursornya berubah jadi gambar tangan (kayak mau klik hyperlink gitu deh)
pilih property Font, ubah warna Font Label menjadi biru. Mau warna apa aja terserah sih, saya pilih warna biru karena hyperlink biasanya warnanya biru.
klo udah, skr double klik label tersebut, ntar bakal terbentuk procedure TForm1.Label1Click(Sender: TObject);
Lalu pada body prosedur, tambahkan sintak berikut:
ShellExecute(0, 'open', 'http://bayurimba.wordpress.com', '', '',SW_SHOWNORMAL);
udah cuma segitu, pastikan alamat tujuan pada parameter ke-3 function ShellExecute sesuai dengan yang anda maksud
Membuat MP3 Player
Hehhhhmmmmmmmm membuat MP3 Player pake’ delphi itu kelihatan nya mengasyikkan juga,,,,,, hiii jadi pengen buat……..ehh ternyata nyoba ehhhh akhirnya bisa juga.Nih temen2 kalau kalian minat anda bisa baca langsung codingnya …
Program ini cuma make 1 form aja. Klo udah buka delphi, tinggal tambahkan beberapa objek ke form1. Objek yang pertama yaitu objek MediaPlayer yang terdapat pada component System.
Pada bagian object inspector, pilih property VisibleButton, lalu beri nilai False untuk btNext, vtPrev, btRecord, dan btEject. Jadi button yang keliatan cuma btPlay, btPause, btStop, btStep, btBack.
Tambahkan objek OpenDialog yang ada pada component Dialogs. Lalu pada object inspector untuk OpenDialog, pilih property Filter. Pada filter editor, kita tambahkan filter untuk file mp3 agar aplikasi ini hanya dapat membuka file mp3 saja. Misal Filter Name-nya MPEG Audio Files (*.mp3), sedangkan Filter-nya isi dengan *.mp3
Klo kmu pake delphi7, tambahkan object XPManifest yang ada pada component Win32, agar tampilan program-nya menyesuaikan dengan setting grafik window XP.
Tambahkan object Timer yang ada pada component System. Pastikan property Enabled-nya bernilai True, dan Intervalnya bernilai 1000.
Tambahkan 1 buah button, captionnya diisi dengan Open mp3 file…
Tambahkan object ProgressBar yang ada pada component Win32. Nah sekarang atur tampilannya agar seperti tampak pada gambar.
Sebelum mulai coding, tambahin dulu variabel global berikut ini:
Mp3Path: string;
paused: Boolean;
Untuk inisialisasi, double klik form1, lalu tambahkan sourcode berikut ini pada procedure TForm1.FormCreate(Sender: TObject);
paused:=false;
MediaPlayer1.Enabled:=False;
Form1.Height:=115;
Form1.Width:=435;
Form1.Top:=(Screen.Height-Form1.Height)div 2;
Form1.Left:=(Screen.Width-Form1.Width)div 2;
Nah skr mulai coding. Double klik object MediaPlayer, dan tambahkan source code berikut ini pada procedure TForm1.MediaPlayer1Click(Sender: TObject; Button: TMPBtnType; var DoDefault: Boolean);
if Button = btStop then
begin
MediaPlayer1.Position:=0;
ProgressBar1.Position:=0;
end
else if Button = btStep then
begin
if ((MediaPlayer1.Position+5000)<=MediaPlayer1.Length) then
MediaPlayer1.Position:=MediaPlayer1.Position+5000
else
begin
MediaPlayer1.Position:=0;
ProgressBar1.Position:=0;
end;
MediaPlayer1.Play;
end
else if Button = btBack then
begin
if ((MediaPlayer1.Position-5000)>0) then
MediaPlayer1.Position:=MediaPlayer1.Position-5000
else
MediaPlayer1.Position:=0;
MediaPlayer1.Play;
end;
Double klik object Timer, lalu tambahkan source code ini pada procedure TForm1.Timer1Timer(Sender: TObject);
if MediaPlayer1.Enabled then
begin
ProgressBar1.Position:=MediaPlayer1.Position;
if ProgressBar1.Position=MediaPlayer1.Length then
begin
MediaPlayer1.Stop;
ProgressBar1.Position:=0;
MediaPlayer1.Close;
MediaPlayer1.Enabled:=true;
MediaPlayer1.FileName:=Mp3Path;
MediaPlayer1.Open;
MediaPlayer1.Position:=0;
ProgressBar1.Max:=MediaPlayer1.Length;
ProgressBar1.Min:=0;
end;
end;
Double klik button tadi, lalu tambahkan source code ini pada procedure TForm1.Button1Click(Sender: TObject);
if OpenDialog1.Execute then
begin
Mp3Path:=OpenDialog1.FileName;
with MediaPlayer1 do
begin
Enabled:=true;
FileName:=Mp3Path;
Open;
Position:=0;
Play;
end;
ProgressBar1.Max:=MediaPlayer1.Length;
ProgressBar1.Min:=0;
end;
0 komentar:
Posting Komentar