Kodbank İndir

! CODEBANK 2012 !

İNDİRMEK&DETAYLI BİLGİ ALMAK İÇİN BURAYI TIKLAYINIZ.

ÖNEMLİ AÇIKLAMA: MUTLAKA OKUYUNUZ!

Gönderen Konu: FastReportta Script Kullanmak  (Okunma sayısı 4369 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı Fatih

  • Emekli Yönetici
  • *****
  • İleti: 2.217
  • Rep: +43/-10
  • Cinsiyet: Bay
    • Delphi Dünyası
FastReportta Script Kullanmak
« : 08 Ekim 2005 15:31:05 »
FastReportta Script kullanmak için Fastreport rapor tasarım anında TreeView’in Kod sekmesine geçiyoruz. Kod bölümüne girdiğinizde karşınıza
Kod: [Seç]
Begin

End.
Bloğu gelecektir. Tahmin ettiğiniz gibi buraya kod yazıp raporlamada kullanıyoruz. Bu kısımda değişken procedure bile tanımlayabilirsiniz.  Kod bloğunda tanımladığınız değişkenler, fastreportta tanımladığımız değişkenler farklıdır.
FastReportta kullandığımız nesnelere aşağıdaki nesnelere kolaylıkla atama yapabiliriz.
Kod: [Seç]
Memo1.Color := clRed; //memo rengini kırmızı yapar.
FastReportta kullandığımız değişkenleri aşağıdaki şekilde kod bloğunda kullanabiliriz.
Kod: [Seç]
<DegşiskenAdi>
Get(‘DegşiskenAdi’) // Değişken değerini alır
Set(' DegşiskenAdi’, 10); // değişkene 10 değerini atıyoruz.
if Get(‘DegşiskenAdi ') = 10 then ... // değişkenin değeri 10’sa
Alanların kullanımı
<frxDBDatasetAdi."AlanAdi">
örneğin aşağıdaki gibi ara toplam sonucunu almak isteyelim
Kod: [Seç]
borç  Alacak  Bakiye
100    0         100
50      0         150
0       25        125
Öncelikle Bakiye adında bir fastreport değişkeni tanımlayın ve değişkeni fastreportun MasterData bandına sürükleyin daha sonra masterData bandını seçip fastreport'un Object inspectorundan OnBeforePrint olayına çift tıklayın. tıpkı delphideki gbi karşına o olaya ait bir procedure gelecektir. aşağıdaki kodu procedure'nin Begin ve End bloğu arasına yazıp test edin.
Kod: [Seç]
Set('Bakiye',<frxDBDataset1."ALACAK">-<frxDBDataset 1."BORC">+<Bakiye>);
aynı sonucu aşağıdaki kodlada alabilirssiniz.
Kod: [Seç]
procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
Var
Say:Double;
begin
Say:=<frxDBDataset1."ALACAK">-<frxDBDataset1."BORC" >+Say;
MemoBakiye.Text:=FloatToStr(Say);
end;

gördüğünüz gibi daha  fazla kod yazdık. burada amaç mantığını anlamanız

Şimdiki örnekte A harfi ile Başlayan Kayıtları Listeleyelim. MasterData  Bandının OnBeforePrint olayına aşağıdaki kodu yazın

Kod: [Seç]
if Copy(<frxDBDataset1."Adi">, 1, 1) = 'A' then

MasterData1.Visible := True else

MasterData1.Visible := False;
Malulen emekli programcı / yazar. Bildiklerini unutmakta olduğundan size cevap veremez.

Çevrimdışı Lima

  • Yeni Üye
  • *
  • İleti: 5
  • Rep: +0/-0
Ynt: FastReportta Script Kullanmak
« Yanıtla #1 : 22 Eylül 2006 23:30:52 »
  Merhaba
  Öncelikle FastReport ile ilgili yazdığın makaleler için teşekkür ediyorum.
Çünkü FastReport'la ilgili düzgün ve yeterli kaynak ve uygulama bulmak imkansız.
  Bende FastReport'la yeni tanıştım ve uygulamada bayağı sıkıntı çekiyorum.
Özellikle script yazma olayını bir türlü kavrayamadım.
Sürekli Tanımlanamayan Nitelik , Tanımlanamayan Sınıf vb. hatalar alıyorum.
Örneğin

procedure Deneme;
  var i:integer;
begin
  i:=0;  //inalind variant type hatası veriyor
          //i:=i - i yazarsam i'ye 0 atıyor ve hata vermiyor
end;

Bunun gibi...
  Acaba script yazabilmek için forma 'TFsScript' komponenti dışında eklemem gereken başka komponent var mı?
  Yardım ve Önerilerinizi bekliyorum

Çevrimdışı Fatih

  • Emekli Yönetici
  • *****
  • İleti: 2.217
  • Rep: +43/-10
  • Cinsiyet: Bay
    • Delphi Dünyası
Ynt: FastReportta Script Kullanmak
« Yanıtla #2 : 24 Eylül 2006 13:49:54 »
Açıkçaso orada o hatayı vermemesii gerek.

Kullanacağınız kodların unit isimlerinide tıpkı delphideki gibi scriptin başında uses ifaddesinden sonra belirtmelisiniz.
bu değeri atarken birde tip  dönüşüm fonksiyonunu kullanarak atama yapmaya çalışın
Malulen emekli programcı / yazar. Bildiklerini unutmakta olduğundan size cevap veremez.