Para Birimini Okuma Uygulaması (Rakamı Yazıya Dönüştürme-C#) | Bülent SİYAH | Bilgisayar Mühendisi
içeriğe Bak

2 Ocak 2012

Para Birimini Okuma Uygulaması (Rakamı Yazıya Dönüştürme-C#)

Para birimlerini okumadaki esaslar şöyledir. Basamaklar virgülle ayrılırken, kuruş nokta ile belirtilir. Örneğin 234,233.50 şeklinde yazılmış bir para birimi şöye okunur; iki yüz otuz dört bin iki yüz otuz üç tl ve elli kuruş şeklinde okunur. Rakamlar okunurken bir sayısı istista okunuşu vardır yani bir bin veya bir yüz diye okunmaz. Bunun dışında okunmasını istenen sayısı sadece tl veya kuruştan oluşabilir. Bu programlarda bunlara da dikkat edilmiştir. Uygulama 3 sınıf ile yazılmıştır. Kodlama çok uzun olduğundan gerekli açıklama neredeyse her satırda yapılmıştır.

Para Birimi Okuma Uygulamasının Arayüzleri

Uygulamadan alınmış birkaç görüntü aşağıda bulunmaktadır. Resimlerin değiştirmek için üzerine gelince sol üst tarafta seçenekler belirecektir, oradan değiştirebilirsiniz.

Para Birimi Okuma Uygulamasının Kodları

  • Form1.cs Dosyası

//BÜLENT SİYAH SAYIYI YAZIYA ÇEVİREN PROGRAM
//AÇIKLAMALARI SIRASIYLA TAKİP EDİN BÖYLECE DAHA KISA SÜREDE ANLAŞILIR
//*1* DEN //*75* E KADAR NUMARA VEREREK ANLATICAM SIRAYLA TAKIP EDERSENIZ DAHA RAHAR OLUR

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Collections;

namespace WindowsFormsApplication8
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
SayiDuzenleme SayiDuzenleme1 = new SayiDuzenleme(); //*1* 1. VE 2. CLASSLARIMIZI TANIMLIYORUZ
SayiCevirme SayiCevirme1 = new SayiCevirme();
string GirilenSayi = textBox1.Text; //*2* GİRİLEN SAYIYI STRİNG OLARAK ALDIK
string [] ParaDizisi;
int ParaTuru=0;

GirilenSayi = SayiDuzenleme1.VirguldenKurtalma(GirilenSayi);//*3* GİRİLEN SAYIMIZI VİRGÜLLERDEN TEMİZLEMEK İÇİN FONKSİYONA YOLUYORUZ TAKİP İÇİN CLASS2 DEKİ FONKSİYONA BAKINIZ
int FonksiyonBelirle = SayiDuzenleme1.Overloading(GirilenSayi);//*9*BURADA GIRILEN SAYIMIZIN TL VE KURUS KISIMLARINDAN HANGILERININ OLDUGUNU OGRENECEGIZ TEKRAR CLASS 2YE BAKINIZ
if (FonksiyonBelirle == 1) ParaTuru = SayiDuzenleme1.NoktayaGöreTl();  //*19* BURADA EGER SAYIMIZ TL ISE GIRICEKTIR BEN BUNDAN SONRA SAYIMIZ SANKI TLYMIS GIBI TAKIP EDICEM BU FOKSIYON BIZI CLASS2 YE TEKRAR YOLLUYOR
if (FonksiyonBelirle == 2) ParaTuru = SayiDuzenleme1.NoktayaGöreKurus();//*42* EGER OVERLOADINGTE DONUS DEGERI 2 OLURSA //*19* NUMRALI KOMUT VE SONRASI DEGILDE BURDAN DEVAM EDICEK VE SAYI KURUS OLARAK ALGILANIP CLASS 2YE YOLLANICAKTAKOP ICIN CLASS 2 VE  NoktayaGöreKurus FONKSIYONUNA BAKALIM
if (FonksiyonBelirle == 3) ParaTuru = SayiDuzenleme1.NoktayaGöreTlKurus();//*59* OVERLOADINGTE ISLEM YA *19*LA BASLAYAN YERE YA //*42* ILE BASLAYAN YERE GIRER YADA MUTLAKA BURAYA DONER VE CLASS2DEKI NOKTAYA GODE KURUS FONKSIYONU TETIKLENMIS OLUR SIMDI ONA BAKALIM
if (ParaTuru == 1)
{//*26* DONUS DEGERINI ALAN PARATURU DEGISKENIMIZ ATRIK TL KISMINI OKUMAYA HAZIRLANIYOR BIZDE CLASS 2 DE DURUMU TAKP EDELIM
label3.Text = SayiDuzenleme1.ParamTl();//*41* EKRANA YAZIDIRICAK HERSEY LABELIN TEX KISMINA ESITLENEREK YAZILIYOR BOYLECE SADECE TL KISMI GIRILEN SAYI TAMAMLANMIS OLDU SIMDI KURUS ICIN TAKIP EDELIM.
if (label3.Text == "BirBin  TL")
label3.Text = "Bin  TL";

}
if (ParaTuru == 2)//*48* DONUS DEGERIMIZ 2 OLDUGUNDAN PARATURU 2 YE ESIT OLDU VE BU IF KOMUTU AKTIF OLDU BURADA ARTIK CLASS 2DEKI PARAMKURUS FONKSIYONU TETIKLENMIS OLDU SIMDI ORAYA BAKALIM
label4.Text = SayiDuzenleme1.ParamKurus();//*57* ALINAN DONUS DEGERI HEMEN KURUSLA ILGILI OLAN LABELIMIZE EKLENMIS OLUYOR VE ISLEM TAMAMLANIYOR SIMDI DIGER FOKSIYONUMA BAKALIM //*59* NUMARALI YERE
if (ParaTuru == 3) //*62* DONUS DEGERI 3 OLUNCA CLASS 1 DEKI PARAMTLKURUS FONKSIYONU TETIKLENIYOR SIMDI ONA BAKALIM
{
ParaDizisi = SayiDuzenleme1.ParamTlKurus();

label3.Text = ParaDizisi[0];//*67* DONUS DEGERININ ILK KISMI TL KISMI BUNU ILGILI LABELIN TEXT KISMINA ESITLIYORUUZ
label4.Text = ParaDizisi[1];//*68* DONUS DEGERININ IKINCI KISMI KURUS KISMI BUNUDA DIGER LABELIN TEXT KISMINA ESITLEYEREK ISLEMI TAMAMLAMIS OLUYURZ SIMDI CLASS 1 DE OKUMA FONKSIYONLARINI INCELEYELIM
if (label3.Text == "BirBin  TL")
label3.Text = "Bin  TL";

}
}

private void Form1_Load(object sender, EventArgs e)
{

}

private void textBox1_TextChanged(object sender, EventArgs e)
{

}

}
}

  • Class1.cs Dosyası

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace WindowsFormsApplication8
{
public enum BirlikGrup//*69* BIRLER VE YUZLER FONKSIYONUNDAKI ELEMANLARI ESITLEMEK ICIN BU ENUMU KULLANACGIZ
{
Bir = 1,
İki = 2,
Üç = 3,
Dört = 4,
Beş = 5,
Altı = 6,
Yedi = 7,
Sekiz = 8,
Dokuz = 9
}
public enum OnlukGrup//*70* SADECE ONLAR BASAMAGINI INCELEMEK ICIN BU ENUM KULLANILACAKTIR
{
On = 1,
Yirmi = 2,
Otuz = 3,
Kırk = 4,
Elli = 5,
Altmış = 6,
Yetmiş = 7,
Seksen = 8,
Doksan = 9

}
class SayiCevirme
{

public static string GonderilenKelime;

public static string Birler(char SayiDegeri)//*71* BURADA CLASS 2DEN FOR DONGULARININ ICINDEKI ILK IF DEGERINDE GELEN DEGERLERI ENUMLA KARSILASTIRIP DONUS DEGERINI AYNI CLASS2 NIN FONKSIYONUNA YOLLUYORUZ
{

if (SayiDegeri =='0')
GonderilenKelime = "";
if (SayiDegeri =='1')
GonderilenKelime = Convert.ToString(BirlikGrup.Bir);
if (SayiDegeri =='2')
GonderilenKelime = Convert.ToString(BirlikGrup.İki);
if (SayiDegeri =='3')
GonderilenKelime = Convert.ToString(BirlikGrup.Üç);
if (SayiDegeri == '4')
GonderilenKelime = Convert.ToString(BirlikGrup.Dört);
if (SayiDegeri == '5')
GonderilenKelime = Convert.ToString(BirlikGrup.Beş);
if (SayiDegeri == '6')
GonderilenKelime = Convert.ToString(BirlikGrup.Altı);
if (SayiDegeri == '7')
GonderilenKelime = Convert.ToString(BirlikGrup.Yedi);
if (SayiDegeri =='8')
GonderilenKelime = Convert.ToString(BirlikGrup.Sekiz);
if (SayiDegeri == '9')
GonderilenKelime = Convert.ToString(BirlikGrup.Dokuz);

return GonderilenKelime;
}
public static string Onlar(char SayiDegeri)//*72* BURASI YINE CLASS2 DEI FONKSIYONLARDAN GELEN DEGERI KARSILASTIRIP ENUMLA YAZI DEGERINI ALARAK GELDIGI YERE DONDURULUYORLAR
{

if (SayiDegeri == '0')
GonderilenKelime = "";
if (SayiDegeri == '1')
GonderilenKelime = Convert.ToString(OnlukGrup.On);
if (SayiDegeri =='2')
GonderilenKelime = Convert.ToString(OnlukGrup.Yirmi);
if (SayiDegeri =='3')
GonderilenKelime = Convert.ToString(OnlukGrup.Otuz);
if (SayiDegeri == '4')
GonderilenKelime = Convert.ToString(OnlukGrup.Kırk);
if (SayiDegeri == '5')
GonderilenKelime = Convert.ToString(OnlukGrup.Elli);
if (SayiDegeri == '6')
GonderilenKelime = Convert.ToString(OnlukGrup.Altmış);
if (SayiDegeri == '7')
GonderilenKelime = Convert.ToString(OnlukGrup.Yetmiş);
if (SayiDegeri == '8')
GonderilenKelime = Convert.ToString(OnlukGrup.Seksen);
if (SayiDegeri == '9')
GonderilenKelime = Convert.ToString(OnlukGrup.Doksan);
return GonderilenKelime;
}
public static string Yuzler(char SayiDegeri)//*73* BURAYA GELEN DEGERLERDE YUZLER BASMAGINA AIT OLUDUGFU ICIN BIRLER FONKSIYONUNDAN FARKLI OLARAK SONUNA YUZ YAZISI EKLENICEK
{

if (SayiDegeri == '0')
GonderilenKelime = "";//*74*HANGI DEGER OLURSA OLSUN SIFIR OLUNCA BOS DEGER DONUCEK
if (SayiDegeri == '1')
GonderilenKelime = "yüz";//*75* EGER DEGER 1 OLURSA BIRLER BASAMAGINDA SORUN YOK AMA YUZLER ICIN BIR YUZLER OLMADIGINDAN SADECE YUZ YAZISI DONDURULUYOR ACIKLAMA BU KADAR :)UMARIM ANLASILIR BICIMDE ANLATMISIMDIR
if (SayiDegeri == '2')
GonderilenKelime = Convert.ToString(BirlikGrup.İki) + "yüz";
if (SayiDegeri == '3')
GonderilenKelime = Convert.ToString(BirlikGrup.Üç) + "yüz";
if (SayiDegeri == '4')
GonderilenKelime = Convert.ToString(BirlikGrup.Dört) + "yüz";
if (SayiDegeri == '5')
GonderilenKelime = Convert.ToString(BirlikGrup.Beş) + "yüz";
if (SayiDegeri == '6')
GonderilenKelime = Convert.ToString(BirlikGrup.Altı) + "yüz";
if (SayiDegeri == '7')
GonderilenKelime = Convert.ToString(BirlikGrup.Yedi) + "yüz";
if (SayiDegeri == '8')
GonderilenKelime = Convert.ToString(BirlikGrup.Sekiz) + "yüz";
if (SayiDegeri == '9')
GonderilenKelime = Convert.ToString(BirlikGrup.Dokuz) + "yüz";

return GonderilenKelime;
}

}
}

  • Class2.cs Dosyası
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace WindowsFormsApplication8
{
public enum UcluGrup
{
TL=0,
Bin=1,
Milyon=2,
Milyar=3
}

class SayiDuzenleme
{
public string[] ParaDizisi=new string[]{"0","0"};
public static char[] TlKismiDizi, KurusKismiDizi;

public string TlKismiString,KurusKismiString,SayiTanimlaniyor ;
public int UcluKontrol = 0, UcluKontrolK = 0;
public string EklenenYazi, EkrandakiYazi = "";
public int NoktanınYeri;

public string VirguldenKurtalma(String VirguldenTemizlenicek) //*4* YOLLADIGIMIZ DEGERDE VİRGÜL OLDUGU SÜRECE WHİLE DONGUSU DEVAM EDER VE HER TURLAYISINDA BIR VIRGUL TEMİZLER
{
while (VirguldenTemizlenicek.Contains(","))//*5* VIRGULU KONTROL EDIYOR VARSA DONGU BASLAYAK
{
int VirgulunYeri = VirguldenTemizlenicek.IndexOf(",", 0, VirguldenTemizlenicek.Length);//*6*BURDA VAR OLAN VIRGULUN INDEXINI BULUYOR

VirguldenTemizlenicek=VirguldenTemizlenicek.Remove(VirgulunYeri, 1);//*7* ILK VIRGULU TEMIZLEDI EGER DAHA COK VARSA ZATEN DONGU SURECEKTIR
}

return VirguldenTemizlenicek;//*8* BURDA VIRGULDEN TEMIZLENMIS OLAN SAYIYI GERI DONDURUYORUZ EGER VIRGUL HIC OLMASAYDI SAYIDA ZATEN DONGUYE GIRMEDEN TEKRAR YOLLAYACAKTI.SIMDI TAKIP ICIN FORM1E BAKINIZ

}
public int Overloading(string SayiTanimlaniyor1) //*10* STRİNGIMIZ ARTIK BURDA VE NOKTANIN DURUMUNA GORE DONUS DEGERLERINE SAHIP OLUCAK
{
SayiTanimlaniyor=SayiTanimlaniyor1;

if (SayiTanimlaniyor.Contains("."))//*11* EGER SAYIMIZ NOKTA ICERIYOSA BURAYA GIRECEKTIR 1 TL 2 KURUS 3 TL VE KURUS DEGERINI TEMSIL EDIYOR DONUS DEGERI BUNA GORE BELIRLENECEKTIR
{
NoktanınYeri = SayiTanimlaniyor.IndexOf(".", 0, SayiTanimlaniyor.Length);//*12* VAR OLAN NOKTANI YERINI TESPIT ETTIK
string SayiyiDegerlendirmeNoktadanOnceki = SayiTanimlaniyor.Substring(0, NoktanınYeri);//*13* NOKTADAN ONCE VAR OLAN SAYILARA BAKIYORZ
String SayiyiDegerlendirmeNoktadanSonraki = SayiTanimlaniyor.Substring((NoktanınYeri), (SayiTanimlaniyor.Length - NoktanınYeri));//*14* NOKTADAN SONRA VAR OLAN SAYILARA BAKIYORUZ

if (string.Equals("0", SayiyiDegerlendirmeNoktadanOnceki))//*15* EGER NOKTADAN ONCEKI SAYIMIZ 0(SIFIRA) ESITSE DEMEKKI SAYIMIZ SADECE KURUS DEGERI TASIYOR VE 2 SAYISINI GERI YOLLUYOR
return 2;

if (string.Equals(".0", SayiyiDegerlendirmeNoktadanSonraki))//*16*EGER NOKTADAN SONRAKI SAYIMIZ O(SIFIRA) ESITSE DEMEKKI SAYIMIZ SADECE TL DEGERINDEN OLUSMAKTADIR VE 1 SAYISINI GERI YOLUYOR
return 1;

else return 3; //*17* DEMEKKI SAYIMIZ HEM TL HEMDE KURUS KISMINDAN OLUSUYOR O ZAMANDA 3 DEGERINI YOLLAYACAKTIR

}
else //*18* BURASI ISE HIC NOKTA BULUNMAYINCA CALISICAKTIR O ZAMNADA SADECE TLDEN OLUSTUGUNU ANLARIZ BOYLECE 1 DEGERINI YOLLAYACAKTIR.TAKIP ICIN TEKRAR FORM1 E BAKINIZ
return 1;
}
public int NoktayaGöreTl()//*20* SAYIMIZIN TLDEN OLUSTUGUNU BILIYORUZ
{
if (SayiTanimlaniyor.Contains("."))//*21* EGER SAYIMIZIN SONU .0 ILE BITIYOSA .(NOKTA) VE 0(SIFIR) DEGERLERINDEN KURTULMAMIZ LAZIM
TlKismiString = SayiTanimlaniyor.Substring(0, NoktanınYeri);//*22*BURDA NOKTAYA KADAR ALDIK DEGERIMIZI
else TlKismiString = SayiTanimlaniyor;//*22* BURDA KULLANICININ HIC NOKTA GIRMEDIGI DURUMLARDA STRINGIMIZ ALIYOR
TlKismiDizi = TlKismiString.ToCharArray();//*23* STRINGIMIZI CHAR DIZISINE CEVIRIYORUZ
Array.Reverse(TlKismiDizi);//*24*DIZIYI TUMUYLE TERS CEVIRIYORUM CUNKU EN AZ OLAN DEGERDEN ISIMLENDIRMEYE BASLIYACAGIM

return 1; //*25* HERZAMAN 1 KODU SAYIMIZIN TL YI TEMSIL EDER BU DONUS DEGERIYLE OKUMA ONCESI GONDERILEN SAYININ TL OLDUGU BIR SONRAKI FONKSIYONA BILDIRMEK ICIN KULLANIYORUM SIMDI TEKRAR FORM 1E BAKALIM

}
public int NoktayaGöreKurus()//*43*SAYIMIZIN SADECE KURUSTAN OLDUGUNU BILIYORUZ
{
KurusKismiString = SayiTanimlaniyor.Substring(NoktanınYeri + 1, (SayiTanimlaniyor.Length - (NoktanınYeri + 1)));//*44* KURUS KISMINI NOKTANIN OLDUGU YERE KADAR ALIYORUZ
KurusKismiDizi = KurusKismiString.ToCharArray();//*45* KURUS STRINGIMIZI CHAR DIZISINE CEVIRIYORUZ
Array.Reverse(KurusKismiDizi);//*46*DIZININ TUM ELEMANLARINI TERS CEVIRIYORUZ KI EN ONEMSIZ BASAMAKTAN EN YUKSEK BASAMAGA DOGRU GITSIN DIYE
return 2;//*47* DONUS DEGERIMIZ HALA 2 CUNKU BU DONUS DEGERI ISLEMLERIN HALA KURUUS UZERINDEN OLDUGUNU GOSTERIYOR TKIP ETMEK ICIN TEKRAR FORM1 E BAKALIM
}

public int NoktayaGöreTlKurus()//*60* BURADA PARANIN TL VE KURUS KISIMLARINDAN AYNI ANDA OLUSTUGUNU BILIYORUZ NOKTADAN ONCEKI KISIMLAR TL SONRAKI KISIMLARI KURUS STRINGLERINE ATIP HERBIRINI CHAR DIZISINE CEVIRIP TER CEVIRERERK HAZIRLIYORUZ
{
NoktanınYeri = SayiTanimlaniyor.IndexOf(".", 0, SayiTanimlaniyor.Length);
TlKismiString = SayiTanimlaniyor.Substring(0, NoktanınYeri);
TlKismiDizi = TlKismiString.ToCharArray();
Array.Reverse(TlKismiDizi);

KurusKismiString = SayiTanimlaniyor.Substring(NoktanınYeri + 1, (SayiTanimlaniyor.Length - (NoktanınYeri + 1)));
KurusKismiDizi = KurusKismiString.ToCharArray();
Array.Reverse(KurusKismiDizi);
return 3;//*61* TL VE KURUS KISIMLARI ARTIK HAZIR VE DONUS DEGERIMIZ YINE 3 FORM1 E BAKALIM
}
public string ParamTl()//*27* TL KISMNI OKUMAYA HAZIRIZ
{

for (int i = 0; i < TlKismiDizi.Length; i++)//*28* SAYIMIZIN UZUNLUGU BOYUNCA TEK TEK HER ELEMANI OKUMA FONKSIYONLARINA YOLLAYACAGIZ
{
if (i % 3 == 0) //*29* BURADA ILK ELEMANIMIZ HEM UCLU GRUBU KONRTOL EDICEK HEMDE ILK DEGERI OKUMA (CLASS 1DEKI) FONKSIYONUNA YOLLAYACAKTIR
{
if (UcluKontrol == 0) { EkrandakiYazi = " " + Convert.ToString(UcluGrup.TL); }//*30* GRUBA ILK GIRDIGINDE TL YAZISINI YAZDIRAKTIR
if (UcluKontrol == 1) { EkrandakiYazi = Convert.ToString(UcluGrup.Bin) + " " + EkrandakiYazi; }//*31* GRUBA IKINCI GELISINDE BIN YAZIDIRACKTIR
if (UcluKontrol == 2) { EkrandakiYazi = Convert.ToString(UcluGrup.Milyon) + " " + EkrandakiYazi; }//*32* GRUBA IKINCI GELISINDE MILYON YAZIDIRACKTIR
if (UcluKontrol == 3) { EkrandakiYazi = Convert.ToString(UcluGrup.Milyar) + " " + EkrandakiYazi; }//*33* GRUBA IKINCI GELISINDE MILYAR YAZIDIRACKTIR
UcluKontrol++;//*34* HER IFE GIRIGINDE DEGERINI BIR ARTIRARAK UCLUMUZUN ADINI BELIRLEYECEKTIR
EklenenYazi = SayiCevirme.Birler(TlKismiDizi[i]); //*35* BURDA UCLUNUN BASAMAGAIN ILK DEGERINI OKUMA FONKIYONUNA YOLLUYORUZ ILK DEGER OLDUGU ICIN BIRLER BASMAGINA YOLUYORUZ
EkrandakiYazi = EklenenYazi + EkrandakiYazi;//*36* OKUMA FONKIYONUDAN DONEN DEGERI EKRANA AKTARILACAK DEGERE EKLIYORUZ EKLENIS BICIMI HEP SOLUNA DOGRU :)
}

if (i % 3 == 1)//*37* BURDA UCLUNUN BASAMAGAIN IKINCI DEGERINI OKUMA FONKIYONUNA YOLLUYORUZ IKINCI DEGER OLDUGU ICIN ONLAR BASMAGINA YOLUYORUZ
{

EklenenYazi = SayiCevirme.Onlar(TlKismiDizi[i]);
EkrandakiYazi = EklenenYazi + EkrandakiYazi;//*38* OKUMA FONKIYONUDAN DONEN DEGERI EKRANA AKTARILACAK DEGERE EKLIYORUZ EKLENIS BICIMI HEP SOLUNA DOGRU

}
if (i % 3 == 2)//*39* BURDA UCLUNUN BASAMAGAIN UCUNCU DEGERINI OKUMA FONKIYONUNA YOLLUYORUZ UCUNCU DEGER OLDUGU ICIN YUZLER BASMAGINA YOLUYORUZ
{

EklenenYazi = SayiCevirme.Yuzler(TlKismiDizi[i]);
EkrandakiYazi = EklenenYazi + EkrandakiYazi;

}
}

return EkrandakiYazi;//*40* HER UCLU GRUP ICIN DONGUSUNE DEVAM EDICEKTIR DONGU BITINCE FOR DAN CIKAR VE TOPLAMDA EKRANA ATICAK OLAN STRING YAZISINI FORM1 E TEKRAR DONUS DEGERI OLARAK YOLLUYORZ.

}
public string ParamKurus()//*49* KURUS KISMINI OKUMAYA HAZIRIZ
{
for (int i = 0; i < KurusKismiDizi.Length; i++)//*50* ARTIK TUM ELEMANLARINI TEK TEK OLMASI GEREKEN FONKSIYONLKARA YOLLAACAGIZ
{
if (i % 3 == 0)//*51* BURASI HEM UCLU GRUBU KONTROL EDICEK HEMDE UCLU GRUBUN EN DUSUK DEGERLI SAYISINI BIRLER FONKSIYONUNA YOLAYACAK
{
if (UcluKontrolK == 0) { EkrandakiYazi = " KURUŞ"; }//*52* ILK GIRISINDE KURUS IFADESINI ALICAK VE HER DONUSTE BIR SONRAKI YAZIYI EKRANA AKTARICAK
if (UcluKontrolK == 1) { EkrandakiYazi = "Bin " + EkrandakiYazi; }
if (UcluKontrolK == 2) { EkrandakiYazi = "Milyon " + EkrandakiYazi; }
if (UcluKontrolK == 3) { EkrandakiYazi = "Milyar " + EkrandakiYazi; }
UcluKontrolK++;

EklenenYazi = SayiCevirme.Birler(KurusKismiDizi[i]);//*53* UCLU GRUBUN EN DUSUK ELEMANINI CLASS 1 DEKI OKUMA FONKSIYONUNDAN BIRLER FONKSIYONUNA YOLLUYORUZ
EkrandakiYazi = EklenenYazi + EkrandakiYazi;//*54* FONKSIYONUN DONUS DEGERINI EKRANAYAZILACAK STRINGIMIZIN SOLUNA EKLIYORUZ..
}

if (i % 3 == 1)//*54* BURADA HERZAMAN UCLU GRUBUN IKINCI ELEMANI BU IF IN ICINE GIRIYO VE BUNUDA CLASS 1 DEKI ONLAR FONKSIYONUNA YOLLUYORUZ DONUS DEGERIDE YINE BIZIM EKRANA YAZICAGIMIZ DEGERE EKLENIYOR
{

EklenenYazi = SayiCevirme.Onlar(KurusKismiDizi[i]);
EkrandakiYazi = EklenenYazi + EkrandakiYazi;
}
if (i % 3 == 2)//*55* BURADA HER UCLU GRUBUN EN YUKSEK ELEMANI YOLUYORUZ DONUS DEGERINE EKLENIYOR
{

EklenenYazi = SayiCevirme.Yuzler(KurusKismiDizi[i]);
EkrandakiYazi = EklenenYazi + EkrandakiYazi;
}
}

return EkrandakiYazi;//*56* FOR DONGUSU ELEMAN SAYISI KADAR DONDUKCE SIRAYLA IFE GIRP DONUS DEGERLERINI ALDIKTAN SONRA DONGU BITINCE YAZILICAK OLAN DEGER OLUSMUS OLUCAKTIR BUNURA STRING OLARAK FORM1 E YOLLUYORUM

}
public string[] ParamTlKurus()//*63*BURADA DAHA ONCE YAPTIGIMIZ //*27* VE //*49* KODLU FONKSIYONDA YAPILAN ISLEMLERIN AYNISI SIRAYLA YAPILIYOR PARANIN TL KISMI VE KURUS KISMI ARD ARDA ISLEM GORUYOR
{
for (int i = 0; i < TlKismiDizi.Length; i++)//*64* BU FOR DONGUSU SADECE TL KISMI ICIN ISLEM YAPIYOR VE TEK TEK TUM SAYILAR CLASS1 DEKI FONKSIYONLARA GONDERILIYOR YUKARDAKI ISLEMLERIN TAMAMIYLA AYNISI
{
if (i % 3 == 0)
{
if (UcluKontrol == 0) { EkrandakiYazi = " TL"; }
if (UcluKontrol == 1) { EkrandakiYazi = "Bin " + EkrandakiYazi; }
if (UcluKontrol == 2) { EkrandakiYazi = "Milyon " + EkrandakiYazi; }
if (UcluKontrol == 3) { EkrandakiYazi = "Milyar " + EkrandakiYazi; }
UcluKontrol++;
EklenenYazi = SayiCevirme.Birler(TlKismiDizi[i]);
EkrandakiYazi = EklenenYazi + EkrandakiYazi;
}

if (i % 3 == 1)
{

EklenenYazi = SayiCevirme.Onlar(TlKismiDizi[i]);
EkrandakiYazi = EklenenYazi + EkrandakiYazi;

}
if (i % 3 == 2)
{

EklenenYazi = SayiCevirme.Yuzler(TlKismiDizi[i]);
EkrandakiYazi = EklenenYazi + EkrandakiYazi;

}

}
ParaDizisi[0] = EkrandakiYazi;//*65* DONUS DEGERI DIGERLERINDEN FARKLI OLARAK DIZININ ELEMANLARINA YERLESTIRILIYOR CUNKU YOLLACAK IKI DEGER VAR
for (int i = 0; i < KurusKismiDizi.Length; i++)//*66* BURADA ISLEMLER KURUS KISMIYLA ILGILI YUKARIDAKI FOKSIYONLTA TAMAMEN AYNI
{
if (i % 3 == 0)
{
if (UcluKontrolK == 0) { EkrandakiYazi = " KURUŞ"; }
if (UcluKontrolK == 1) { EkrandakiYazi = "Bin " + EkrandakiYazi; }
if (UcluKontrolK == 2) { EkrandakiYazi = "Milyon " + EkrandakiYazi; }
if (UcluKontrolK == 3) { EkrandakiYazi = "Milyar " + EkrandakiYazi; }
UcluKontrolK++;

EklenenYazi = SayiCevirme.Birler(KurusKismiDizi[i]);
EkrandakiYazi = EklenenYazi + EkrandakiYazi;
}

if (i % 3 == 1)
{

EklenenYazi = SayiCevirme.Onlar(KurusKismiDizi[i]);
EkrandakiYazi = EklenenYazi + EkrandakiYazi;
}
if (i % 3 == 2)
{

EklenenYazi = SayiCevirme.Yuzler(KurusKismiDizi[i]);
EkrandakiYazi = EklenenYazi + EkrandakiYazi;

}
}
ParaDizisi[1] = EkrandakiYazi;//*66* DONUS DEGERI DIZININ DIGER ELEMANINA ESITLENIYOR BOYLECE HER IKI DEGERDE KULLANILMAYA HAZIR SIMDI FORM1 E BAKALIM
return ParaDizisi;
}
}
}

Yorumlara kapalı.