Üye Girişi Yapınız     


    E-Posta
    

    Şifreniz
    



Şifremi Unuttum


Ana Sayfa Site Hakkında İletişim Ziyaretçi Defteri Döküman İndir Makale Ekle Haber Ekle

     ASP.Net’de fonksiyonel ve butonlu hesap makinesi yapma
     admin     28.03.2013     18:40:52

Merhaba. Daha önceleri C# ile ya da VB ile ilgilendiyseniz bir windows uygulaması olarak mutlaka hesap makinesi yapmışsınızdır. Çünkü bu tür yazılımları öğrenmeye başlayanlar genellikle bu tür uygulamalarla başlarlar :)

Bu makalede, sizlere fonksiyonel ve windows hesap makinesinde olduğu gibi rakamları tuşlara tılayarak girilebilen bir hesap makinesinin yapımını anlatacağım. Fonksiyonel dediysek çokda fonksiyonel değil. Ama fonksiyonlarını artırabilirsiniz. Şimdi nasıl yapılacağına geçelim.



Öncelikle Visual Studio programında teni bir web sitesi tanımlayın(Dil olarak C# seçtim) ve yeni bir dosya ekleyin.

Dosyanın adını isterseniz değiştirebilirsiniz. Ben değiştirmedim. Dosyanın adı Default.aspx ve ona bağlı Default.aspx.cs’dir.

Tasarımı kendinizde oluşturabilirsiniz ama ben kendi tasarımımın kodlarını paylaşıyorum.

Default.aspx(Tasarım Sayfası) 
(<body> ... </body> arası) (Tavsiyem tasarıma çok vakit harcamayın. Daha sonra değiştirirsiniz.)

<body>
    <form id="form1" runat="server">
    <div style="width:339px; border:1px solid blue; background-color:Gray">
    <p align="center"><Strong><font size="+2" color="White">Hesap Makinesi</font></Strong></p>
        &nbsp;<asp:TextBox ID="sayi" runat="server" Font-Size="X-Large" Height="26px" Width="329px" style="text-align:right;" BorderColor="Blue" BorderWidth="1px"></asp:TextBox>
        <br /><br />
        &nbsp;<asp:Button ID="Button1" runat="server" Text="1" BorderColor="Blue" 
            BorderWidth="1px" Height="25px" onclick="Button1_Click" Width="25px" />
        <asp:Button ID="Button2" runat="server" Text="2" BorderColor="Blue" 
            BorderWidth="1px" Height="25px" onclick="Button2_Click" Width="25px" />
        <asp:Button ID="Button3" runat="server" Text="3" BorderColor="Blue" 
            BorderWidth="1px" Height="25px" onclick="Button3_Click" Width="25px" />
        <asp:Button ID="Button4" runat="server" Text="4" BorderColor="Blue" 
            BorderWidth="1px" Height="25px" onclick="Button4_Click" Width="25px" />
        <asp:Button ID="Button5" runat="server" Text="5" BorderColor="Blue" 
            BorderWidth="1px" Height="25px" onclick="Button5_Click" Width="25px" />
        <asp:Button ID="Button6" runat="server" Text="6" BorderColor="Blue" 
            BorderWidth="1px" Height="25px" onclick="Button6_Click" Width="25px" />
        <asp:Button ID="Button7" runat="server" Text="7" BorderColor="Blue" 
            BorderWidth="1px" Height="25px" onclick="Button7_Click" Width="25px" />
        <asp:Button ID="Button8" runat="server" Text="8" BorderColor="Blue" 
            BorderWidth="1px" Height="25px" onclick="Button8_Click" Width="25px" />
        <asp:Button ID="Button9" runat="server" Text="9" BorderColor="Blue" 
            BorderWidth="1px" Height="25px" onclick="Button9_Click" Width="25px" />
        <asp:Button ID="Button10" runat="server" Text="0" BorderColor="Blue" 
            BorderWidth="1px" Height="25px" onclick="Button10_Click" Width="25px" />&nbsp;<asp:Button 
            ID="Button17" runat="server" Text="&lt;&lt;&lt;" Width="40px" BorderColor="Red" 
            BorderWidth="1px" Font-Bold="True" Height="25px" 
            onclick="Button17_Click" />
        <br />
        <br />
        &nbsp;<asp:Button ID="Button11" runat="server" Text="+" Width="35px" BorderColor="Blue" BorderWidth="1px" Height="25px" onclick="Button11_Click" />
        <asp:Button ID="Button12" runat="server" Text="-" Width="35px" BorderColor="Blue" BorderWidth="1px" Height="25px" onclick="Button12_Click" />
        <asp:Button ID="Button13" runat="server" Text="X" Width="35px" BorderColor="Blue" BorderWidth="1px" Height="25px" onclick="Button13_Click" />
        <asp:Button ID="Button14" runat="server" Text="/" Width="35px" BorderColor="Blue" BorderWidth="1px" Height="25px" onclick="Button14_Click" />
        <asp:Button ID="Button15" runat="server" Text="KareKök" BorderColor="Blue" BorderWidth="1px" Height="25px" Width="67px" onclick="Button15_Click" />
        <asp:Button ID="Button16" runat="server" BackColor="#FF9966" Font-Bold="True" Text="=" Width="50px" BorderColor="#333300" BorderWidth="2px" Height="25px" onclick="Button16_Click" />
        <asp:Button ID="Button18" runat="server" BackColor="#CCFFFF" Text="C" Width="52px" BorderColor="#333300" BorderWidth="2px" Height="25px" onclick="Button18_Click" />
        <br /><br />
    </div>
    </form>
</body>

 

Default.aspx.cs sayfası(Kod Sayfası) 
Butonların üzerine çift tıklayarak kod sayfasında yazacağınız kodlar...

 

    protected void Button1_Click(object sender, EventArgs e) // 1 sayısını giriş
    {
        sayi.Text = sayi.Text + "1";
    }
    protected void Button2_Click(object sender, EventArgs e) // 2 sayısını giriş
    {
        sayi.Text = sayi.Text + "2";
    }
    protected void Button3_Click(object sender, EventArgs e)
    {
        sayi.Text = sayi.Text + "3";
    }
    protected void Button4_Click(object sender, EventArgs e)
    {
        sayi.Text = sayi.Text + "4";
    }
    protected void Button5_Click(object sender, EventArgs e)
    {
        sayi.Text = sayi.Text + "5";
    }
    protected void Button6_Click(object sender, EventArgs e)
    {
        sayi.Text = sayi.Text + "6";
    }
    protected void Button7_Click(object sender, EventArgs e)
    {
        sayi.Text = sayi.Text + "7";
    }
    protected void Button8_Click(object sender, EventArgs e)
    {
        sayi.Text = sayi.Text + "8";
    }
    protected void Button9_Click(object sender, EventArgs e)
    {
        sayi.Text = sayi.Text + "9";
    }
    protected void Button10_Click(object sender, EventArgs e)
    {
        sayi.Text = sayi.Text + "0";
    }
    protected void Button11_Click(object sender, EventArgs e) // Topla(+) butonu
    {
        Session["sayi1"] = sayi.Text;  // ilk sayıyı Session nesnesinde tutuyoruz. Çünkü normal değişkenler, sayfa yenilenince sıfırlanıyor.
        Session["islemtur"] = "topla";  // İşlem çeşidinide Session nesnesinde tutuyoruz.
        sayi.Text = "";
    }
    protected void Button16_Click(object sender, EventArgs e) // Eşittir Butonu
    {
        try // Hata kontrolü için kullanıldı...
        {
            Single sonuc;
            if (Session["islemtur"] == "topla")  // Artı’ya basılmışsa topla ve sonucu TextBox’a ata. Diğerleri de aynı.
            {
                sonuc = Convert.ToSingle(Session["sayi1"]) + Convert.ToSingle(sayi.Text); //ConvertToSingle, Single(Ondalıklı sayı) veri türüne dönüşüm sağlar. 
                sayi.Text = Convert.ToString(sonuc); //ConvertToString, String ver, türüne dönüştürür.
            }
            if (Session["islemtur"] == "cikar")
            {
                sonuc = Convert.ToSingle(Session["sayi1"]) - Convert.ToSingle(sayi.Text);
                sayi.Text = Convert.ToString(sonuc);
            }
            if (Session["islemtur"] == "carp")
            {
                sonuc = Convert.ToSingle(Session["sayi1"]) * Convert.ToSingle(sayi.Text);
                sayi.Text = Convert.ToString(sonuc);
            }
            if (Session["islemtur"] == "bol") // İlave olarak Sıfır’a bölme kontrolü yaptırabilirsiniz.
            {
                sonuc = Convert.ToSingle(Session["sayi1"]) / Convert.ToSingle(sayi.Text);
                sayi.Text = Convert.ToString(sonuc);
            }
        }
        catch(Exception hata) // Hata oluşması durumu
        {
            Response.Write(hata.ToString()); // Hatayı sayfaya yaz. İngilizce olarak hata mesajı yazar.
        }
 
    }
    protected void Button12_Click(object sender, EventArgs e)  // Çıkar(eksi) butonu
    {
        Session["sayi1"] = sayi.Text;
        Session["islemtur"] = "cikar";
        sayi.Text = "";
    }
    protected void Button13_Click(object sender, EventArgs e) // Çarp butonu
    {
        Session["sayi1"] = sayi.Text;
        Session["islemtur"] = "carp";
        sayi.Text = "";
    }
    protected void Button14_Click(object sender, EventArgs e) // Bölme butonu
    {
        Session["sayi1"] = sayi.Text;
        Session["islemtur"] = "bol";
        sayi.Text = "";
    }
    protected void Button18_Click(object sender, EventArgs e)  // C(Clear) butonu
    {
        sayi.Text = "";
    }
    protected void Button15_Click(object sender, EventArgs e)  // Karekök alma butonu.
    {
       Double sonuc;
       sonuc = Math.Sqrt(Convert.ToDouble(sayi.Text));
       sayi.Text = sonuc.ToString();
    }
    protected void Button17_Click(object sender, EventArgs e)  // Backspace(geri silme) tuşu
    {
        if (sayi.Text.Length > 0)
        { sayi.Text = sayi.Text.Remove(sayi.Text.Length - 1, 1); }
        else { sayi.Text = ""; }
    }

 

Kolay gelsin. İyi çalışmalar :)

Facebook'ta Paylaş    
Diğer ASP.Net İçerikleri       Tüm Yazılar        Ana Sayfa


  =>Soru Sorun veya Yorum Yazın...

İsim Giriniz :
  

  =>Yapılan Yorumlar...

reese    02.04.2013    14:30:44

 bir iki şey dışında bence gayet başarılı :) eline sağlıık


admin    02.04.2013    14:40:42

Teşekkürler. Eksiklikleri söyleyin giderelim.


admin    22.04.2014    14:27:07

kardeş eline sağlıkta bir iki hata var

 


admin    24.04.2014    09:45:43

Nedir eksikleri??