ASP’de basit bir şekilde, form yardımıyla 4 temel işlemi (toplama,çıkarma,çarpma,bölme) yapalım. Bu şekilde hesap makinelerini javascript,java,jquery gibi dillerde de yapabilirsiniz. Burdaki amaç basit şekilde ASP ile öğrenelim.
Öncelikle sadece HTML olarak formu yerleştireceğimiz bir giriş sayfası yapalım. Adı “HesapMakinesi.asp” olsun. Başına standart kodları koyarsınız. Direkt form kısmına gelelim.
<form action="Hesapla.asp" method="post"> <b>İlk Sayı:</b> <input type="text" name="ilksayi" /><br /> <b>İkinci Sayı:</b> <input type="text" name="ikincisayi" /><br /> <b>İşlem:</b> <select name="islem"><option value="toplama">Toplama</option><option value="cikarma">Çıkarma</option><option value="carpma">Çarpma</option><option value="bolme">Bölme</option></select><br /> <input type="submit" value="Hesapla" /> </form>
Bu şekilde formumuzu hazırladık. Burda birinci sayıyı giricek, altına ikinci sayı ve onun altından işlemi seçip hesaplaya bastığında sonucu versin. Şimdide formun gideceği “Hesapla.asp” dosyamızı yapalım.
<% ' Once formları tanimlayalim Birinci = Cint(Request.Form("ilksayi")) 'ilksayi degerini aldik Sonuncu = Cint(Request.Form("ikincisayi")) 'ikincisayi degerini aldik islem = Request.Form("islem") 'hangi islemi yapacagini cektik ' Simdi kutucukları doldurmus mu kontrol edelim If Birinci="" Then ' Eger Birinci Sayi Girilmediyse Response.Write "<script>javascript:alert('Birinci Sayıyı Girmediğinde Vericek Hata Mesajı')</script>" Response.Write "<br />" ' alt satira gecsin Response.Write "<script>location='HesapMakinesi.asp'</script>" ' HesapMakinesi.asp ye gitsin Response.End ' Sayfanın devamını gostermiyelim Cunku birinci sayi yok End If ' Girildiyse birsey yapma If Sonuncu="" Then ' Eger ikinci sayi girilmediyse Response.Write "<script>javascript:alert('İkinci Sayıyı Girmediğinde Vericek Hata Mesajı')</script>" Response.Write "<script>location='HesapMakinesi.asp'</script>" ' HesapMakinesi.asp ye gitsin Response.End ' Sayfanın devamını gostermiyelim Cunku ikinci sayi yok End If ' Girildiyse birsey yapma If islem="toplama" Then 'toplama istiyorsa Response.Write "Buraya sonuç tarzı yazmak istediğiniz yazı: "& Birinci + Sonuncu 'sayilari topla ve ekrana yaz Response.End ' toplama istediyse gerisine bakmasin End If ' islem toplama ise bu kismi gosterdik If islem="cikarma" Then 'cikarma istiyorsa Response.Write "Sonuç: "& Birinci – Sonuncu ' birinciden ikinciyi cikar ve ekrana yazdir Response.End End If If islem="carpma" Then 'carpma istiyorsa Response.Write "Sonuç: "& Birinci * Sonuncu ' sayilari carp ve ekrana yazdir Response.End End If If islem="bolme" Then 'bolme istiyorsa Response.Write "Sonuç: "& Birinci / Sonuncu ' birinciyi ikinciye bol ve ekrana yazdir Response.End End If %>
Yukarıda formdan gelen verileri tanımlarken Cint diye bir dönüştürücü kullandık, bu olmadan toplama işleminde sayıları yan yana yazar ve toplamaz (Mesela: Birinci Sayı 1, ikinci sayı 2 olsun, Cint kullanmadan önce toplama işleminde sonuç 12dir. Cint’i kullandığımızda sonuç 3 olucaktır).
Asp’de yeni olduğum için yeni yeni öğreniyorum herşeyi sayenizde 🙂
Asp de pek bir bilgim yok öğrenmek isteyene büyük imkan 🙂
ödevler ödevler
Sayenizde hesap makinemi yaptım, teşekkürler !
peki mesala ben işlemi devam ettirmek istiyorum yani 2*5=10 sonucunu verdi ve ben üstüne 5 daha eklemek istiyorum işlemi devam eetirmek istiyorum onu yasıl yapabiilirim ??
İşlem sayınız sınırlı olacaksa yani örnekteki gibi bir işlemden sonra 1 tane daha işlem olacaksa çıkan sonucu bir input alanına yazdırıp işlemi tekrarlatabilirsiniz.
Veya işlemler sürekli devam etsin isterseniz işlem sonucunu ilksayi input alanına yazıp kullanıcının tekrar işlemi ve işlem yapılacak sayıyı girmesini sağlıyabilirsiniz.
Anladım İlginize Çok Teşekkür ederim ancak sizden küçük bir istirhamım olacak sadece input kodunu yazabilirmisiniz acaba ?? Çünkü yarın ödevi teslim etmem lazım yazdığınız kod çok işime yaradı size minnettarım tekrar tekrar teşekkür ederim ..
Response.Write "Sonuç" yazan yerler yerine aşağıdaki şekilde asp sonucunda
tekrar form yazırabilirsiniz. Daha kolay olması için öncelikle işlem sonucunu
ekrana yazmak yerine değişkene atayalım. Örnek olarak toplama işlemi için
yapıyorum:
<% TOPLAMA ISLEMINE KADAR OLAN KISIMLARDA DEGISIKLIK YAPMAYA GEREK YOK
If Napim=”toplama” Then ‘toplama istiyorsa
IslemSonucu = Birinci + Sonuncu ‘sayilari topla ve IslemSonucu değişkenine ata
End If ‘ islem toplama ise bu kismi gosterdik
%>
* Hesapla.asp sayfasına ilksayi input alanına value=”<%=IslemSonucu%>” ekleyerek gelen değeri otomatik birinci alana yazdırabilirsiniz.
* işlem sonuçlarında response.end ile devamını gösterme demiştik eğer response.end kaldırmazsak formu aşağıda yazmaz. Her işlem If – End If şeklinde tek tek belirtilmişti daha kolay gösterebilmek için, onun yerine If – ElseIf – End If şeklinde kullanırsanız daha sağlıklı olacaktır.
Her dildeki ilk ders 😀
Yüzde hesaplamasını nasıl yapabilirim?
Sayıyı önce 100’e bölüp ardından istediğiniz oranla çarpabilirsiniz.
Örnek olarak Sayi1 isimli değişkenin %15’i şu şekilde alınabilir: Sayi1*15/100
teşekkürler
Ondalıklı sayılar içi CDBL kullanın
1837837 bu kıyakta benden size olsun, leblebi yazarsınız
ASP günlerimi ösledim be