1

Konu: rapor formlarında prg kullanımı

bir rapor (.frx) im var.
01/05/2006 tarihinde bir kebir hesabınıalmam gerektiğinde 01/01/2006 dan başlayarak birbakiye almak istiyoruım. Bu nedenle nakli yekün hesaplatmak için bir prg ye ihtiyaç duyuyorum. Bunu frx içinden nasıl çalıştırabilirim

2

Re: rapor formlarında prg kullanımı

Eğer rapor içinden PRG çağırma imkanın olsaydı sanırım foxpro report en iyi report generator'a sahip olurdu.

VFP9 ile report listener çıktı onu inceleyebilirsin. Ancak raporları çok yavaşlattığını söyleyebilirim.

http://www.fox4um.com/viewtopic.php?id=188 içinde bir örnek mevcut.


Bende muavin dökümlerinde cursor oluşturuyorum ve cursorun en başına devir rakkamını hesaplayıp ekliyorum. böylece dökümlerde herhangi bir değişikliğe gerek kalmıyor.

3

Re: rapor formlarında prg kullanımı

çetin'in de dediği gibi foxpro'da daima bilmemkaç tane yöntem vardır.
hemen aklıma gelen ikisi:
1.report variable. report variable de fonksiyon kullanırsın ve böylece prg çağırmış olursun.
2. yöntem boş field
her satırın başına bir field koyarsın. içine de bir fonksiyon adı yazarsın. fonksiyon "" değeri döndürür. böylece ekrana hiçbirşey yazmamış ve .prg çalıştırmış olursun.

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

4

Re: rapor formlarında prg kullanımı

Guzel haber VFP'de (foxpro DOS'tan beri) rapor icinden prg cagirabilirsin:)
NakliYekun.prg
dosyan var ve bu isi yapip sonucu donduruyorsa, sonucu gostermek icin normal bir report field ekle, icine expression olarak:

NakliYekun()

veya parametre ile (ki buyuk ihtimalle lazim):

NakliYekun( reportCursor.hesapKodu )

yaz. Daha bir suru benzer kolaylik var. Mesela bu gibi hesaplarin bir classin metodlari olabilir. O zaman:

local loHesap as 'Hesaplar' of 'Hesaplama.prg'
loHesap = newobject('Hesaplar' , 'Hesaplama.prg')

* rapor cursoru hazirlayan kod

report form myReport preview


Bu durumda report icine bir field koyabilir ve oraya:

loHesap.NakliYekunHesapla( reportCursor.hesapKodu, reportCursor.baslangic, reportCursor.bitis)

gibi expressionlar yazabilirsin. Ya da bu hesaplari onceden yapip report cursoruna field olarak ekleyip kullanirsin.