![]() |
![]() |
1. Tambahkan pada project Latihan 1 sebuah form, dan tanamkan sebuah ComboBox dan Command sebagai berikut :
Kontrol | Properti | Value |
Form1 | Name Caption BorderStyle MDIChild |
frmDaftarPeserta Cetak Daftar Peserta 3 - Fixed Dialog True |
Combo1 | Name | cboPrinter |
Command1 | Name Caption |
cmdCetak &Cetak |
2. Tambahkan lagi sebuah form dengan nama frmPreview, dan atur properti form sebagai berikut
Kontrol | Properti | Value |
Form1 | Name BorderStyle MDIChild |
frmPreview 0 -None True |
3. Lakukan Koding pada frmDataPeserta sebagai berikut :
'General Declaration
'Struktur data untuk random file Private Type Peserta Email As String * 30 nama As String * 30 Alamat As String * 30 Kota As String * 20 Propinsi As String * 20 Negara As String * 20 Tempat As String * 20 TglLahir As Date Pria As Integer End Type
'Deklarasi variabel form level Dim DatPeserta As Peserta
Private Function InchToTwips(x) InchToTwips = x * 1440 '1 inch = 1440 Twips End Function
Private Sub cetak(x, y, z) frmPreview.CurrentX = InchToTwips(x) 'Set posisi pencetakkan berdasarkan x If Not z Then frmPreview.Print y; Else frmPreview.Print y 'Akhiri pencetakkan dengan CrLf End If End Sub Private Sub Form_Load() Dim i As Integer For i = 0 To Printers.Count - 1 cboPrinters.AddItem Printers(i).DeviceName & " [" & _ Printers(i).DriverName & "]" Next cboPrinters.ListIndex = 0 End Sub
Private Sub cmdCetak_Click() Load frmPreview frmPreview.Top = 0 frmPreview.Left = 0 frmPreview.Width = InchToTwips(8) 'Mengatur Lebar form menjadi 8 inch frmPreview.Height = InchToTwips(11) 'Mengatur tinggi form menjadi 11 inch frmPreview.AutoRedraw = True 'Membuat pencetakkan dengan metoda menjadi permanen Open "Peserta.Dat" For Random As #1 Len = Len(DatPeserta) JlhRec = LOF(1) / Len(DatPeserta) For i = 1 To JlhRec If frmPreview.CurrentY = 0 Then 'Jika halaman baru, maka set margin atas frmPreview.CurrentY = InchToTwips(0.75) frmPreview.Font.Name = "Courier New" frmPreview.Font.Size = 14 'Atur Font untuk judul pencetakkan frmPreview.Font.Bold = True Call cetak(0.75, "Laporan Data Peserta Indoprog-vb", True) frmPreview.Line (0.75 * 1440, frmPreview.CurrentY)-(7.25 * 1440, frmPreview.CurrentY) frmPreview.Font.Name = "Courier New" frmPreview.Font.Size = 10 frmPreview.Font.Bold = False Call cetak(0.75, "Email Nama Kota", True) frmPreview.Line (0.75 * 1440, frmPreview.CurrentY)-(7.25 * 1440, frmPreview.CurrentY) frmPreview.Print End If Get #1, i, DatPeserta Call cetak(0.75, DatPeserta.Email & Space(2) & _ DatPeserta.nama & Space(2) & _ DatPeserta.Kota, True) If i = JlhRec Then frmPreview.Line (0.75 * 1440, frmPreview.CurrentY)-(7.25 * 1440, frmPreview.CurrentY) Call cetak(0.75, "By indoprog-vb", True) End If 'If frmPreview.CurrentY >= frmPreview.Height - InchToTwips(0.75) Then 'Printer.NewPage 'Sementara dimatikan 'End If Next i frmPreview.AutoRedraw = False frmPreview.Visible = True 'Printer.EndDoc 'Sementara dimatikan Close #1 End Sub
4. Pada menu di MDIForm lakukan koding untuk mnuDaftarPeserta.
Private Sub mnuDaftarPeserta_Click() frmDaftarPeserta.Show End Sub