![]() |
|
| |||||||
|
| | Seçenekler |
|
#1
| ||||||
| ||||||
Parayı İngilizce Yazıya Çeviren Fonksiyonconst 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...... ![]() ![]() |
| Sponsorlar | |||
|