USLANMAM

UslanmaM En Kaliteli Bilgi Adresiniz
USLANMAM öğesini iGoogle sayfanıza ekleyin.
Geri git   USLANMAM > PROGRAM > PROGRAMLAMA DİLLERİ > Programlama > Delphi
UslanmaM Resim AlbümleriSosyal Gruplar
Kayıt ol Sosyal Gruplar Ajanda Konuları Okundu Kabul Et


Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 11-26-2007, 10:52 AM   #1 (permalink)
*BUNALIMLARIN ADMİNİ*
 
BoDyGuArD - ait Kullanıcı Resmi (Avatar)
Post Parayı İngilizce yazdırmak için Fonksiyon

Parayı İngilizce yazdırmak için 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''eigh teen''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)11))]+'hundred';
if StrToInt(Copy(IntToStr(CevirilecekSayi)22)) < 20 then Donecek := Donecek + YirmiyeKadar[StrToInt(Copy(IntToStr(CevirilecekSayi)22))];
if StrToInt(Copy(IntToStr(CevirilecekSayi)22)) >= 20 then
begin
Donecek := Donecek + Onluklar[StrToInt(Copy(IntToStr(CevirilecekSayi)21))];
Donecek := Donecek + Birler[StrToInt(Copy(IntToStr(CevirilecekSayi)31))];
end;
end;
if Length(IntToStr(CevirilecekSayi)) = 2 then // 22222222222222222222222222222
begin
if StrToInt(Copy(IntToStr(CevirilecekSayi)12)) < 20 then Donecek := Donecek + YirmiyeKadar[StrToInt(Copy(IntToStr(CevirilecekSayi)12))];
if StrToInt(Copy(IntToStr(CevirilecekSayi)12)) >= 20 then
begin
Donecek := Donecek + Onluklar[StrToInt(Copy(IntToStr(CevirilecekSayi)11))];
Donecek := Donecek + Birler[StrToInt(Copy(IntToStr(CevirilecekSayi)21))];
end;
end;
if Length(IntToStr(CevirilecekSayi)) = 1 then // 11111111111111111111111111111
begin
if StrToInt(Copy(IntToStr(CevirilecekSayi)11)) = 0 then Exit;
Donecek := Donecek + Birler[StrToInt(Copy(IntToStr(CevirilecekSayi)11))];
end;
Result := Donecek;
end;

function YaziyaCevir(CevirilecekSayi: Real): string;
var
aAlinacakYerBolumKalanYaziUzunlugu: Integer;
YaziParca: 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)AlinacakYer3)));
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)1Kalan)));
if a = 2 then Yazi := UcluyuCevir(StrToInt(Copy(FloatToStr(CevirilecekSa yi)1Kalan)))+'thousand'+Yazi;
if a = 3 then Yazi := UcluyuCevir(StrToInt(Copy(FloatToStr(CevirilecekSa yi)1Kalan)))+'million'+Yazi;
if a = 4 then Yazi := UcluyuCevir(StrToInt(Copy(FloatToStr(CevirilecekSa yi)1Kalan)))+'billion'+Yazi;
if a = 5 then Yazi := UcluyuCevir(StrToInt(Copy(FloatToStr(CevirilecekSa yi)1Kalan)))+'trillion'+Yazi;
end;
// Virgüllü kısmı ************************************************** **********
Parca := '';
a := Pos(''FloatToStr(CevirilecekSayi));
if a > 0 then
begin
if Length(Copy(FloatToStr(CevirilecekSayi)a+12)) = 1 then
Parca := UcluyuCevir(StrToInt(Copy(FloatToStr(CevirilecekSa yi)a+12)+'0')) else
Parca := UcluyuCevir(StrToInt(Copy(FloatToStr(CevirilecekSa yi)a+12)));
if Parca <> '' then Parca := ' and ' + Parca + ' cent';
end;
if Yazi <> '' then Result := Yazi + ' Euro' + Parca;
if Yazi = '' then
begin
Delete(Parca15);
Result := Parca;
end;
end;

BoDyGuArD isimli Üye şimdilik offline konumundadır  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı ile Cevapla
Cevapla


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Yetkileriniz
You may not post new threads
You may not post replies
Eklenti Ekleyemezsiniz
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-KodlarıKapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık
Gitmek istediğiniz klasörü seçiniz

Benzer Konular
Konu Konuyu Başlatan UslanmaM Cevaplar Son Mesaj