On Sat, Sep 13, 2008 at 3:21 PM, Jun Hay <[EMAIL PROTECTED]> wrote:
> Contohnya cukup panjang, berikut:
>
> //bersifat global pada class ini saja
> hfi e AS File
> flname AS String
> -----------------------------------------------------------
> PUBLIC SUB Form_Open()
>
>  ME.Center
>  koneksi = NEW connection
>  tahun()
>  rd1.SetFocus
>
> //menentukan path dari flname
>  flname = "/home/devi/prg_gambas/lap/lapdet"
>
> END
> -----------------------------------------------------------
>
> //memanggil prosedur cetak
> PUBLIC SUB cetak2(prn AS Boolean)
>
>  DIM bws AS NEW Browser
>  DIM bln AS String
>  DIM wkt3 AS String
>  DIM i AS Integer
>
> //logika program yang pernah aku buat (maklum copy-paste) :)
>  bln = modtgl.ntt(cbbln.Text)
>  wkt3 = CStr(CStr(bln) & "/" & CStr(cbthn.Text))
>  IF cbbln.Enabled = TRUE THEN
>   k1 = koneksi.Exec("select a.id,b.nama,a.toth,a.totl,a.totlb,a.totli,a.bln
> from lapb as a,biodata as b where a.id=b.id and a.bln='" & wkt3 & "'")
>  ELSE IF cbbln.Enabled = FALSE THEN
>   k1 = koneksi.Exec("select a.id,b.nama,a.toth,a.totl,a.totlb,a.totli,a.bln
> from lapb as a,biodata as b where a.id=b.id")
>  ENDIF
>
> //menghitung banyaknya hasil query dari variabel k1
>  IF k1.Count <> 0 THEN
> //bila terdapat flname kemudian hapus
>   IF Exist(flname) THEN KILL flname
> //Buat flname beri hak akses WRITE
>     OPEN flname FOR WRITE CREATE AS #hfile
>       cetaklayar2(prn)
>       k1.movefirst
>       i = 0
>       WHILE i < k1.Count
>         data2(k1!id, k1!nama, k1!toth, k1!totl, k1!totlb, k1!totli, k1!bln)
>         i = i + 1
>         k1.movenext
>       WEND
>       akhir2()
>     CLOSE #hfile
> //set browser (buat dulu form browser)
>     bws.setpath(flname)
>     bws.ShowModal
>  ENDIF
>
> END
>
> //penampilan pada browser
>
> PUBLIC SUB cetaklayar2(prn AS Boolean)
>
>  PRINT #hfile, "<html>"
>  PRINT #hfile, "<body bgcolor='white'"
>   IF prn = TRUE THEN PRINT #hfile, "onLoad='window.print()'"
>  PRINT #hfile, ">"
>  IF cbbln.Enabled = TRUE THEN
>   PRINT #hfile, "<h5 align=center>Daftar Absensi Karyawan Pada Bulan " &
> cbbln.Text & " - " & cbthn.Text & "</h5>"
>  ELSE
>   PRINT #hfile, "<h5 align=center>Daftar Absensi Karyawan</h5>"
>  ENDIF
>  PRINT #hfile, "<hr>"
>  PRINT #hfile, "<table border='1' align='center' width='100%'
> cellpadding='1' cellspacing='1'>"
>  PRINT #hfile, "<tr>"
>  IF cbbln.Enabled = TRUE THEN
>   PRINT #hfile, "<td align='center' width='25%'><font
> size='-2'><b>ID</b></font></td>"
>  ELSE
>   PRINT #hfile, "<td align='center' width='15%'><font
> size='-2'><b>ID</b></font></td>"
>  ENDIF
>  PRINT #hfile, "<td align='center' width='15%'><font
> size='-2'><b>Nama</b></font></td>"
>  PRINT #hfile, "<td align='center' width='15%'><font size='-2'><b>Total Hari
> Masuk Kerja</b></font></td>"
>  PRINT #hfile, "<td align='center' width='15%'><font size='-2'><b>Total
> Waktu Lembur</b></font></td>"
>  PRINT #hfile, "<td align='center' width='15%'><font size='-2'><b>Total
> Waktu Terlambat Masuk</b></font></td>"
>  PRINT #hfile, "<td align='center' width='15%'><font size='-2'><b>Total
> Waktu Terlambat Kembali Istirahat</b></font></td>"
>  IF cbbln.Enabled = FALSE THEN
>   PRINT #hfile, "<td align='center' width='10%'><font
> size='-2'><b>Bulan</b></font></td>"
>  ENDIF
>  PRINT #hfile, "</tr>"
>  END
>
> PUBLIC SUB data2(p1 AS String, p2 AS String, p3 AS String, p4 AS String, p5
> AS String, p6 AS String, p7 AS String)
>
>  PRINT #hfile, "<tr>"
>  IF cbbln.Enabled = TRUE THEN
>   PRINT #hfile, "<td align='center' width='25%'><font size='-2'>" & p1 &
> "</font></td>"
>  ELSE
>   PRINT #hfile, "<td align='center' width='15%'><font size='-2'>" & p1 &
> "</font></td>"
>  ENDIF
>  PRINT #hfile, "<td align='center' width='15%'><font size='-2'>" & p2 &
> "</font></td>"
>  PRINT #hfile, "<td align='center' width='15%'><font size='-2'>" & p3 &
> "</font></td>"
>  PRINT #hfile, "<td align='center' width='15%'><font size='-2'>" & p4 &
> "</font></td>"  PRINT #hfile, "<td align='center' width='15%'><font
> size='-2'>" & p5 & "</font></td>"
>  PRINT #hfile, "<td align='center' width='15%'><font size='-2'>" & p6 &
> "</font></td>"
>  IF cbbln.Enabled = FALSE THEN
>   PRINT #hfile, "<td align='center' width='10%'><font size='-2'>" & p7 &
> "</font></td>"
>  ENDIF
>  PRINT #hfile, "</tr>"
>
> END
>
> PUBLIC SUB akhir2()
>
>  PRINT #hfile, "</table>"
>  PRINT #hfile, "</body>"
>  PRINT #hfile, "</html>"
>
> END
>
> PUBLIC SUB cetak(prn AS Boolean)
>
>  DIM bws AS NEW Browser
>  DIM wkt3 AS String
>  DIM i AS Integer
>  DIM j AS Integer
>  DIM q2 AS Result
>  DIM q3 AS Result
>  DIM qcr AS Result
>  'untuk menghitung waktu terlambat masuk
>  DIM dpt AS Result
>  DIM tr AS String 'batas waktu masuk kerja
>  DIM sl AS String 'variabel sementara
>  DIM ss AS String 'selisih waktu masuk kerja
>  DIM k AS String
>  DIM tr1 AS String 'batas waktu kembali dari istirahat
>  DIM sl1 AS String
>  DIM ss1 AS String 'selisih waktu kembali dari istirahat
>  DIM k1 AS String
>  DIM tr2 AS String 'batas waktu lembur
>  DIM sl2 AS String
>  DIM ss2 AS String 'selisih waktu lembur
>  DIM k2 AS String
>  DIM bln AS String
>
>  bln = modtgl.ntt(cbbln.Text)
>  fyu = Split(CStr(tbvcari[tbvcari.Row, 6].Text), "/")
>  bcn = modtgl.ttn(CStr(fyu[0]))
>  masuk()
>  IF cbbln.Enabled = TRUE THEN
>   wkt3 = CStr(CStr(bln) & "/" & CStr(cbthn.Text))
>   q1 = koneksi.Exec("select * from absen where id='" & tbvcari[tbvcari.Row,
> 0].Text & "' and bln='" & wkt3 & "'")
>   qcr = koneksi.Exec("select count(*) as jumlah from lapb where id='" &
> tbvcari[tbvcari.Row, 0].Text & "' and bln='" & wkt3 & "'")
>   q2 = koneksi.Exec("select toth,totl,totlb,totli from lapb where id='" &
> tbvcari[tbvcari.Row, 0].Text & "' and bln='" & wkt3 & "'")
>   dpt = koneksi.Exec("select masuk,keluar,lembur,akhir_ist from twaktu")
>  ELSE IF cbbln.Enabled = FALSE THEN
>   q1 = koneksi.Exec("select * from absen where id='" & tbvcari[tbvcari.Row,
> 0].Text & "' and bln='" & tbvcari[tbvcari.Row, 6].Text & "'")
>   qcr = koneksi.Exec("select count(*) as jumlah from lapb where id='" &
> tbvcari[tbvcari.Row, 0].Text & "' and bln='" & tbvcari[tbvcari.Row, 6].Text
> & "'")
>   q2 = koneksi.Exec("select toth,totl,totlb,totli from lapb where id='" &
> tbvcari[tbvcari.Row, 0].Text & "' and bln='" & tbvcari[tbvcari.Row, 6].Text
> & "'")
>   dpt = koneksi.Exec("select masuk,keluar,lembur,akhir_ist from twaktu")
>  ENDIF
>  bulan = CStr(cbbln.Text)
>  IF q1.count <> 0 THEN
>   IF Exist(flname) THEN KILL flname
>     OPEN flname FOR WRITE CREATE AS #hfile
>       cetaklayar(prn)
>       q1.movefirst
>       i = 0             FOR i = 1 TO q1.count
>         tr = CDate(dpt!masuk)
>         IF q1!waktu = "-" THEN
>           k = "-"
>         ELSE
>           sl = CDate(q1!waktu)
>           ss = CDate(CDate(sl) - CDate(tr)) 'waktu terlambat masuk
>           IF sl > tr THEN
>             k = CStr(ss)                     ELSE
>             k = CStr("00:00:00")
>           ENDIF
>         ENDIF
>                 tr1 = CDate(dpt!akhir_ist)
>         IF q1!aisti = "-" THEN
>           k1 = "-"
>         ELSE
>           sl1 = CDate(q1!aisti)
>           ss1 = CDate(CDate(sl1) - CDate(tr1))  'waktu terlambat kembali
> dari istirahat
>           IF sl1 <= tr1 THEN
>             k1 = CStr("00:00:00")                     ELSE
>             k1 = CStr(ss1)
>           ENDIF
>         ENDIF
>                 tr2 = CDate(dpt!lembur)
>         IF q1!pulang = "-" OR q1!pulang = "unchecked" THEN
>           k2 = CStr("-")
>         ELSE
>           sl2 = CDate(q1!pulang)
>           ss2 = CDate(CDate(sl2) - CDate(tr2))  'waktu lembur
>           IF sl2 <= tr2 OR sl2 = "-" THEN
>             k2 = CStr("00:00:00")
>           ELSE
>             k2 = CStr(ss2)
>           ENDIF
>         ENDIF
>         data(q1!id, q1!tgl, q1!waktu, q1!misti, q1!aisti, k1, q1!pulang, k,
> k2, q1!keterangan)
>         q1.movenext
>       NEXT
>       IF qcr!jumlah > 0 THEN
>         akhir(q2!toth, q2!totl, q2!totlb, q2!totli)
>       ELSE
>         akhir("0", "0", "0", "0")
>       ENDIF
>     CLOSE #hfile
>     bws.setpath(flname)
>     bws.ShowModal
>  ENDIF
>
> END
>
> PUBLIC SUB cetaklayar(prn AS Boolean)
>
>  PRINT #hfile, "<html>"
>  PRINT #hfile, "<body"
>   IF prn = TRUE THEN PRINT #hfile, "onLoad='window.print()'"
>  PRINT #hfile, ">"
>  PRINT #hfile, "<h3 align=center>Laporan Data Absensi Karyawan</h3>"
>  IF cbbln.Enabled = TRUE THEN
>   PRINT #hfile, "<h4 align=center>" & bulan & "/" & cbthn.Text & "</h4>"
>  ELSE IF cbbln.Enabled = FALSE THEN
>   PRINT #hfile, "<h4 align=center>" & bcn & "/" & fyu[1] & "</h4>"
>  ENDIF
>  PRINT #hfile, "<h4 align=center>" & tbvcari[tbvcari.Row, 1].Text &
> "</h4><br>"
>  PRINT #hfile, "<table border='1' align='center' width='100%'
> cellpadding='1' cellspacing='1'>"
>  PRINT #hfile, "<tr>"
>  PRINT #hfile, "<td align='center'><font face='Nimbus Mono L' font
> size='-1'>Tanggal</font></td>"
>  PRINT #hfile, "<td align='center'><font face='Nimbus Mono L' font
> size='-1'>Waktu</font></td>"
>  PRINT #hfile, "<td align='center'><font face='Nimbus Mono L' font
> size='-1'>Start Rest</font></td>"
>  PRINT #hfile, "<td align='center'><font face='Nimbus Mono L' font
> size='-1'>End Rest</font></td>"
>  PRINT #hfile, "<td align='center'><font face='Nimbus Mono L' font
> size='-1'>Rest Late</font></td>"
>  PRINT #hfile, "<td align='center'><font face='Nimbus Mono L' font
> size='-1'>Pulang</font></td>"
>  PRINT #hfile, "<td align='center'><font face='Nimbus Mono L' font
> size='-1'>Terlambat</font></td>"
>  PRINT #hfile, "<td align='center'><font face='Nimbus Mono L' font
> size='-1'>Lembur</font></td>"
>  PRINT #hfile, "<td align='center'><font face='Nimbus Mono L' font
> size='-1'>Keterangan</font></td>"
>  PRINT #hfile, "</tr>"
>  END
>
> PUBLIC SUB data(p1 AS String, p4 AS String, p5 AS String, p6 AS String, p7
> AS String, p8 AS String, p9 AS String, p10 AS String, p11 AS String, p12 AS
> String)
>
>  PRINT #hfile, "<tr>"
>  PRINT #hfile, "<td align='center'><font face='Nimbus Mono L' font
> size='-1'>" & p4 & "</font></td>"
>  PRINT #hfile, "<td align='center'><font face='Nimbus Mono L' font
> size='-1'>" & p5 & "</font></td>"
>  PRINT #hfile, "<td align='center'><font face='Nimbus Mono L' font
> size='-1'>" & p6 & "</font></td>"
>  PRINT #hfile, "<td align='center'><font face='Nimbus Mono L' font
> size='-1'>" & p7 & "</font></td>"
>  PRINT #hfile, "<td align='center'><font face='Nimbus Mono L' font
> size='-1'>" & p8 & "</font></td>"
>  PRINT #hfile, "<td align='center'><font face='Nimbus Mono L' font
> size='-1'>" & p9 & "</font></td>"
>  PRINT #hfile, "<td align='center'><font face='Nimbus Mono L' font
> size='-1'>" & p10 & "</font></td>"
>  PRINT #hfile, "<td align='center'><font face='Nimbus Mono L' font
> size='-1'>" & p11 & "</font></td>"  PRINT #hfile, "<td align='center'><font
> face='Nimbus Mono L' font size='-1'>" & p12 & "</font></td>"  PRINT #hfile,
> "</tr>"
>
> END
>
> PUBLIC SUB akhir(r1 AS String, r2 AS String, r3 AS String, r4 AS String)
>
>  PRINT #hfile, "</table><br>"
>  PRINT #hfile, "<table border='0' align='left' width='70%'>"
>  PRINT #hfile, "<tr>"
>  PRINT #hfile, "<td width='70%'><font face='Nimbus Mono L' font
> size='-1'>Total Hari Masuk Kerja:</font></td>"
>  PRINT #hfile, "<td width='30%'><font face='Nimbus Mono L' font size='-1'>"
> & r1 & "</font></td>"
>  PRINT #hfile, "</tr>"
>  PRINT #hfile, "<tr>"
>  PRINT #hfile, "<td width='70%'><font face='Nimbus Mono L' font
> size='-1'>Total Lembur:</font></td>"
>  PRINT #hfile, "<td width='30%'><font face='Nimbus Mono L' font size='-1'>"
> & r2 & "</font></td>"
>  PRINT #hfile, "</tr>"
>  PRINT #hfile, "<tr>"
>  PRINT #hfile, "<td width='70%'><font face='Nimbus Mono L' font
> size='-1'>Total Waktu Terlambat Masuk Kerja:</font></td>"
>  PRINT #hfile, "<td width='30%'><font face='Nimbus Mono L' font size='-1'>"
> & r3 & "</font></td>"
>  PRINT #hfile, "</tr>"
>  PRINT #hfile, "<tr>"
>  PRINT #hfile, "<td width='70%'><font face='Nimbus Mono L' font
> size='-1'>Total Waktu Terlambat Kembali Dari Istirahat:</font></td>"
>  PRINT #hfile, "<td width='30%'><font face='Nimbus Mono L' font size='-1'>"
> & r4 & "</font></td>"
>  PRINT #hfile, "</tr>"
>  PRINT #hfile, "</table>"
>  PRINT #hfile, "</body>"
>  PRINT #hfile, "</html>"
>
> END
>
> //event yang dilakukan pada tbvcari (object tableview double click)
> PUBLIC SUB tbvcari_DblClick()
>
>  cetak(TRUE)
>
> END
>
> //Kemudian pada form browser beri saja 1 object webbrowser dengan name :
> webbrowser1  sebuah button
>
> ' Gambas class file
>
> PUBLIC SUB Form_Open()
>
>  ME.Center
>
> END
>
> PUBLIC SUB btclose_Click()
>
>  ME.Close
>
> END
>
> PUBLIC SUB setpath(spath AS String)
>
>  webbrowser1.Path = spath
>
> END
>
> Selamat mencoba...
>
> Kristophorus wrote:
>>
>> 2008/9/12 Jun Hay <[EMAIL PROTECTED]>:
>>
>>>
>>> Untuk contoh reporting ada di situs:
>>> http://www.gambasforge.net/cgi-bin/index.gambas
>>>
>>> Sebenarnya aku lihat itu bukan seperti crystal report (alternatif yang
>>> disediakan oleh Gambas saat ini), karena untuk report desaigner masih
>>> dalam
>>> tahap development (Lihat situs:
>>> http://gambas.sourceforge.net/roadmap.html).
>>>
>>> Untuk reporting sendiri sementara aku masih menggunakan HTML Preview yang
>>> digabungkan dengan javascript (supaya bisa nge-print).
>>>
>>> Semoga membantu.
>>>
>>>
>>
>> Terima kasih buat informasinya....
>> Hem... jadi di generate ke HTML trus di preview pakai HTML Preview.....
>> Untuk generate ke HTML ada contoh nya nggak ?
>>
>>
Terima kasih buat contohnya....
Saya pelajari lebih lanjut.....
-- 
Regards,

Kris

-- 
Berhenti langganan: [EMAIL PROTECTED]
Arsip dan info: http://linux.or.id/milis

Reply via email to