Selasa, 27 Oktober 2009

Konfirmasi Close FORM (Delphi 7)

Dulu pernah saya sempat dibuat bingung dalam melakukan pembatalan ketika meng-close form.
Dan pada waktu itu akhirnya saya akalin dengan membuat button sendiri untuk exit.
Tetapi sekarang saya sudah menemukan caranya.
Pada even onClose sebuah form, masukkan kode dibawah ini:

procedure TMenuUtamaFm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
if messagedlg('Anda yakin mau Keluar ?',mtConfirmation,[mbYes,mbNo],0)=IDNo then begin
   Action:=caNone;
end;


Semoga bermanfaat.

Sabtu, 17 Oktober 2009

Mematikan Autorun pada windows XP


Fitur autorun pada sistem operasi windows XP sering kali dijadikan cara penyebaran virus. Oleh karena itu saya akan memberi tahu cara untuk mematikannya. Dari yang saya ketahui selama ini ada 2 macam cara manual dalam mematikan fitur autorun, yaitu melalui regedit dan gpedit.msc.
Masing-masing memiliki kelebihan dan kekurangannya.
Kelebihan dari regedit kita dapat mengatur bagian mana saja yang ingin di matikan fitur autorunnya (CD-ROM / DVD-ROM, USB, dll) tetapi kekurangannya adalah kita harus mengerti bilangan biner.

  1. Masuk Start | Run. Atau tekan tombol windows+r

  2. Ketik "regedit" (tanpa tanda kutip) lalu tekan enter

  3. Masuk ke dalam tree
    HKEY_CURRENT_USER | Software | Microsoft | Windows | Current Version | Policies | Explorer


  4. Lalu cari "NoDriveTypeAutorun" kalau tidak ada dibuat sendiri (klik kanan new, dword value, beri nama "NoDriveTypeAutorun")

  5. Type data dari nilai"NoDriveTypeAutorun" ini adalah REG_BINARY yang terdiri atas 4 byte. Hanya byte pertama yang menentukan jenis drive yang akan diaktifkan autorun-nya, sedangkan 3 byte sisanya harus diset menjadi 0 (nol).







































  6. Type Bit
    DRIVE_UNKNOWN 0
    DRIVE_NO_ROOT_DIR 1
    DRIVE_REMOVABLE 2
    DRIVE_FIXED 3
    DRIVE_REMOTE 4
    DRIVE_CDROM 5
    DRIVE_RAMDISK 6
    RESERVED 7



  7. Bilangan Hexa yang akan diberikan adalah 95 yang dalam bentuk biner adalah 10010101
















































  8. Type Bit Biner dari Hexa 95
    DRIVE_UNKNOWN 0 1
    DRIVE_NO_ROOT_DIR 1 0
    DRIVE_REMOVABLE 2 1
    DRIVE_FIXED 3 0
    DRIVE_REMOTE 4 1
    DRIVE_CDROM 5 0
    DRIVE_RAMDISK 6 0
    RESERVED 7 1


  9. Terlihat bahwa bit 0,2,4,7 dalam keadaan hidup (1) yang artinya type DRIVE_UNKNOWN, DRIVE_REMOVEABLE, dan DRIVE_REMOTE tidak aktif autorunnya.
  10. Jadi untuk mematikan autorun pada semua drive dapat dilakukan dengan memberikan nilai 1 pada semua drive. Yaitu dengan bilangan hexa FF yang dalam binernya 11111111.

Sedangkan gpedit.msc lebih mudah bagi kita untuk memahami, tetapi kurang fleksibel, sebab hanya dapat mengatur CD-ROM/DVD-ROM saja yang dimatikan atau semua (CD-ROM/DVD-ROM, USB, dll). Berikut caranya:
  1. Masuk Start | Run. Atau tekan tombol windows+r
  2. Ketik "gpedit.msc" (tanpa tanda kutip) lalu tekan enter
  3. Lalu dobel klik pada "turn off autoplay" pada local Computer Security | Computer Configuration | Administrative Template | System
  4. Pilih enabled pada radio group yang ada, dan pilih All drives (semua drive [CD-ROM/DVD-ROM, USB, dll] akan dimatikan autorun-nya)
  5. Lalu tekan OK.

Minggu, 11 Oktober 2009

Membuat Splashscreen

Splashscreen merupakan tampilan selamat datang yang singkat ketika sebuah program dijalankan. Ketika pada proses splashscreen ini dapat juga dilakukan pengecekan-pengecekan terhadap file-file yang dibutuhkan oleh program yang dijalankan, tapi pada contoh ini saya hanya akan melakukan animasi saja. Berikut contoh pembuatan splashscreen dengan menggunakan delphi 7.
  1. Buat form baru dengan cara masuk ke menu File | New | Form
  2. Masuk pada menu Project | Option
    Pada bagian tab Form ini form yang baru dibuat dipindahkan ke bagian available forms agar tidak membebani memori.
  3. Ubah Properties ini dari Form baru tersebut
    Name: SplashScreen
    BorderStyle: bsNone
    Position : poScreenCenter
  4. Masukkan komponen timer dan progressbar pada form SplashScreen tersebut
  5. Setting property interval dari Timer menjadi 100 dan enabled menjadi false
  6. Pada even form onCreate ketikkan kode ini untuk menghilangkan tampilan form:
    brush.Style:=bsClear;
  7. Pada even komponen Timer tersebut ketik kode ini:
    ProgressBar1.Position:=ProgressBar1.Position+10;
    if ProgressBar1.Position=100 then begin
    timer1.enabled:=false;
    end;
  8. Pada menu Project | View Source ubah kode yang ada menjadi seperti berikut ini:
    splashScreen := TsplashScreen.Create(Application);
    try
    splashScreen.Show;
    Application.Initialize;
    splashScreen.Update;
    while splashScreen.timer1.Enabled do
    Application.ProcessMessages;
    Application.CreateForm(TForm1, Form1);
    SplashScreen.Hide;
    finally
    SplashScreen.Free;
    end;
    Application.Run;
  9. Simpan dan jalankan

Intro

Blog ini saya buat untuk menyimpan semua hal yang saya ketahui, dikarenakan saya orangnya pelupa. :)
semoga Blog ini bermanfaat bagi kalian.

Salam,


-AgusBW-