Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
FastReport sayıyı yazıya çevirmek
#1
Salemun aleyküm dostlarım. FastReport ta sum komutu ile toplanan bir sayıyı yazıya çevirmek gerekiyor. Ne yaptım sa olmadı. Forumda örnek kodlar vardı denedim ama çalışmadı. Mümkünse bu konuda bana yardımcı olur musunuz. Hersey içi. Teşekkür ederim
Cevapla
#2
(11-05-2020, Saat: 03:15)Mikdad Adlı Kullanıcıdan Alıntı: Salemun aleyküm dostlarım. FastReport ta sum komutu ile toplanan bir sayıyı yazıya çevirmek gerekiyor. Ne yaptım sa olmadı. Forumda örnek kodlar vardı denedim ama çalışmadı. Mümkünse bu konuda bana yardımcı olur musunuz. Hersey içi. Teşekkür ederim

Merhabalar,

Şöyle de deneyebilirsiniz. Örnek olması açısından.

function YTL_yazi_ile(tutar: Double; tur: integer): string;
const
       b1: ARRAY [1 .. 9] of string = ('Bir', 'İki', 'Üç', 'Dört', 'Beş',
         'Altı', 'Yedi', 'Sekiz', 'Dokuz');
       b2: ARRAY [1 .. 9] of string = ('On', 'Yirmi', 'Otuz', 'Kırk', 'Elli',
         'Altmış', 'Yetmiş', 'Seksen', 'Doksan');
       b3: ARRAY [1 .. 6] of string = ('Katrilyon', 'Trilyon', 'Milyar',
         'Milyon', 'Bin', '');
var
       gr: ARRAY [1 .. 6] of string[3];
       sn: ARRAY [1 .. 6] of string;
       bs: ARRAY [1 .. 3] of integer;
       tutars, tutart, tutark, sonuct, sonuck: string;
       i, l: integer;

begin
       tutars := floattostr(tutar);
       if pos(',', tutars) = 0 then
               tutars := tutars + ',00';
       tutart := copy(tutars, 1, (pos(',', tutars) - 1));
       tutark := copy(tutars, (pos(',', tutars) + 1), 2);
       tutart := stringofchar('0', (18 - (length(trim(tutart))))) + tutart;
       tutark := tutark + stringofchar('0', (2 - (length(trim(tutark)))));
       for i := 1 to 6 do
               gr[i] := copy(tutart, 1 + (3 * (i - 1)), 3);

       for l := 1 to 6 do
       begin
               bs[1] := strtoint(copy(gr[l], 1, 1));
               if bs[1] <> 0 then
                       (if bs[1] <> 1 then sn[l] := sn[l] + b1[bs[1]] +
                         'Yüz' else sn[l] := sn[l] + 'Yüz');
               bs[2] := strtoint(copy(gr[l], 2, 1));
               if bs[2] <> 0 then
                       sn[l] := sn[l] + b2[bs[2]];
               bs[3] := strtoint(copy(gr[l], 3, 1));
               if bs[3] <> 0 then
                       sn[l] := sn[l] + b1[bs[3]];
               if length(trim(sn[l])) <> 0 then
                       sn[l] := sn[l] + b3[l];
       end;

       if sn[5] = 'BirBin' then
               sn[5] := 'Bin';
       for i := 1 to 6 do
               sonuct := sonuct + sn[i];
       if strtoint(copy(tutark, 1, 1)) <> 0 then
               sonuck := sonuck + b2[strtoint(copy(tutark, 1, 1))];
       if strtoint(copy(tutark, 2, 1)) <> 0 then
               sonuck := sonuck + b1[strtoint(copy(tutark, 2, 1))];
       if tur = 0 then
       begin
               if sonuck <> '' then
                       result := sonuct + ' TL ' + sonuck + ' Krş. '
               else
                       result := sonuct + ' TL';
       end;
       if tur = 1 then
               result := sonuct + ' TL ';
       if tur = 2 then
               result := sonuck + ' Krş. ';
end;


///  frxReport1

procedure TForm1.frxReport1GetValue(const VarName: string; var Value: Variant);
begin
       if VarName='yazi_ile' then YTL_yazi_ile (sizin_degeriniz,0);
    //if VarName='yazi_ile' then YTL_yazi_ile (1000.50,0);

end;

   

Umarım faydalı olur.

Kolay gelsin.
Amaç, bilginin de/aklın da zekat'ını vermek.
Cevapla
#3
Selamlar aşağıdaki linktede bu konu hakkında bilgilendirme mevcuttur.
Lütfen yeni konu açmadan önce kontrol etmenizi öneririm.

https://www.delphican.com/showthread.php?tid=1963
Bu dünyada kendine sakladığın bilgi ahirette işine yaramaz. 
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
Big Grin Fastreport Masterdata StartNewPage değerini değiştirme nevzatc 4 880 28-11-2025, Saat: 02:29
Son Yorum: nevzatc
  FastReport da sayfa uzunluğu mcuyan 1 612 22-09-2025, Saat: 08:50
Son Yorum: hi_selamlar
  fastreport şablonu database e kayıt ercanskose 11 3.096 18-02-2025, Saat: 17:10
Son Yorum: akuyumcu63
  FastReport Dinamik Sayıya Göre Etiket Bastırma [ÇÖZÜLDÜ] bünyamin68 2 934 09-01-2025, Saat: 13:47
Son Yorum: bünyamin68
  Fastreport Barkod Tasarımı delphiX14 8 2.563 10-10-2024, Saat: 15:10
Son Yorum: ermanispir@gmail.com



Konuyu Okuyanlar: 1 Ziyaretçi