Emely.Net Banner Exchange
Emely.Net Banner Exchange

Home, Forum diskusi, Chatting, Download


Latihan 2

Judul : Pengaturan Form, Properti, dan Event yang diterapkan pada pengolahan Random File

1. Buatlah suatu project baru, dan periksalah setting grid pada form anda, dengan menu Tools, Option, General. Adapun hal yang perlu diperhatikan adalah keaktifan Show Grid, dan Align Control to Grid

Kemudian tanamkan kontrol-kontrol berikut pada form1 sehingga membentuk tampilan sebagai berikut, anda harus menanamkan kontrol Frame terlebih dahulu baru diikuti dengan Option1 s/d 3 diatasnya, dalam hal ini Kontrol Frame1 bertindak sebagai kontainer bagin Option1 s/d 3.

Pilihlah kontrol Label1, Label2, dan Label3 (caranya : klik pada Label1, kemudian tekan tombol Ctrl dan jangan di lepas, klik pada Label2, dan klik pada Label3, akhirnya tombol Ctrl di lepas), kemudian pada menu Format Pilih Align pilih Left.

Pilih Text1, Text2, dan Text3, dan, kemudian pada menu Format, pilih Make Same Size, pilih Both, dan juga dibuat rata Kiri.

Lakukan juga proses diatas untuk Option1 s/d 3, Command1 s/d 7

2. Aturlah properti dari masing-masing kontrol sehingga menjadi sebagai berikut, dan jangan lupa untuk mengatur tabindex dengan urutan txtCCode, txtNama,txtEkstension, fraAkses, optLokal, optSLJJ, optSLI, baru kemudian urutan untuk commandbutton :

Kontrol Properti Nilai
Form1 Name
Caption
Icon
frmPemakai
Pemakaian Telepon
Label1 Caption CCode
Label2 Caption Nama
Label3 Caption Ekstension
Text1 Text
Name
txtCCode
txtCCode
Text2 Text
Name
txtNama
txtNama
Text3 Text
Name
txtEkstension
txtEkstension
Frame1 Caption
Name
&Akses
fraAkses
Option1 Caption
Name
&Lokal
cmdLokal
Option2 Caption
Name
&SLJJ
cmdSLJJ
Option3 Caption
Name
SL&I
cmdSLI
Command1 Caption
Name
&First
cmdFirst
Command2 Caption
Name
&Prev
cmdPrev
Command3 Caption
Name
&Next
cmdNext
Command4 Caption
Name
&Last
cmdLast
Command5 Caption
Name
&Add
cmdAdd
Command6 Caption
Name
&Edit
cmdEdit
Command7 Caption
Name
&Update
cmdUpdate

3. Aktifkan ke jendela Koding, dengan menekan tombol F7, atau pada jendela Project Explorer, klik pada frmPemakai, dan klik pada icon View Code, dan pilih General, Declaration

dan ketikkan kode berikut :

Option Explicit

'Deklarasi enumerated type
Private Enum Flag
flNone = 0
flAdd = 1                                         'Tambah data
flEdit = 2                                          'Perbaiki data
End Enum

'Struktur data untuk random file
Private Type Pemakai
CCode As String * 4                        'Password PABX
Nama As String * 30                        'Nama Pemakai
Ekstension As String * 3                   'Ekstension 
Local As Boolean                             'Akses Lokal
SLJJ As Boolean                              'Akses SLJJ
SLI As Boolean                                'Akses SLI 
End Type

'Deklarasi variabel Form Level
Dim DatPemakai As Pemakai            'Variabel untuk menampung data Pemakai
Dim Posisi As Integer                        'Untuk mencatat nomor record yang sedang ditampilkan
Dim JlhRec As Integer                       'Untuk mencatat jumlah record dalam random file 
Dim Aksi As Integer                          'Untuk flag Tambah Data, Perbaiki Data, atau None

Sub Kunci()
'Mengunci kontrol Text, dan OptionButton
txtCCode.Locked = True
txtNama.Locked = True
txtEkstension.Locked = True
FraAkses.Enabled = False                 'Kalau framenya disable, maka isinya tidak dapat diakses
End Sub

Sub Buka()
txtCCode.Locked = False
txtNama.Locked = False
txtEkstension.Locked = False
FraAkses.Enabled = True
End Sub

Sub Tampil()
'Sub rutin ini digunakan untuk menampilkan isi record ke
'Masing-masing kontrol yang bersesuaian
If Posisi > 0 Then                                'Jika posisi record lebih besar dari 0
   Get #1, Posisi, DatPemakai              'Baca record berdasarkan posisi  
   txtCCode.Text = DatPemakai.CCode
   txtNama.Text = DatPemakai.Nama
   txtEkstension.Text = DatPemakai.Ekstension
   optLocal.Value = DatPemakai.Local
   optSLJJ.Value = DatPemakai.SLJJ
   optSLI.Value = DatPemakai.SLI
Else
   Call Kosong
End If
Aksi = flNone                                    'Tandai Flag Aksi adalah None
Call Kunci                                          'Buat semua kontrol tidak dapat diperbaki  
End Sub

Sub Kosong()
'Subrutin ini akan mengosongkan semua nilai pada masing-masing kontrol
txtCCode.Text = ""
txtNama.Text = ""
txtEkstension.Text = ""
optLocal.Value = False
optSLJJ.Value = False
optSLI.Value = False
End Sub

4. Kembali ke tampilan Form1 (gunakan Shift-F7 atau icon view Object pada Project Explorer), dan double klik pada frmPemakai, sehingga muncul Event Procedure Form_Load, dan ketiklah kode berikut :

Private Sub Form_Load()
'Subrutin ini akan dijalankan ketika form di load
'ke memory
Open "C:\Pemakai.Dat" For Random As #1 Len=Len(DatPemakai)
                                                                       'Membuka random file sebagai file nomor 1
JlhRec = LOF(1) / Len(DatPemakai)               'Menghitung jumlah record 
If JlhRec > 0 Then                                           'Jika jumlah record > 0
   Posisi = 1                                                     'Posisi menunjuk ke record 1   
Else
   Posisi = 0                                                        
End If
Call Tampil
End Sub

Beralih ke Event Procedure Unload, perhatikan gambar berikut

dan ketiklah kode berikut :

Private Sub Form_Unload(Cancel As Integer)
Dim nPil As Integer
nPil = MsgBox("Apakah Anda Yakin", vbYesNo)    'Konfirmasi penutupan
If nPil = vbYes Then                             'Jika di jawab Yes   
   Close #1                                            'Tutup file 1
   Cancel = 0                                         'Proses tutup form dilakukan
Else
   Cancel = 1                                         'Proses tutup form dibatalkan
End If
End Sub

dan lakukan juga koding untuk kontrol masing-masing :

Private Sub cmdFirst_Click()
If JlhRec > 0 Then
   Posisi = 1
   Call Tampil
End If
End Sub

Private Sub cmdPrev_Click()
If Posisi > 1 Then
   Posisi = Posisi - 1
   Call Tampil
End If
End Sub

Private Sub cmdNext_Click()
If Posisi < JlhRec Then
   Posisi = Posisi + 1
   Call Tampil
End If
End Sub

Private Sub cmdLast_Click()
Posisi = JlhRec
Call Tampil
End Sub

Private Sub cmdAdd_Click()
Aksi = flAdd
Call Buka
Call Kosong
txtCCode.SetFocus
End Sub

Private Sub cmdEdit_Click()
Aksi = flEdit
Call Buka
txtCCode.SetFocus
End Sub

Private Sub cmdUpdate_Click()
If Aksi = flAdd Or Aksi = flEdit Then
   If Aksi = flAdd Then
      JlhRec = JlhRec + 1
      Posisi = JlhRec
   End If
   DatPemakai.CCode = txtCCode.Text
   DatPemakai.Nama = txtNama.Text
   DatPemakai.Ekstension = txtEkstension.Text
   DatPemakai.Local = optLocal.Value
   DatPemakai.SLJJ = optSLJJ.Value
   DatPemakai.SLI = optSLI.Value
   Put #1, Posisi, DatPemakai
   Call Kunci
End If
End Sub

5. Gunakan menu Format, Lock Controls, untuk mengunci semua kontrol yang berada pada form agar ditidak dapat digeser dan diubah ukurannya, hal ini cocok dilakukan pada form yang telah selesai.

6. Simpan project diatas sebagai Pemakai.vbp, dan Pemakai.frm

7. Aktifkan Objek browser, dan amati objek-objek yang ada pada Project1, dengan menu View, Object Browser, kemudian pilih Project1.


Dibuat  oleh hendra@indoprog.com
Medan - Sumatera Utara
Indonesia