Delphi Dünyası Facebook'ta

Kodbank İndir

! CODEBANK 2012 !

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

Gönderen Konu: Kuruşlu Rakamları Sayıya çevirmek için Birde Bunu deneyin. Son kuruşuna kadar  (Okunma sayısı 2590 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı Levent

  • Delphi 1 Level 1
  • *
  • İleti: 3
  • Rep: +0/-1
//Alıntı Değil tamamıyla kendi emeğimdir. Yaptığım programlarda 2-3 yıldan beri kullanılmaktadır.
//Güle güle kullanınız.. Levent Mahanoglu


Kod:  (Unknown Language)
  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7.   Dialogs, StdCtrls;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     Button1: TButton;
  12.     Edit1: TEdit;
  13.     Label1: TLabel;
  14.     procedure Button1Click(Sender: TObject);
  15.   private
  16.     { Private declarations }
  17.   public
  18.     { Public declarations }
  19.   end;
  20.  
  21. var
  22.   Form1: TForm1;
  23. Yuzler:array[0..9] of string= ('','Yüz','İkiYüz','ÜçYüz','DörtYüz','BeşYüz','AltıYüz','YediYüz','SekizYüz','DokuzYüz');
  24.  Onlar:array[0..9] of string= ('','On','Yirmi','Otuz','Kırk','Elli','Altmış','Yetmiş','Seksen','Doksan');
  25. Birler:array[0..9] of string= ('','Bir','İki','Üç','Dört','Beş','Altı','Yedi','Sekiz','Dokuz');
  26. // Buradaki tanımlar basamaklardaki rakamları yazı karşılığıdır.
  27. // Tamamı küçük harf kullanılmak istenirse buradan düzenlenebilir veya aralara boşluk konabilir.
  28. implementation
  29.  
  30. {$R *.dfm}
  31.  
  32. function YaziIle(Tutar: Currency): string;
  33. var
  34. StrTutar,Milyar,Milyon,Bin,Lira,Kurus,Sonuc:String;
  35. I,Fark:Integer;
  36. begin
  37. // Max 15 haneli bir sayı için ör.= 123456789012,12 Daha uzun sayılar için kodlarında ona göre düzenlenmesi gerekir.
  38. StrTutar:=FormatCurr('0.00',Tutar); // Tutarı String tipine çevirerek virgul sonrası rakamlarıda dahil ediyoruz.
  39. Fark:=15-Length(StrTutar);
  40. For I:=1 to Fark do StrTutar:='0'+StrTutar; //Aradaki farkı bularak 15 haneye tamamlıyoruz.(başına 0 ekleyerek)
  41. Milyar:=StrTutar[1]+StrTutar[2]+StrTutar[3]; //15 haneli olan rakamımızı bolumlere ayırıyoruz.
  42. Milyon:=StrTutar[4]+StrTutar[5]+StrTutar[6];
  43.    Bin:=StrTutar[7]+StrTutar[8]+StrTutar[9];
  44.   Lira:=StrTutar[10]+StrTutar[11]+StrTutar[12];
  45.  Kurus:=StrTutar[14]+StrTutar[15]; //13. hanemiz virgül yani kuruş ayıracıdır.(kuruş sadece iki hanedir.
  46. Sonuc:=Yuzler[StrToInt(Milyar[1])]+Onlar[StrToInt(Milyar[2])]+Birler[StrToInt(Milyar[3])];
  47. if StrToInt(Milyar)>0 then Sonuc:=Sonuc+'Milyar'; //Milyar hanesi doluysa Milyar yazısını ekliyoruz.
  48. Sonuc:=Sonuc+Yuzler[StrToInt(Milyon[1])]+Onlar[StrToInt(Milyon[2])]+Birler[StrToInt(Milyon[3])];
  49. if StrToInt(Milyon)>0 then Sonuc:=Sonuc+'Milyon'; //Milyon hanesi doluysa Milyon yazısını ekliyoruz.
  50. Sonuc:=Sonuc+Yuzler[StrToInt(Bin[1])]+Onlar[StrToInt(Bin[2])];
  51. if StrToInt(Bin)>1 then Sonuc:=Sonuc+Birler[StrToInt(Bin[3])]; //BirBin değilse rakamı yazıyoruz.
  52. if StrToInt(Bin)>0 then Sonuc:=Sonuc+'Bin'; //Binler hanesi doluysa Bin yazısını ekliyoruz.
  53. Sonuc:=Sonuc+Yuzler[StrToInt(Lira[1])]+Onlar[StrToInt(Lira[2])]+Birler[StrToInt(Lira[3])]+' TL ';
  54. if StrToCurr(StrTutar)< 1 then Sonuc:='Sıfır TL '; // TL Sonuç Sıfır ise
  55. Sonuc:=Sonuc+Onlar[StrToInt(Kurus[1])]+Birler[StrToInt(Kurus[2])]; //Kuruşların Yazılması.
  56. if StrToInt(Kurus)>0 then Sonuc:=Sonuc+' Kuruş.'; // Kuruş Yoksa Kuruş eklenmeyecek.
  57. Result:=Sonuc; // Sonucun Aktarımı..
  58. end;
  59.  
  60. procedure TForm1.Button1Click(Sender: TObject);
  61. begin
  62. Label1.Caption:=YaziIle(1234567890.99);
  63. end;
  64.  
  65. end.
« Son Düzenleme: 12 Haziran 2009 21:00:02 by Kocaturk »

Çevrimdışı Aktolgali

  • Delphi 4 Level 4
  • ****
  • İleti: 183
  • Rep: +2/-0
Bu şekilde sadece senin girdiğin değeri veriyor.

edit1 e yazdığımız rakamların yazıyla değerini nasıl verecek?

Çevrimdışı barutali

  • Administrator
  • *****
  • İleti: 2.228
  • Rep: +54/-0
  • Cinsiyet: Bay
  • Falan filan ...
  • Delphi Sürümü: 2010 - XE2
Bu şekilde sadece senin girdiğin değeri veriyor.

edit1 e yazdığımız rakamların yazıyla değerini nasıl verecek?


aşağıdaki şekilde yaparsan edite girdiğin değeri çevirir...

Label1.Caption:=YaziIle(StrToCurr(Edit1.Text));



Amatör Küme Programcı

Çevrimdışı selchuk

  • Delphi 6 Level 3
  • ***
  • İleti: 273
  • Rep: +0/-0
  • Cinsiyet: Bay
    • Arma Ticari Sistem
Bende kullandım. İşime yaradı. Çok teşekkür ederim. Emeğinize, bilginize sağlık.
Knowledge is power (Bilgi Güçtür)