Webmaster Sitesi > Programlama > Programlama Dilleri > Delphi

Parayı İngilizce Yazıya Çeviren Fonksiyon

Delphi Parayı İngilizce Yazıya Çeviren Fonksiyon Programlama Dilleri hakkında bilgi paylaş; const Birler : Array[0..9] of string = (",'one','two','three','four','five','six','seven' ,'eight','nine'); YirmiyeKadar : Array[0.....
Cevapla Yeni Konu aç
 
Seçenekler
  #1  
Arama 04-02-2008
miguel - ait Kullanıcı Resmi (Avatar)

Üyelik Tarihi: 06/11/07
Mesajlar: 75
 
     WS-Ticareti: (1)
Teşekkürleri: 0
1 kez tşk. almış
Rep Gücü: 1 miguel deneyimleri belirsiz.

Parayı İngilizce Yazıya Çeviren Fonksiyon

const
Birler : Array[0..9] of string = (",'one','two','three','four','five','six','seven' ,'eight','nine');
YirmiyeKadar : Array[0..19] of string = (",'one','two','three','four','five','six','seven' ,'eight','nine','ten','eleven','twelve','thirteen' ,'fourteen','fifteen','sixteen','seventeen','eight een','nineteen');
Onluklar : Array[2..9] of string = ('twenty','thirty','forty','fifty','sixty','sevent y','eighty','ninety');

implementation

{$R *.dfm}

function UcluyuCevir(CevirilecekSayi: Integer): string;
var
Donecek: String;
begin
Donecek := ";
if Length(IntToStr(CevirilecekSayi)) = 3 then // 33333333333333333333333333333
begin
Donecek := Birler[StrToInt(Copy(IntToStr(CevirilecekSayi),1,1))]+'hundred';
if StrToInt(Copy(IntToStr(CevirilecekSayi),2,2)) < 20 then Donecek := Donecek + YirmiyeKadar[StrToInt(Copy(IntToStr(CevirilecekSayi),2,2))];
if StrToInt(Copy(IntToStr(CevirilecekSayi),2,2)) >= 20 then
begin
Donecek := Donecek + Onluklar[StrToInt(Copy(IntToStr(CevirilecekSayi),2,1))];
Donecek := Donecek + Birler[StrToInt(Copy(IntToStr(CevirilecekSayi),3,1))];
end;
end;
if Length(IntToStr(CevirilecekSayi)) = 2 then // 22222222222222222222222222222
begin
if StrToInt(Copy(IntToStr(CevirilecekSayi),1,2)) < 20 then Donecek := Donecek + YirmiyeKadar[StrToInt(Copy(IntToStr(CevirilecekSayi),1,2))];
if StrToInt(Copy(IntToStr(CevirilecekSayi),1,2)) >= 20 then
begin
Donecek := Donecek + Onluklar[StrToInt(Copy(IntToStr(CevirilecekSayi),1,1))];
Donecek := Donecek + Birler[StrToInt(Copy(IntToStr(CevirilecekSayi),2,1))];
end;
end;
if Length(IntToStr(CevirilecekSayi)) = 1 then // 11111111111111111111111111111
begin
if StrToInt(Copy(IntToStr(CevirilecekSayi),1,1)) = 0 then Exit;
Donecek := Donecek + Birler[StrToInt(Copy(IntToStr(CevirilecekSayi),1,1))];
end;
Result := Donecek;
end;

function YaziyaCevir(CevirilecekSayi: Real): string;
var
a,AlinacakYer,Bolum,Kalan,YaziUzunlugu: Integer;
Yazi,Parca: String;
begin
if CevirilecekSayi = 0 then
begin
Result := 'Zero'; Exit;
end;
// Tamsayı kısmı ************************************************** ***********
Yazi := ";
Bolum := Length(FloatToStr(int(CevirilecekSayi))) div 3;
Kalan := Length(FloatToStr(Trunc(CevirilecekSayi))) mod 3;
YaziUzunlugu := Length(FloatToStr(Trunc(CevirilecekSayi)));
for a := 1 to Bolum do
begin
AlinacakYer := YaziUzunlugu-(a*3)+1;
Parca := ";
Parca := UcluyuCevir(StrToInt(Copy(FloatToStr(CevirilecekSa yi),AlinacakYer,3)));
if a = 1 then Yazi := Parca;
if (a = 2) and (Parca <> ") then Yazi := Parca+'thousand'+Yazi;
if (a = 3) and (Parca <> ") then Yazi := Parca+'million'+Yazi;
if (a = 4) and (Parca <> ") then Yazi := Parca+'billion'+Yazi;
if (a = 5) and (Parca <> ") then Yazi := Parca+'trillion'+Yazi;
end;
if Kalan > 0 then
begin
if a = 0 then Yazi := UcluyuCevir(StrToInt(Copy(FloatToStr(CevirilecekSa yi),1,Kalan)));
if a = 2 then Yazi := UcluyuCevir(StrToInt(Copy(FloatToStr(CevirilecekSa yi),1,Kalan)))+'thousand'+Yazi;
if a = 3 then Yazi := UcluyuCevir(StrToInt(Copy(FloatToStr(CevirilecekSa yi),1,Kalan)))+'million'+Yazi;
if a = 4 then Yazi := UcluyuCevir(StrToInt(Copy(FloatToStr(CevirilecekSa yi),1,Kalan)))+'billion'+Yazi;
if a = 5 then Yazi := UcluyuCevir(StrToInt(Copy(FloatToStr(CevirilecekSa yi),1,Kalan)))+'trillion'+Yazi;
end;
// Virgüllü kısmı ************************************************** **********
Parca := ";
a := Pos(DecimalSeparator,FloatToStr(CevirilecekSayi));
if a > 0 then
begin
if Length(Copy(FloatToStr(CevirilecekSayi),a+1,2)) = 1 then
Parca := UcluyuCevir(StrToInt(Copy(FloatToStr(CevirilecekSa yi),a+1,2)+'0')) else
Parca := UcluyuCevir(StrToInt(Copy(FloatToStr(CevirilecekSa yi),a+1,2)));
if Parca <> " then Parca := ' and ' + Parca + ' cent';
end;
if Yazi <> " then Result := Yazi + ' Euro' + Parca;
if Yazi = " then
begin
Delete(Parca,1,5);
Result := Parca;
end;
end;
__________________
Miguel Rodrigo
Te quiro Pau......
Alıntı ile Cevapla
Sponsorlar
Seo Kursu
Trafik Yaratın!
www.Akiza.com
Burada Reklam Verin
Reklamınız

Text Banner Reklam
Cevapla
 

 
Seçenekler


Benzer Konular
Konu Konu Açanlar Forum Cevaplar Güncel Mesajlar
bunu çevirin döndürün ben türk kaldım bu yazıya kadınca Çeviri 2 14-02-2008 07:14
Fonksiyon(Function) Kullanımı B737 Asp kodları 0 03-02-2008 10:50
Doktorları şaşkına çeviren olay B737 Haberler 0 25-01-2008 06:14
Mozilla parayı nereden kazanıyor haberiz Donanım Haberleri 1 28-11-2007 11:49
Yazıya Photoshop Sayesinde Güzel Bir Efekt Katın. Professionel Photoshop 0 24-11-2007 02:48

Text Reklam: facebook ~

Yapacağınız alıntılarda sitemize (http://webmastersitesi.com) link veriniz. "Bilgi paylaştıkça çoğalır."