Jumat, 29 November 2019

Cara Supaya Cetak Printer Sesuai Dengan (Nama) Driver Printer Yang Dipilih Dari ComboBox ~Report Manual Gambas


Seteleah mempelajari cara memasukkan nama driver printer pada ComboBox (di artikel “http://sandi.bloger.id/cara-menampilkan-memasukkan-daftar-nama-driver-printer-pada-combobox-untuk-report-manual-gambas.xhtml”), sekarang bagaimana supaya cetak ke printernya sesuai dengan nama (driver) printer yang dipilih pada ComboBox.

Pelajari Contoh Berikut.

Buat project dengan Form yang terdiri dari 3 object: ReportView, ComboBox, dan Button.



Open Code:

' Gambas class file

Private Report1 As New Report
Private Printer1 As New Printer
Private ReportTextLabel1 As ReportTextLabel

Public Sub Form_Open()

   ComboBox1.List = Printer.List
   ‘Nama Driver Printer default
   ComboBox1.Text = Printer1.Name
   Button1.Text = "Cetak"

   ReportTextLabel1 = New ReportTextLabel(Report1)
   ReportTextLabel1.Text = "Tes Cetak"

   ReportView1.Report = Report1

End

Public Sub ComboBox1_Click()

   ‘Nama Driver Printer disesuaikan dengan pilihan di ComboBox
   Printer1.Name = ComboBox1.Text

End

Public Sub Button1_Click()

   Report1.Print(Printer1)

End

Cara Menampilkan/Memasukkan Daftar Nama (Driver) Printer Pada ComboBox ~Untuk Report Manual Gambas


Langsung pelajari pada contoh berikut:

Buat Form Report sederhana yang terdiri dari Object ReportView1 dan ComboBox1



Source/Open Code:

' Gambas class file

Public Sub Form_Open()

   ComboBox1.List = Printer.List
   ComboBox1.Text = ComboBox1.List[0]

End

Nb:
Memasukkan daftar printer tidak bisa menggunakan instansi printer seperti Printer1.List

Senin, 25 November 2019

Mengenal Penggunaan Properti OutputFile Untuk Mencetak Report Ke PDF Pada Gambas (Report Manual)


Jika mencetak Report menjadi file .pdf menggunakan generator gb.Report maka akan menjadi lebih mudah karena sudah tersedia pada menu pilihan. Namun bagaimana jika pada Report yang tampilan Formnya dibuat secara manual, maka pengaturan cetaknya harus diatur secara manual juga.

Gambas Report secara default sudah memasukkan library untuk mencetak report menjadi file pdf, pengguna hanya menggunakan properti OutputFile untuk cetak ke pdf.

Ok, langsung ke contoh:

Buat Project dan Form Report seperti pada gambar berikut, dengan nama “BuatLaporan”.

Object Form:
ReportView = ReportView1
Label = Label1
TextBox = LokasiFile
Button = Cetak

Tampilan Project

 Tampilan Project From Detacth
Tampilan Form Report

Isi kode pada Class Report (TesReport) tersebut

‘Gambas class file

Private Report1 As New Report
Private Printer1 As New Printer
Private ReportHBox1 As ReportHBox
Private ReportTextLabel1 As ReportTextLabel

Public Sub Form_Open()

  Cetak.Text = "Cetak Ke PDF"
  ReportHBox1 = New ReportHBox(Report1)
  ReportTextLabel1 = New ReportTextLabel(ReportHBox1)
  With ReportTextLabel1
     .Width = 400
     .Height = 80
     .Margin.Top = 20
     .Margin.Left = 20
     .Padding.Left = 10
     .Font.Bold = 1
     .Text = "ReportTextLabel1: Uji coba cetak ke PDF"
     .BackGround = ReportBrush.Color(&H9EC5EC)
  End With
  ReportView1.Report = Report1

End


Public Sub Cetak_Click()

   'Jika TextBox1 (Tempat Lokasi File disimpan) -
   'tidak diisi apa - apa maka Cetak tidak berjalan
   If Trim(LokasiFile.Text) = "" Then
     Message("Lokasi penyimpanan file harus diisi")
     Return
   Endif

   'Jika Lokasi yang diisikan di TextBox1 tidak
   'tersedia, maka Cetak tidak berjalan
   If Not IsDir(LokasiFile.Text) Then
     Message("Lokasi penyimpanan tidak ditemukan")
     Return
   Endif

   Printer1.OutputFile = LokasiFile.Text &/ "NamaFile.pdf"
   Report1.Print(Printer1)

End

 Tampilan Report

Selamat belajar

Rabu, 13 November 2019

Cara Membuat Tabel Data (GridView) Pada Report Gambas


Pada gb.Report2 tidak disediakan fitur ReportGridview untuk membuat tabel pada report, maka pembuatannya harus dilakukan secara manual yng melibatkan beberapa object yaitu ReportHBox, ReportVBox, ReportLabel/ReportTextLabel.

Berkut contoh script code pembuatan GridView pada Report

Pertama-tama buat dulu object Report. Jika belum mengerti cara pembuatan object Report bisa pelajari di sini:



Kode pada Class Report:


' Gambas class file

Private ReportHBox1 As ReportHBox

Private BarisIsi As Object[]
Private KolomIsi As Object[]

Private ReportTextLabel1 As ReportTextLabel


Public Sub Report_Open()

   Dim nb, nk As Byte
   Dim Nama As String[] = ["Bejo", "Ponimin", "Rukmini", "Iyum", "Sulastri"]
   Dim Alamat As String[] = ["Malang", "Pasuruan", "Nganjuk", "Blitar", "Sorong"]
   BarisIsi = New Object[Nama.Count]
   KolomIsi = New Object[Nama.Count, 3]
   '-------------------- Kepala Tabel
   ReportHBox1 = New ReportHBox(Report1)
   ReportHBox1.Border.Top.Width = 1
   ReportHBox1.Border.bottom.Width = 1
   ReportTextLabel1 = New ReportTextLabel(ReportHBox1)
   ReportTextLabel1.Width = 40
   ReportTextLabel1.Height = 20
   ReportTextLabel1.Text = "No"
   ReportTextLabel1.Background = ReportBrush.Color(&H00FFFF)
   ReportTextLabel1 = New ReportTextLabel(ReportHBox1)
   ReportTextLabel1.Width = 150
   ReportTextLabel1.Height = 20

   ReportTextLabel1.Text = "Nama"
   ReportTextLabel1.Background = ReportBrush.Color(&H9EC5EC)
   ReportTextLabel1 = New ReportTextLabel(ReportHBox1)
   ReportTextLabel1.Width = 300
   ReportTextLabel1.Height = 20
   ReportTextLabel1.Text = "Alamat"
   ReportTextLabel1.Background = ReportBrush.Color(&HFFFF00)
   '-------------------- Isi Tabel
   For nb = 0 To Nama.Max
     BarisIsi[nb] = New ReportHBox(Report1)
     For nk = 0 To 2
       KolomIsi[nb, nk] = New ReportTextLabel(BarisIsi[nb])
       KolomIsi[nb, nk].Height = 20
       If nk = 0 Then
         KolomIsi[nb, nk].Width = 40
         KolomIsi[nb, nk].Text = nb + 1
       Else If nk = 1 Then
         KolomIsi[nb, nk].Width = 150
         KolomIsi[nb, nk].Text = Nama[nb]
       Else If nk = 2 Then
         KolomIsi[nb, nk].Width = 300
         KolomIsi[nb, nk].Text = Alamat[nb]
       Endif
     Next
   Next

End