Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
19
Cevap
3620
Tıklama
0
Öne Çıkarma
yardım...visual basic te windows hesap makinesi
A
19 yıl
Onbaşı
Konu Sahibi

arkadaşlar yardımlarınızı bekliyorum.. bnim ödevim için windows hesap makinesinin kodları lazım bana yardımcı olursanız sevinirim şimdidn tşkrler



A
19 yıl
Onbaşı
Konu Sahibi

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


Bu mesaja 1 cevap geldi.
C
19 yıl
Yüzbaşı

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


Bu mesaja 1 cevap geldi.
A
19 yıl
Onbaşı
Konu Sahibi

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.





< Bu mesaj bu kişi tarafından değiştirildi angel_fatmaxx -- 24 Kasım 2006; 13:37:47 >
Bu mesaja 1 cevap geldi.
A
19 yıl
Onbaşı
Konu Sahibi

off ya yardım eden yoq mu. çok lazım bu kodlar ya bi yerdede bulamıom ki


Bu mesaja 1 cevap geldi.
S
19 yıl
Yarbay

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





< Bu mesaj bu kişi tarafından değiştirildi serseri -- 24 Kasım 2006; 21:02:06 >
Bu mesaja 1 cevap geldi.
A
19 yıl
Onbaşı
Konu Sahibi

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...





< Bu mesaj bu kişi tarafından değiştirildi angel_fatmaxx -- 24 Kasım 2006; 22:05:35 >
Bu mesaja 1 cevap geldi.
O
19 yıl
Teğmen

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ı.


Bu mesaja 1 cevap geldi.
A
19 yıl
Yüzbaşı

İnsanlar burda sana yardım etmiş, kod yazmış, sen begenmiyorsun. Zahmet edip biraz denesen diyorum


Bu mesaja 1 cevap geldi.
A
19 yıl
Onbaşı
Konu Sahibi

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


Bu mesaja 1 cevap geldi.
A
19 yıl
Yüzbaşı

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





< Bu mesaj bu kişi tarafından değiştirildi aydinunlu -- 25 Kasım 2006; 18:30:44 >
Bu mesaja 1 cevap geldi.
A
19 yıl
Onbaşı
Konu Sahibi

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


Bu mesaja 1 cevap geldi.
A
19 yıl
Yüzbaşı

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


Bu mesaja 1 cevap geldi.
E
19 yıl
Yüzbaşı

Ödev bittimi angel_fatmaxxx


Bu mesaja 1 cevap geldi.
A
19 yıl
Onbaşı
Konu Sahibi

hyr ya nerde tam istediğim gibi bulamıom ki


Bu mesaja 1 cevap geldi.
A
19 yıl
Er

Ö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.


Bu mesaja 1 cevap geldi.
A
19 yıl
Onbaşı
Konu Sahibi

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





< Bu mesaj bu kişi tarafından değiştirildi angel_fatmaxx -- 13 Aralık 2006; 12:08:18 >

F
15 yıl
Er

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.


Bu mesaja 1 cevap geldi.
G
15 yıl
Yarbay

quote:

Orijinalden alıntı: fluid09

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


Bu mesaja 1 cevap geldi.
K
14 yıl
Er

aga hesap makınesını yaptıkta bunu exe olarak nasıl yapıcaz



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.