c# program hatası

ahmetkürkçü
09-10-2009, 21:58   |  #1  
ahmetkürkçü avatarı
OP Yıllanmış Üye
Teşekkür Sayısı: 0
809 mesaj
Kayıt Tarihi:Kayıt: May 2009

int x;
            x = Convert.ToInt32(textBox1.Text);
            switch (x)
            {
                case 10:
                    MessageBox.Show("Girilen değer 10");
                    break;
                case 30:
                    MessageBox.Show("Girilen değer 30");
                    break;
                default:
                    MessageBox.Show("Girilen değer 10 ve 30 dışında  bi değerdir");
                    break;
            }
arkadaşlar bu programı çalıştırdığımda x = Convert.ToInt32(textBox1.Text); kod sarı renkli oluyo giriş dizesi doğru değil uyarısı veriyo ve program yanıt vermiyo sizce neden böyle oluyo sistem 64 bit olduğu için mi c# 2008 express kullanıyorum sistemim win7 rtm 64 bit

Son Düzenleme: ahmetkürkçü ~ 09 Ekim 2009 22:00
loseface
09-10-2009, 23:42   |  #2  
loseface avatarı
Yıllanmış Üye
Teşekkür Sayısı: 2
1,757 mesaj
Kayıt Tarihi:Kayıt: Ağu 2008

bitle alakalı değil bence:)
sen bi buton ekle kodları oraya yaz bi dene bakalım ne olacak.
Çünkü örneğin 10 girmeye çalışıyon 1'e bastığın gibi sonuç üretmeye çalışır bunun için hata veriyor olabilir

eolos
10-10-2009, 02:52   |  #3  
Yıllanmış Üye
Teşekkür Sayısı: 0
2,036 mesaj
Kayıt Tarihi:Kayıt: May 2006

bu kodda sorun yok ama basit bi kod olmus düşün bakalım ya textboxa sayı yerine harf girilirse  ne olacak ?

ahmetkürkçü
10-10-2009, 10:24   |  #4  
ahmetkürkçü avatarı
OP Yıllanmış Üye
Teşekkür Sayısı: 0
809 mesaj
Kayıt Tarihi:Kayıt: May 2009
Alıntı: loseface  
bitle alakalı değil bence:)
sen bi buton ekle kodları oraya yaz bi dene bakalım ne olacak.
Çünkü örneğin 10 girmeye çalışıyon 1'e bastığın gibi sonuç üretmeye çalışır bunun için hata veriyor
zaten buton,textbox ve label ekledim amacım textboxa sayı yazıp butona tıklayınca değerin labelde görünmesini sağlamaktı yeni başladım c#a onun için tam bilmiyorum..

loseface
10-10-2009, 11:13   |  #5  
loseface avatarı
Yıllanmış Üye
Teşekkür Sayısı: 2
1,757 mesaj
Kayıt Tarihi:Kayıt: Ağu 2008

o zama kodu butona yaz bide int yerine objec sınıfını kullanabilirsin bende yeni sayılırım gerçi en iyisi iyi bilen birinden yardım bekle

ahmetkürkçü
10-10-2009, 11:47   |  #6  
ahmetkürkçü avatarı
OP Yıllanmış Üye
Teşekkür Sayısı: 0
809 mesaj
Kayıt Tarihi:Kayıt: May 2009

zaten kodu butona yazdım orada bi sorun yok iyi bilen biri yardım etse :(((

teknohat
10-10-2009, 12:23   |  #7  
Yıllanmış Üye
Teşekkür Sayısı: 1
1,494 mesaj
Kayıt Tarihi:Kayıt: Nis 2009

Ben vb.net biliyorum ama c# ile çok benzediği için sana bir öneride bulunabilirim. try... catch.. kodunu kullanarak bu hatanın üstesinden gelebilirsin. Mesela bir butona basıldığında yapılması gereken işlemleri try bloguna, olası bir hatada yapılmasını istediğin kodlarıda catch bloguna yazıcaksın. Mesela senin kodlarını buna uygun şekile yazdım:
 
     int x;
     try
    {
            x = Convert.ToInt32(textBox1.Text);
            switch (x)
            {
                case 10:
                    MessageBox.Show("Girilen değer 10");
                    break;
                case 30:
                    MessageBox.Show("Girilen değer 30");
                    break;
                default:
                    MessageBox.Show("Girilen değer 10 ve 30 dışında  bi değerdir");
                    break;
            }
    }
   catch
   {
            MessageBox.Show("Girilen değer 10 ve 30 dışında  bi değerdir");
   }
 
Senin yazdığın kodda örneğin 25 yazarsan hata vermiyor ama 1,25 yazarsan hata veriyor. Try catch blogu sayesinde herhangi bir hatada programın kırılmasını engelleyebilir ve programın senin istediğin şekilde devam etmesini sağlayabilirsin. Mesela yukarıdaki kodları yazıp programı çalıştırdığın zaman 1,25 yazarsan catch blogundaki kod çalışır yani messagebox çıkar. Verdiğim örnekte kodun en sade halini gösterdim sana, tabi istersen daha detaylı hale getirilebilir.
 
Yav insan bi bakarda sonra çıkar :)

Son Düzenleme: teknohat ~ 10 Ekim 2009 12:33
ahmetkürkçü
10-10-2009, 13:50   |  #8  
ahmetkürkçü avatarı
OP Yıllanmış Üye
Teşekkür Sayısı: 0
809 mesaj
Kayıt Tarihi:Kayıt: May 2009
Alıntı: teknohat  
Ben vb.net biliyorum ama c# ile çok benzediği için sana bir öneride bulunabilirim. try... catch.. kodunu kullanarak bu hatanın üstesinden gelebilirsin. Mesela bir butona basıldığında yapılması gereken işlemleri try bloguna, olası bir hatada yapılmasını istediğin kodlarıda catch bloguna yazıcaksın. Mesela senin kodlarını buna uygun şekile yazdım:
 
     int x;
     try
    {
            x = Convert.ToInt32(textBox1.Text);
            switch (x)
            {
                case 10:
                    MessageBox.Show("Girilen değer 10");
                    break;
                case 30:
                    MessageBox.Show("Girilen değer 30");
                    break;
                default:
                    MessageBox.Show("Girilen değer 10 ve 30 dışında  bi değerdir");
                    break;
            }
    }
   catch
   {
            MessageBox.Show("Girilen değer 10 ve 30 dışında  bi değerdir");
   }
 
Senin yazdığın kodda örneğin 25 yazarsan hata vermiyor ama 1,25 yazarsan hata veriyor. Try catch blogu sayesinde herhangi bir hatada programın kırılmasını engelleyebilir ve programın senin istediğin şekilde devam etmesini sağlayabilirsin. Mesela yukarıdaki kodları yazıp programı çalıştırdığın zaman 1,25 yazarsan catch blogundaki kod çalışır yani messagebox çıkar. Verdiğim örnekte kodun en sade halini gösterdim sana, tabi istersen daha detaylı hale getirilebilir.
 
Yav insan bi bakarda sonra çıkar :)
oldu vallaha denedim gerçekten sorun çözüldü çok teşekkür ederim..

teknohat
10-10-2009, 17:34   |  #9  
Yıllanmış Üye
Teşekkür Sayısı: 1
1,494 mesaj
Kayıt Tarihi:Kayıt: Nis 2009
Alıntı: ahmetkürkçü  
oldu vallaha denedim gerçekten sorun çözüldü çok teşekkür ederim..
Rica ederim :)