1. sayfa
Bnim yaptığım hesap makinesi bu ama işlemler düzgün çalışmıo düzeltebilir misiniz bn beceremedimde..help help Dim a, islem As Integer Private Sub Command1_Click() If islem = "1" Then Text1 = "" End If Text1.Text = Text1 & 1 islem = "0" End Sub Private Sub Command10_Click() If islem = "1" Then Text1 = "" End If Text1.Text = Text & 0 islem = "0" End Sub Private Sub command11_click() a = Val(a) + Val(Text1.Text) Text1.Text = a islem = "1" End Sub Private Sub Command12_Click() a = Val(Text1.Text) - Val(a) Text1.Text = a islem = "1" End Sub Private Sub Command13_Click() Text1.Text = Val(a) * Val(Text1.Text) Text1.Text = a islem = "1" End Sub Private Sub Command14_Click() a = Val(a) / Val(Text1.Text) Text1.Text = a ıslem = "1" End Sub Private Sub Command2_Click() If islem = "1" Then Text1 = "" End If Text1.Text = Text1 & 2 islem = "0" End Sub Private Sub Command3_Click() If islem = "1" Then Text1 = "" End If Text1.Text = Text1 & 3 islem = "0" End Sub Private Sub Command4_Click() If islem = "1" Then Text1 = "" End If Text1.Text = Text1 & 4 islem = "0" End Sub Private Sub Command5_Click() If ıslem = "1" Then Text1 = "" End If Text1.Text = Text1 & 5 islem = "0" End Sub Private Sub Command6_Click() If islem = "1" Then Text1 = "" End If Text1.Text = Text1 & 6 islem = "0" End Sub Private Sub Command7_Click() If islem = "1" Then Text1 = "" End If Text1.Text = Text1 & 7 islem = "0" End Sub Private Sub Command8_Click() If islem = "1" Then Text1 = "" End If Text1.Text = Text1 & 8 islem = "0" End Sub Private Sub Command9_Click() If islem = "1" Then Text1 = "" End If Text1.Text = Text1 & 9 islem = "0" End Sub Private Sub Form_Load() islem = "0" End Sub |
Programcı kodları en kısa şekilde kullanmalı yapmak istediğin şey aslında 6 satırda yapılabilir şimdi başka bir yöntemle yaptım istersen diğerini de yazabilirim c# bildiğim için vb de yazmak çok zor oldu :D Public Class Form1 Dim Sayi1 As Integer Dim Sayi2 As Integer Dim sonuc As Double Dim islem As String Dim yazı As String Private Sub Button5_MouseClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button4.MouseClick, Button3.MouseClick, Button2.MouseClick, Button1.MouseClick Sayi1 = TextBox1.Text Sayi2 = TextBox2.Text yazı = CType(sender, Button).Text Select Case yazı Case "+" sonuc = Sayi1 + Sayi2 Case "-" sonuc = Sayi1 - Sayi2 Case "/" sonuc = Sayi1 / Sayi2 Case "*" sonuc = Sayi1 * Sayi2 End Select Label1.Text = sonuc End Sub |
tmm arkadaşım saol ewt programcı kısa yaparda.bnim istediğim o yaptığın gibi deil öle olsa bnde yapardım okadar yapabilioz yani. biz 2 sayıyı toplamicaz istediğimiz kadar toplicaz. ne diyorum windows hesap makinesi gibi...yinede saol. |
off ya yardım eden yoq mu. çok lazım bu kodlar ya bi yerdede bulamıom ki |
Daha önce kodları iki farklı konuda vermiştim bir arama yapayım bakalım. Bu Java ile ilgili olan http://forum.donanimhaber.com/m_5689044/mpage_1/key_hesap%252Cmakinesi//tm.htm#5727153 bu da VB http://forum.donanimhaber.com/m_6366541/mpage_1/key_hesap%252Cmakinesi//tm.htm#6378238 |
ya saol da bnim istediğim gibi deil...aşağıda resimde görüntüsü http://resim.resimupload.com/r41/thumb_913763877.JPG ek özellikler: eşittir butonu kullanılmicak istediğim kadar sayıyla işlem yapabilicem(mesela text e sayı girilirdiğinde bi kaç kere basıldığında aynı sayıyı toplamicak) yukarıda zatn kodları verdim ama hatalı çalışıo inşallah anlatabilmişimdir... |
Dim islem As String Dim sayi1, sayi2 As Integer Dim temizle, sayac As Boolean Private Sub Form_Load() temizle = True End Sub Private Sub Command1_Click() ekle (1) End Sub Private Sub Command2_Click() ekle (2) End Sub Private Sub Command3_Click() ekle (3) End Sub Private Sub Command4_Click() ekle (4) End Sub Private Sub Command5_Click() arti End Sub Private Sub Command6_Click() carpi End Sub Private Sub arti() temizle = False sayac = True sayi1 = Text1.Text islem = "+" End Sub Private Sub carpi() temizle = False sayi1 = Text1.Text islem = "*" End Sub Private Sub Command7_Click() esittir End Sub Private Sub esittir() sayi2 = Text1.Text Text1.Text = "" Select Case islem Case "+" Text1.Text = sayi1 + sayi2 temizle = False Case "*" Text1.Text = sayi1 * sayi2 temizle = False End Select End Sub Private Sub ekle(x As Integer) If temizle = True Then Text1.Text = Text1.Text & x Else Text1.Text = "" Text1.Text = Text1.Text & x temizle = True End If End Sub 1 den 4 2 kadar olan sayılar ve toplama çarpma işlemi yapmakta. sürekli + ya basınca işlem yapmıyor o ayrı. |
İnsanlar burda sana yardım etmiş, kod yazmış, sen begenmiyorsun. Zahmet edip biraz denesen diyorum ![]() |
ya bn hepsini deniyorum adam ödev verirkn hadi hesap makinesi yapıp getirin not vercem demioki bazı kriterler verio ona göre yapın die öle olsa hmn bulup getirirm ama kaç yerdn yardım istedim olmuo kimse bni anlamıo mu fransızcamı konuşuom. ayrıca osebat ın yoladığı kod lar bişi yapmıo hesap makinesine dayır nede başka bişi boş yani. hatta son msj ımda açıklamalar yaptım nasıl oolcak resim bile yolladım . kndi yaptığım örneği yoladım tabi çalışmıo bi kaç komut(if vs) yapmak lazımmış ama bn yapamadım yardım istedim ama olmuo |
Bak şimdi; hesap makinasında olması gereken bütün tuşları koy.Hepsine anlamlı birer isim ver. dim deger as integer diye bir değişken tanımla. Her basılan tusta deger değişkenine atama yap. 0 tusuna basılınca deger=0 1 tusuna basılınca deger=1 2 tusuna basılınca deger=2 gibi. sonra bu degerleri textbox a yanyana yazdırmak lazım. bunu icin her tusa basıldıgında; textbox.text &= str(deger) yazman lazım. bu rakamları toplamak yerine yan yana yazmanı saglar. yani stringe cevirdiğin icin böyle olur. sonra mesela + tusuna bastıgımızada o anki textboxdaki sayıyı bir değişkende tutmamız lazım. gecici= textbox.text sonra textbox ın icerigini temizlicez. ve eşitttir tusuna basınca sunu yapacak. eger basıldan tus + ise >> textbox.text = val(gecici) + val(textbox.text) eger basıldan tus - ise >> textbox.text = val(gecici) - val(textbox.text) eger basıldan tus * ise >> textbox.text = val(gecici) * val(textbox.text) eger basıldan tus / ise >> textbox.text = val(gecici) / val(textbox.text) işlemleri seri yapabilmen icin kontrol yapıları kullanman lazım. mesela artıya bastım sonra eşittir dedim. eranda 124 cıktı.sonra bu sayının üzerine bi sayı daha eklemek istiyorsam, o anki textbox durumuna bakarsın, yani textboxta bir sayı varsa onun üzerine işlem yaparsın. yoksa standart kodlar calisir. Şu anda pc'm sapıttıgı icin proje acamıyorum, o yüzden bu şekilde anlatabildim ![]() |
ya bn anlatamıomuyum eşittir kullanmıcam. yan yana yazmayı yaptım. aşağıdaki kod ları yaptım ama doru çalışmıolar işlemler. aşağıdaki örnekte ki gibi toplmada,çıkarmada, bölmede, çarpmada da text e ki sayıyı bi değişkene attım sona bu sayıyı texte atadım her butona basıldığında aynı işlemi yapıp toplasın die. ama mesela sayıyı yazdığımda bi kaç defa topplaya bastığımda aynı sayıyı aynı şekilde topluo(12+12=24 gibi) windows ta hesap makinesinde bi kaç defa toplaya basıldığında hiç bi işlem yapmıo bnde bunu istiom oda if le olucakmış. çıkarmam da ise eksili çıkartıo.çıkarmamda hiç bişi yapmıo.bölmemde ise sıfır verio. bunlarını ndn lerini bilmiyorum düzeltemiorum. yardımızı bkliyorum. ohhh anlamışsınızdır umarım.. ya bitsin artık bu çile yaa yapimde kurtulayım :( Dim a, islem As Integer Private Sub Command1_Click() If islem = "1" Then Text1 = "" End If Text1.Text = Text1 & 1 islem = "0" End Sub Private Sub Command10_Click() If islem = "1" Then Text1 = "" End If Text1.Text = Text & 0 islem = "0" End Sub Private Sub command11_click() a = Val(a) + Val(Text1.Text) Text1.Text = a islem = "1" End Sub Private Sub Command12_Click() a = Val(Text1.Text) - Val(a) Text1.Text = a islem = "1" End Sub Private Sub Command13_Click() Val(a) = Val(a) * Val(Text1.Text) Text1.Text = a islem = "1" End Sub Private Sub Command14_Click() a = Val(a) / Val(Text1.Text) Text1.Text = a ıslem = "1" End Sub Private Sub Command2_Click() If islem = "1" Then Text1 = "" End If Text1.Text = Text1 & 2 islem = "0" End Sub Private Sub Command3_Click() If islem = "1" Then Text1 = "" End If Text1.Text = Text1 & 3 islem = "0" End Sub Private Sub Command4_Click() If islem = "1" Then Text1 = "" End If Text1.Text = Text1 & 4 islem = "0" End Sub Private Sub Command5_Click() If ıslem = "1" Then Text1 = "" End If Text1.Text = Text1 & 5 islem = "0" End Sub Private Sub Command6_Click() If islem = "1" Then Text1 = "" End If Text1.Text = Text1 & 6 islem = "0" End Sub Private Sub Command7_Click() If islem = "1" Then Text1 = "" End If Text1.Text = Text1 & 7 islem = "0" End Sub Private Sub Command8_Click() If islem = "1" Then Text1 = "" End If Text1.Text = Text1 & 8 islem = "0" End Sub Private Sub Command9_Click() If islem = "1" Then Text1 = "" End If Text1.Text = Text1 & 9 islem = "0" End Sub Private Sub Form_Load() islem = "0" End Sub |
işlemleri seri yapabilmen icin kontrol yapıları kullanman lazım. mesela artıya bastım sonra eşittir dedim. eranda 124 cıktı.sonra bu sayının üzerine bi sayı daha eklemek istiyorsam, o anki textbox durumuna bakarsın, yani textboxta bir sayı varsa onun üzerine işlem yaparsın. yoksa standart kodlar calisir. Yazdım ya bunu yukarda zaten. İşlem tusuna bastıgın zaman yani + - * / o anki textbox ın durumunu kontrol et diyorum yani. eger textbox doluysa o anki degeri gecici değişkenine at. sonra her işlem icin gecici ve son girilen deger üzerinden işlem yap. anlatabildimmi topla tusuna bastık diyelim söyle yani; if textbox.text = "" then textbox.text = val(textbox.text) + gecici else textbox.text = val(textbox.text) + deger end if Deger 1 kere işlem yapıldıgında kullanılıyor ve son deger gecici isimli bir değişkene atılıyor. seri işlem yaparkende en son girilen texboxtaki bilgi ile gecici arasında işlem yapılıyor. Ben senin demek istediğini anladım. umarım bende anlatabilmişimdir ![]() |
Öncelikle programlamada en büyük sorun kör döngüye girmektir. Size birçok yöntem yollanmış, siz ise ben zaten bunu yaptım diyerek, kendi kodlarınızı yazıyorsunuz işte bu bir kör döngü. Mademki sizin yaptığınız gibi olmuyor, onu unutup değişik yöntemler denemelisiniz. Birden cok işlem yapmak istiyorsanız en son yaptığınız hesabı hafızada tutup yeni işlemi ona dahil etmelisiniz. Bunu yaparken yönteminiz ise matematiksel işlemleri atadığınız butonların değerlerini başka biryerde tutup, (örn. proje içerisindeki gizli bir text içerisinde) her butona bastığınızda koşul ile önce bu değeri okutup işlem yaptırmaktır. O zaman istediğiniz kadar işlem yapabilirsiniz. Balık vermek yerine balık tutmayı öğretmek daha iyidir. Sabit bir şeye yönelmeyin alternatifleri değerlendirin. Verilen her örnekten bir alternatif çıkartırsanız, bütün istediklerinizi yapabilirsiniz. |
ewt yolladılar bazıları çalışmıo bazıları bnim krterlerime uymuo ama yinede düşünüp bişi yazmışlar tşkr ![]() ewt bnim kodları yolluom çünkü bunun gibi basit bnim anlayacağım şekilde olsun istiom.visual hiç kullanmadım delphi ve pascal biliom kafamda çalışmıo hesap makinesi için ![]() |
Arkadaşlar bende visual basic 6 da windows benzeri bir hesap makinesi yapmaya calısıyorum fakat +-/veya * komutu içine aşağıdaki kodları yazdım a=VAL(TXT1) b="+" TXT1="" Daha sonra eşittir butonuna tıklayıp içine if b="+" Then TXT1=a+val(TXT1) yazdım Ancak birtürlü eşittire basıldığında işlem yapılmıyo acaba değişkene atamada mı bir sorun var Yardımcı olcak arkadaşlara teşekkürler. |
2 textbox var sanıyorum rakamların yazılması için, dim rakamtextbox1 as single dim rakamtextbox2 as single dim sonuc as single rakamtextbox1 = textbox1.text rakamtextbox2 = textbox2.text + butonu private sub .... diye giden yer olak çift tıkladığında onun içine = sonuc = rakamtextbox1 + rakamtextbox2 labelsonuc.text = sonuc (label sonuc adlı labele sonuc değerini geçirir) aynısının * ve / lüsü bide ![]() |
aga hesap makınesını yaptıkta bunu exe olarak nasıl yapıcaz |
1. sayfa
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.