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