1

Konu: FoxyPreviewer 1.95

FoxyPreviewer 1.95 yayınlandı ,
artık FoxyPreviewer i mevcut report previewer in yerine gecirerek tek bir kodla kullanabilme sansınız var

Visual Fox Pro
Do LocFile("FoxyPreviewer.App")

Report Form YourReport.Frx Prev

Ancak simdilik bu secenekte raporu dosya olarak kaydetmek isterseniz PNG , email olarak gondermek isterseniz TIFF eklentili olarak gonderebiliyorsunuz. ilerleyen versiyonlarda bu yolla kullanimda diger secenekler de aktif olacak.

Tum ozelliklerinin toolbarda yer aldıgı bicimde kullanmak isterseniz asagida her 2 secenek icin hazirlamis oldugum ornekteki gibi kullanabilirsiniz.

mevcut versiyonda ;
-artık ayarlar bir tablo uzerinde tutuluyor ve toolbardan istenildigi anda degistirilebiliyor ( dil , mail ayarlari vs )
-rapor icinde arama yapılabiliyor (find next  - prior vs )

yakında eklenecek ozellikler
- Justify
- fax gonderimi

asagidaki ornek her 2 kullanim icindir.

Visual Fox Pro
*- Custom report with FoxyPreiwer with native ways ( with all of features )

DoTestCustomReport()
 
*- quick report with FoxyPreiwer ( only can save Img Type Png , send e-mail -> with ext.TIFF )
*DoTestQuickReport()
 
Function DoTestQuickReport
    m.cSQL = "Select cust_id,company,contact,title,city from _samples + '\data\customer'  Where .T. Into Cursor CrsTemp NOFILTER"
    Do Locfile("SYSTEM.APP")
    Do Locfile("FOXYPREVIEWER.APP")
    Generate_Temp_Frx(m.cSQL,.T.)
Endfunc
 
Function DoTestCustomReport
    Set Procedure To Locfile("FoxyPreviewerCaller.prg") Additive
    m.cSQL = "Select cust_id,company,contact,title,city from _samples + '\data\customer'  Where .T. Into Cursor CrsTemp NOFILTER"
    *Do Locfile("SYSTEM.APP")
    *Do Locfile("FOXYPREVIEWER.APP")
    Generate_Temp_Frx(m.cSQL,.F.)
 
    Local loReport As "FoxyPreviewerCaller" Of "FoxyPreviewerCaller.Prg"
    loReport = Createobject("FoxyPreviewerCaller")
 
    With loReport As ReportHelper
        .AddReport(Addbs(Sys(2023)) + [SampleFoxyP.frx], "RANGE 1,1 NODIALOG")
 
        .cTitle = "FoxyPreviewer Report custom title"
        .lShowSetup = .T.
        .RunReport()
 
        Do Case
 
            Case .lPrinted
                Messagebox("Report was printed !",64, "Report status")
 
            Case .lEmailed
                Messagebox("Report was sent to email, with the attached file: " + ;
                    CHR(13) + .cDestFile,;
                    64, "Report status")
 
            Case .lSaved
                Messagebox("Report was saved as file:" + Chr(13) + .cDestFile,;
                    64, ;
                    "Report status")
                =OpenFile(.cDestFile)
 
            Otherwise
                Messagebox("Report Preview was closed without saving or printing",48, "Report status")
 
        Endcase
 
    Endwith
 
Endfunc
 
Function Generate_Temp_Frx
    * Author Soykan OZCELIK - 01.08.2010
    *-- usage
    * m.cSQL = "Select cust_id,company,contact,title,city from _samples + '\data\customer'  Where .T. Into Cursor CrsTemp NOFILTER"
    * Generate_Temp_Frx(m.cSQL,.t.)  && .f. , .t. default
    *---------
    Lparameters tcSQL,tlPreview
    Local cReport
    m.cReport = Addbs(Sys(2023)) + [SampleFoxyP] &&Sys(2015)
    *!* &tcSQL
    Execscript(m.tcSQL)
 
    If Set("Safety")='ON'
        Set Safety Off
    Endif
 
    Create Report (m.cReport) From Dbf("CrsTemp")
 
    If m.tlPreview
        Repo Form (m.cReport) Preview      &&max 8 fields in portrait, max 11 columns in landscape view
    Endif
    Use In 0
Endfunc
 
Procedure OpenFile(tcFileName)
    Declare Integer ShellExecute ;
        IN SHELL32.Dll ;
        INTEGER nWinHandle,;
        STRING cOperation,;
        STRING cFileName,;
        STRING cParameters,;
        STRING cDirectory,;
        INTEGER nShowWindow
    Return ShellExecute(0, "open", m.tcFileName, "", "", 1)
Endproc

2

Re: FoxyPreviewer 1.95

Soykan abi,

Detaylı örnekler ve bilgilendirmeler için teşekkürler ...

Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

3

Re: FoxyPreviewer 1.95

Selamlar;
Soykan teşekkürler.

http://download.codeplex.com/Project/Do … uild=17093

Linkinden GDIPlusX içindeki System.app yi de istiyor.

Bilmediğin Neyse Yanıldığındır.

4

Re: FoxyPreviewer 1.95

mrduyar yazdı:

Selamlar;
Soykan teşekkürler.

http://download.codeplex.com/Project/Do … uild=17093

Linkinden GDIPlusX içindeki System.app yi de istiyor.

evet onu belirtmeyi unuttum , ancak daha once test etmis olanlar biliyordur diye dusundum smile

simdi belirtmis olalim foxypreviewer i de asagidaki linkten indirebilirsiniz (23.09.2010 - v1.95d with fully justify added)
http://foxypreviewer.codeplex.com/releases/view/49471

daha onceki versiyonlari indirmisseniz
source klasorunden "FoxyPreviewer.App" ve  "FoxyPreviewerCaller.Prg" guncelleyin

5

Re: FoxyPreviewer 1.95

Preview penceresi görüntülenmeden PDF , XLS vs olusturmak isterseniz, asagidaki sekilde raporunuzdan (PDF,PNG,JPG,XLS,RTF,CSV,TXT) uzantilarinda dosya olusturabilirsiniz.

burada cDestfile property sinde belirteceginiz dosya adı bu isi gormektedir.

Visual Fox Pro
SET PROCEDURE TO LOCFILE("FoxyPreviewer.App") ADDITIVE 

LOCAL loReport as "PreviewHelper" OF "FoxyPreviewer.App"
loReport = CREATEOBJECT("PreviewHelper")
WITH loReport as ReportHelper
        .AddReport(_Samples + "\Solution\Reports\percent.frx", "NODIALOG")
        .cDestFile = "c:\Teste1.pdf"  && Use to create an output without previewing
        .RunReport()
ENDWITH
loReport = NULL
RUN /N Explorer.Exe c:\Teste1.pdf

6

Re: FoxyPreviewer 1.95

Soykan,

Foxypreviewer  ı ben daha hiç kullanmadım. 

Bende frx2any var.  Frx2any 10-15  sayfadan sonra çok fazla yavaşlıyor.
Bir zaman sonra fak ediyorsun ki pratik olmaktan çıkmış.  Kullandığıma pişman oldum. 

Foxypreviewer    30- 40 sayfa raporda hızlı çalışıyor mu ?

teşekkürler

7

Re: FoxyPreviewer 1.95

bunun icin yukarida ornekledigim kodlarla test yapabilirsin 30-40 sayfa tutan bir rapor deneyebilirsin

FoxyPrevieweri asagidaki linkten indirebilirsin
http://foxypreviewer.codeplex.com/releases/view/49471

buradan da GDI+ icinde kullanilan system.app yi indirebilirsin
http://vfpx.codeplex.com/releases/view/15083

8

Re: FoxyPreviewer 1.95

Selamlar;
Şöyle bir sıkıntım var pdf veya html çıktısı alırken tek sayfada alsam raporun tümünüde alsam süre aynı bunda bir gariplik yok mu?

Visual Fox Pro
LOCAL loReport AS "PreviewHelper" OF "FoxyPreviewer.prg"

loReport = CREATEOBJECT("PreviewHelper")
loReport.AddReport(_Samples + "\Solution\Reports\colors.frx")
loReport.RunReport() && Sonuç 100 sayfa 50 sn.

Visual Fox Pro
LOCAL loReport AS "PreviewHelper" OF "FoxyPreviewer.prg"

loReport = CREATEOBJECT("PreviewHelper")
loReport.AddReport(_Samples + "\Solution\Reports\colors.frx", "RANGE 1,1 NODIALOG")
loReport.RunReport() && Sonuç 1 sayfa 50 sn. :)

9

Re: FoxyPreviewer 1.95

mSayin;

Eğer raporlarını PDF formatında üretmek istiyorsan; PdfFactory türünde bir sanal yazıcı kullanmanı öneririrm. Eğer HTML formatında rapor alıcaksan; dinamik olarak tablonu HTML  formatında üretmelisin. Bu şekilde performans sıkıntın olmayacaktır. Diğer alternatif yöntemlerde ( en azından ben öyle biliyorum ) bir kaç sayfayı geçen tüm raporlarında aşırı bir yavaşlık yaşayabilirsin.

Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

10

Re: FoxyPreviewer 1.95

msayin yazdı:

Selamlar;
Şöyle bir sıkıntım var pdf veya html çıktısı alırken tek sayfada alsam raporun tümünüde alsam süre aynı bunda bir gariplik yok mu?

Visual Fox Pro
LOCAL loReport AS "PreviewHelper" OF "FoxyPreviewer.prg"

loReport = CREATEOBJECT("PreviewHelper")
loReport.AddReport(_Samples + "\Solution\Reports\colors.frx")
loReport.RunReport() && Sonuç 100 sayfa 50 sn.

Visual Fox Pro
LOCAL loReport AS "PreviewHelper" OF "FoxyPreviewer.prg"

loReport = CREATEOBJECT("PreviewHelper")
loReport.AddReport(_Samples + "\Solution\Reports\colors.frx", "RANGE 1,1 NODIALOG")
loReport.RunReport() && Sonuç 1 sayfa 50 sn. :)

egere preview etmeden sadece dosya olusturmak istersen (PDF,JPG..) asagidaki gibi kullanabilirsin bir de bu sureyi olcerek karsilastir bakalim fark ne olacak.


Visual Fox Pro
SET PROCEDURE TO LOCFILE("FoxyPreviewer.App") ADDITIVE 

LOCAL loReport as "PreviewHelper" OF "FoxyPreviewer.App"
loReport = CREATEOBJECT("PreviewHelper")
WITH loReport as ReportHelper
        .AddReport(_Samples + "\Solution\Reports\percent.frx", "NODIALOG")
        .cDestFile = "c:\Test.pdf"  && Use to create an output without previewing  "c:\Test.JPG" "c:\Test.TIFF"
        .RunReport()
ENDWITH
loReport = NULL
RUN /N Explorer.Exe c:\Test.pdf

11

Re: FoxyPreviewer 1.95

Soykan ;
aslında tam olarak senin yazdığın gibi kullanıyorum örnekte bu satırı atlamışım
.cDestFile = "c:\Test.pdf"  && Use to create an output without previewing  "c:\Test.JPG" "c:\Test.TIFF"
preview veya without preview farketmiyor range vermeme rağmen tüm tabloyu baştan sona işliyor ve sonucu öyle döndürüyor.
screen preview olarak html kullanıyorum rapor üzerinde linkler kullanıyorum fakat tüm sayfaların işlenmesini beklemek ölüm smile onun yerine sayfa sayfa çekeyim dedim ama maalesef performansa hiç bir katkısı yok.

Uğur;
FoxyPreviewer kullanımı kolay geldi ancak dediğin gibi tabloyu html yapmak yine amacıma uygun değil tüm tabloyu baştan sona işlemek gerekiyor.

12

Re: FoxyPreviewer 1.95

Bu konuyu Cesar'la paylasirim

yeri gelmisken versiyon su an 2.18 e ulasti...

yeni ilgilenenler icin bir ozet yapayim hatta yeni baslikta