Kamis, 21 Agustus 2014

Menampilkan Report dengan Fasilitas Lengkap Menggunakan FoxyPreviewer

FoxyPreviewer adalah salah satu komponen yang dikembangkan oleh codeplex.com dan bisa digunakan secara gratis dengan mengikuti aturan yang telah ditetapkan. Dengan menggunakan FoxyPreviewer teman - teman dapat menampilkan Report (*.FRX) yang telah dibuat dengan berbagai fasilitas yang lengkap daripada kita menampilkan atau mem-preview Report dengan cara standart bawaan Visual Foxpro. Fasilitas - fasilitas tambahan tersebut diantaranya adalah kita dapat menyimpan atau mencetak Report kita dengan berbagai format seperti PDF RTF, IMAGE dan HTML. Selain itu juga ada fasilitas untuk mengirimkan Report kita via email. Sebelum kita mencoba FoxyPreviewer ini silahkan download dulu project lengkap aplikasinya di link di bawah ini :


Cara menggunakan FoxyPreviewer ini terbagi menjadi 3 jenis. Ketiga jenis ini berbeda dari sisi source code yang digunakan atau untuk mengaksesFoxyPreviewer, cara distribusi dan kelengkapan fasilitas yang bisa di  akses. OK langsung saja kita pelajari cara tersebut satu demi satu.

Cara Pertama :
Ini merupakan cara yang paling mudah karena untuk menggunakanFoxyPreviewer karena tinggal menggunakan syntax :

DO FOXYPREVIEWER.APP 
REPORT FORM NamaReport PREVIEW 

Dengan menggunakan cara ini maka teman - teman tidak bisa menyimpan Reportdengan format TXT dan HTML. Selain itu teman - teman juga tidak bisa melakukan pemilihan printer melalui "combo list printer" dan otomatis akan menggunakan printer yang sudah diatur sebagai default printer. Dan juga tambahan fasilitas untuk menentukan jumlah berapa kali Report akan di cetak juga tidak disediakan. 
FoxyPreviewer dengan Fasilitas Terbatas
Dengan menggunakan cara ini bila teman - teman ingin mendistribusikan aplikasi yang memanfaatkan FoxyPreviewer, perhatikan hal - hal berikut :
  1. Jangan tambahkan FoxyPreviewer.APP (File ada di dalam projectFoxyPreviewer v2.13 yang telah teman - teman download) ke dalam Project. Bila tetap ditambahkan harus bersifat "Exclude"
  2. Tempatkan FoxyPreviewer.APP di Folder Utama atau Satu Folder dengan Aplikasi (*.exe) yang telah teman - teman buat. Bila ingin di tempatkan di folder lain, pastikan teman - teman sudah mengatur SET PATH TO NamaFolder ke Folder tersebut.
  3. Syntax DO FOXYPREVIEWER.APP tidak harus selalu dijalankan / diketikkan sebelum menjalankan syntax REPORT FORM NamaReport PREVIEW, lebih efektif di cantumkan / diketikkan sekali saja di Main Program atau di Procedure load atau init milik Form Utama.
Cara Kedua :
Menggunakan source code di bawah ini untuk mengakses FoxyPreviewer untuk melakukan preview report.

LOCAL loReport AS "PreviewHelper" OF "FoxyPreviewer.App" 
loReport = CREATEOBJECT("PreviewHelper") 
loReport.AddReport(NamaReport)
loReport.RunReport()

Dengan menggunakan langkah ini maka source code yang digunakan untuk mengakses FoxyPreviewer akan lebih panjang dari pada cara pertama. Tetapi bila menggunakan cara ini maka semua semua fasilitas yang disediakan olehFoxyPreviewer akan dapat diakses.
FoxyPreviewer dengan Fasilitas Lengkap
Dengan menggunakan cara kedua ini, bila teman - teman ingin mendistribusikan aplikasi yang memanfaatkan FoxyPreviewer, perhatikan hal - hal berikut :
  1. Jangan tambahkan FoxyPreviewer.APP (File ada di dalam projectFoxyPreviewer v2.13 yang telah teman - teman download) ke dalam Project. Bila tetap ditambahkan harus bersifat "Exclude"
  2. Tempatkan FoxyPreviewer.APP dan File - File Report (*.FRX) di Folder Utama atau Satu Folder dengan Aplikasi (*.exe) yang telah teman - teman buat. Bila ingin ditempatkan di folder lain, pastikan teman - teman sudah mengatur SET PATH TO NamaFolder ke Folder tersebut.
Kelemahan dari cara kedua ini adalah saat melakukan distribusi aplikasi, kita juga harus menyertakan file - file Report (*.FRX) yang telah kita buat. Bila tidak melakukan hal itu maka saat menampilkan Report dengan Source Code diatas maka akan muncul pesan error yang mengatakan bahwa file Report teman - teman tidak ditemukan, meski teman - teman sudah merasa menyertakan file -fileReport tersebut di dalam project sebelum Mem-Build project ke EXE.

Cara Ketiga :
Cara ketiga ini adalah cara yang dapat digunakan untuk dapat mengakses semua fasilitas yang disediakan oleh  FoxyPreviewer, tetapi tanpa harus menyertakan file -file Report (*.FRX) saat melakukan distribusi aplikasi atau dengan kata lain cara ini adalah cara yang digunakan untuk menutupi kelemahan yang ada di cara yang kedua. Source code yang digunakan untuk cara ketiga ini adalah sebagai berikut :

SET PROCEDURE TO FoxyPreviewerCaller.prg ADDITIVE 

LOCAL loReport as "FoxyPreviewerCaller" OF ;
 "FoxyPreviewerCaller.Prg"
loReport = CREATEOBJECT("FoxyPreviewerCaller")

WITH loReport as ReportHelper
.AddReport(NamaReport)
.RunReport()
ENDWITH

Source code yang digunakan untuk mengakses FoxyPreviewer dengan cara ini lebih panjang daripada kedua cara sebelumnya, tetapi dengan cara ini teman - teman bisa mengakses semua fasilitas yang disediakan oleh FoxyPreviewer tanpa harus menyertakan semua file Report (*.FRX) saat mendistribusikan aplikasi. 

Dengan menggunakan cara ketiga ini bila teman - teman ingin menjalankan atau mem-Preview Report di  project (Saat Design / Run Form / Program) dan saat mendistribusikan aplikasi yang memanfaatkan FoxyPreviewer, perhatikan hal - hal berikut :
  1. Jangan tambahkan FoxyPreviewer.APP (File ada di dalam projectFoxyPreviewer v2.13 yang telah teman - teman download) ke dalam Project. Bila tetap ditambahkan harus bersifat "Exclude"
  2. Tambahkan file foxypreviewercaller.prg (File ada di dalam projectFoxyPreviewer v2.13 yang telah teman - teman download di dalam folder "Source") ke dalam project dan kemudian arahkan procedure ke file tersebut dengan syntak SET PROCEDURE TO FoxyPreviewerCaller.prg ADDITIVE di Main Program atau di procedure load atau init dari Form Utama.
CATATAN :
Berikut ini adalah hal - hal yang perlu diperhatikan dalam menggunakanFoxyPreviewer dan beberapa solusi yang dapat dilakukan bila terjadi beberapa permasalahan.

  1. Untuk menggunakan FoxyPreviewer ini, teman - teman sebaiknya menggunakan Visual FoxPro 9 SP2 dengan Hotfix terakhir. Bila saat melakukan preview dengan FoxyPreviewer, toolbar dari Foxypreviewer bisa terlihat tetapi tidak dapat diakses, berarti teman - teman belum menginstal Hotfix terakhir. Jadi silahkan instal dulu hotfix tersebut. Bila belum punya file hotfixnya silahkan ambil disini.
  2. Bila dalam suatu kondisi tertentu teman - teman ingin men-disable FoxyPreviewer dan ingin menggunakan preview default dari Visual Foxpro maka bisa gunakan syntak DO FOXYPREVIEWER.APP WITH "Release", bila ingin mengaktifkan kembali tinggal pakai syntax DO FOXYPREVIEWER.APP.
  3. Bila saat mengakses FoxyPeviewer ada pesan error  "Could not load the FOXYPREVIEWER report factory" silahkan update file ReportOutput.APPdengan menginstal file yang bisa diambil disini.
  4. Bila saat melakukan Build project menjadi Exe ada error "Unable to find Unknown XFCGDIPSETTEXTRENDERINGHINT" Pilih Ignore saja.
  5. Bila tidak ingin menggunakan file FoxyPreviewer.APP atau ingin agarFoxyPreviewer dapat digunakan tanpa tergantung  dengan FoxyPreviewer.APP, maka masukkan ke dalam project semua file ini : pr_ExcelListener.vcx, pr_PDFx.vcx, pr_RtfListener.vcx, GdiPlus.vcx, _ReportListener.vcx, _FRXCursor.vcx, FoxyPreviewer.prg, FoxPro_Reporting.H, FoxyPreviewer.H, FrxPreview.H, GdiPlus.H, GdiPlus_locs.H, HPDF_consts.H, ReportListeners.H, ReportListeners_Locs.H, WinCrypt.H, _FrxCursor.H, _Reports.H, LibHPDF.dll, FoxyPreviewer_Locs.dbf, FoxyPreviewer_DefaultSettings.dbf, PR_Settings.scx, PR_SendMail.scx, PR_SendMail2.scx, PR_Search.scx, pr_IMAGES.bmp, pr_Bottom.bmp, pr_Close.bmp, pr_Close2.bmp, pr_Excel.bmp, pr_GoToPage.bmp, pr_Html.bmp, pr_Img.bmp, pr_Locate.bmp, pr_Mail.bmp, pr_Next.bmp, pr_Pdf.bmp, pr_Previous.bmp, pr_Print.bmp, pr_PrintPref.bmp, pr_Save.bmp, pr_Top.bmp, pr_Word.bmp, WWrite.ico. Semua file tersebut ada di dalam project FoxyPreviewer v2.13 yang telah teman - teman download di dalam folder "Source"


SEMOGA BERMANFAAT...!!

Tidak ada komentar:

Posting Komentar