درخواست ماشین حساب ساده در VB6
#1
Note 
درود برهمگی
من شخصا عذر خواهی میکنم که نمیدونستم کجا سوالمو بپرسم من بعد از دریافت جوابم پستو پاک میکنم..
اقا من یه ماشین حساب میخوام که در حد ابتدایی نوشته شده باشه
یعنی عملگر های ضرب تقسیم جمو تفریق و ....
من تا اینجاشو نوشتم باقیش باشما[VB]
Private Sub Command1_Click()
Text1.Text = Text1.Text + "7"
End Sub

Private Sub Command10_Click()
Text1.Text = Text1.Text + "0"
End Sub

Private Sub Command2_Click()
Text1.Text = Text1.Text + "1"
End Sub

Private Sub Command3_Click()
Text1.Text = Text1.Text + "6"
End Sub

Private Sub Command4_Click()
Text1.Text = Text1.Text + "5"
End Sub

Private Sub Command5_Click()
Text1.Text = Text1.Text + "4"
End Sub

Private Sub Command6_Click()
Text1.Text = Text1.Text + "9"
End Sub

Private Sub Command7_Click()
Text1.Text = Text1.Text + "8"
End Sub

Private Sub Command8_Click()
Text1.Text = Text1.Text + "3"
End Sub

Private Sub Command9_Click()
Text1.Text = Text1.Text + "2"
End Sub
[/VB]
بعد یه چیز میخوام مثه این شکل :
ممنون اگه کمکم کنید!!!
[ATTACH=CONFIG]466[/ATTACH]

آخرین ویرایش: 06-05-2013 ساعت 19:02، توسط Daniel
پاسخ
#2
Note 
بالاخره ساده میخوای یا پیشرفته؟
اون عکسی که گذاشتی ماشین حساب پیشرفتست نه در حد ضرب و تقسیم :mellowsmiley:

ماشین حساب ساده :
[VB]VERSION 5.00
Begin VB.Form Calculator
BackColor = &H80000005&
BorderStyle = 1 'Fixed Single
Caption = "Calculator"
ClientHeight = 3150
ClientLeft = 45
ClientTop = 330
ClientWidth = 3240
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 3150
ScaleWidth = 3240
StartUpPosition = 3 'Windows Default
Begin VB.CommandButton equals
Caption = "="
Height = 495
Left = 2040
TabIndex = 19
Top = 2520
Width = 1095
End
Begin VB.CommandButton over
Caption = "1/X"
Height = 495
Left = 2640
TabIndex = 18
Top = 720
Width = 495
End
Begin VB.CommandButton minus
Caption = "-"
Height = 495
Left = 2640
TabIndex = 17
Top = 1320
Width = 495
End
Begin VB.CommandButton div
Caption = "/"
Height = 495
Left = 2640
TabIndex = 16
Top = 1920
Width = 495
End
Begin VB.CommandButton times
Caption = "*"
Height = 495
Left = 2040
TabIndex = 15
Top = 1920
Width = 495
End
Begin VB.CommandButton plus
Caption = "+"
Height = 495
Left = 2040
TabIndex = 14
Top = 1320
Width = 495
End
Begin VB.CommandButton plusminus
Caption = "+/-"
Height = 495
Left = 2040
TabIndex = 13
Top = 720
Width = 495
End
Begin VB.CommandButton dotbttn
Caption = "."
Height = 495
Left = 1320
TabIndex = 12
Top = 2520
Width = 495
End
Begin VB.CommandButton clearbttn
Caption = "C"
Height = 495
Left = 120
TabIndex = 11
Top = 2520
Width = 495
End
Begin VB.CommandButton digits
Caption = "9"
Height = 495
Index = 9
Left = 1320
TabIndex = 10
Top = 720
Width = 495
End
Begin VB.CommandButton digits
Caption = "8"
Height = 495
Index = 8
Left = 720
TabIndex = 9
Top = 720
Width = 495
End
Begin VB.CommandButton digits
Caption = "7"
Height = 495
Index = 7
Left = 120
TabIndex = 8
Top = 720
Width = 495
End
Begin VB.CommandButton digits
Caption = "6"
Height = 495
Index = 6
Left = 1320
TabIndex = 7
Top = 1320
Width = 495
End
Begin VB.CommandButton digits
Caption = "5"
Height = 495
Index = 5
Left = 720
TabIndex = 6
Top = 1320
Width = 495
End
Begin VB.CommandButton digits
Caption = "4"
Height = 495
Index = 4
Left = 120
TabIndex = 5
Top = 1320
Width = 495
End
Begin VB.CommandButton digits
Caption = "3"
Height = 495
Index = 3
Left = 1320
TabIndex = 4
Top = 1920
Width = 495
End
Begin VB.CommandButton digits
Caption = "2"
Height = 495
Index = 2
Left = 720
TabIndex = 3
Top = 1920
Width = 495
End
Begin VB.CommandButton digits
Caption = "1"
Height = 495
Index = 1
Left = 120
TabIndex = 2
Top = 1920
Width = 495
End
Begin VB.CommandButton digits
Caption = "0"
Height = 495
Index = 0
Left = 720
TabIndex = 1
Top = 2520
Width = 495
End
Begin VB.Line Line1
X1 = 1920
X2 = 1920
Y1 = 720
Y2 = 3000
End
Begin VB.Label display
Alignment = 1 'Right Justify
Appearance = 0 'Flat
BackColor = &H80000005&
BorderStyle = 1 'Fixed Single
Caption = "0"
BeginProperty Font
Name = "MS Sans Serif"
Size = 12
Charset = 178
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H80000008&
Height = 495
Left = 120
TabIndex = 0
Top = 120
Width = 3015
End
End
Attribute VB_Name = "Calculator"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False

'=Main='
Option Explicit
Private Declare Function InitCommonControls Lib "comctl32.dll" () As Long
Dim operand1 As Double, operand2 As Double
Dim operator As String
Dim cleardisplay As Boolean

Private Sub Form_Initialize()
InitCommonControls
End Sub
Private Sub clearbttn_Click()
display.Caption = " "
End Sub

Private Sub digits_Click(Index As Integer)
If cleardisplay Then
display.Caption = ""
cleardisplay = False
End If
display.Caption = display.Caption + digits(Index).Caption

End Sub

Private Sub div_Click()
operand1 = Val(display.Caption)
operator = "/"
display.Caption = ""

End Sub

Private Sub dotbttn_Click()
If InStr(display.Caption, ".") Then
Exit Sub
Else
display.Caption = display.Caption + "."
End If

End Sub

Private Sub equals_Click()
Dim result As Double
operand2 = Val(display.Caption)
If operator = "+" Then result = operand1 + operand2
If operator = "-" Then result = operand1 - operand2
If operator = "*" Then result = operand1 * operand2
If operator = "/" And operand2 <> "0" Then _
result = operand1 / operand2
display.Caption = result

End Sub


Private Sub minus_Click()
operand1 = Val(display.Caption)
operator = "-"
display.Caption = ""

End Sub

Private Sub over_Click()
If Val(display.Caption) <> 0 Then display.Caption = 1 / Val(display.Caption)
End Sub

Private Sub plus_Click()
operand1 = Val(display.Caption)
operator = "+"
display.Caption = " "

End Sub

Private Sub plusminus_Click()
display.Caption = -Val(display.Caption)
End Sub

Private Sub times_Click()
operand1 = Val(display.Caption)
operator = "*"
display.Caption = ""

End Sub
[/VB]

کد رو تو notepad کپی کن و با نام دلخواه و فرمت frm ذخیره کن (اینطوری گذاشتم که دیگه نیازی نباشه تو فرمت کنترل ها رو دوباره بذاری به کدهای قبل '=Main=' توجه نکن)

پاسخ
#3
Note 
داداش اول از همه اینکه خیلی ممنون و از این که بهم اهمیت دادی و برام نوشتی سپاس گذارم
دوم از همه اینکه کد هاتو همون جور که گفتی گذاشتم ولی کار نداد
میشه خودتون فرمشو برام بزاریند؟
بعدشم اینکه من چهار عملگر + - * / رو به صورت ساده میخوام آخه من دوم هنرستانمو اینقدرا بارم نیست که شما توضیح دادید!!!
مثلا ما اصلا تایم یا پلاسو نخوندیم که شما نوشیشون.

مثلا عملگر ضربو من یه چیز تو این مایه ها میخوام که کار هم نمیده!!!
نقل قول: Private Sub Command7_Click()
Text1.Text = Text1.Text + "*"
بعد اینجا برای عملگر ضرب تعریف کنیف کنیم که دوتا متغیرو بگیره بعد ضرب کنه بریزه تو مثلا متغیری مثلا c
بعد
c?
End Sub

پاسخ
#4
Note 
خب جواب سوال شما کد بالا هست دیگه !
میتونی 3 تا textbox بذاری که تو اولی عدد اول نوشته بشه تو دومی عدد روم و تو سومی نتیجه نمایش داده بشه
[VB]Text3.Text = Val(Text1.Text) + Val(Text2.Text)[/VB]

فرم رو هم برات اتچ کردم

پاسخ
#5
Note 
اما نمیخوام سه تا tectbox بزارم
فقط یکی!

پاسخ
#6
Note 
سلام
نیازی نیست برای اضافه کردن هر عدد دکمه با نام های متفاوت بذاری و برای هر کدوم کد بنویسی!
یه دکمه بذار بعد کپی کن و همونجا paste کن یه پیام میاد که کنترلی با این نام وجود داره آیا میخوای برات Control array ایجاد کنم؟ Yes رو بزن حالا از روش 10 تا کپی کن و Caption هاشو تغییر بده (1 تا 0) حالا رو یکی از دکمه ها کلیک کن رو این کد رو بذار (بر فرض که نام دکمه cmdNum و نام textbox باشه txtcalc):

[VB]txtcalc.Text = txtcalc.Text + cmdNum(Index).Caption[/VB]

برای دکمه های ضرب و تقسیم و.. هم همین کارو بکن. اینطوری دیگه نیازی به اون همه کد نیست اگر دانش آموز هستی معلم هم حتما تشویقت میکنه. دوست خوبم Meego هم همین کد رو به شما داده نمیدونم مشکل شما کجاست منم یکی نوشتم دانلود کن ببین.
موفق باشی

پاسخ
#7
Note 
اقا دستتون درد نکنه فقط
دوتا سوال
چطوری میتونم ماشین حسابو با دکمه off خاموش و بادکمه on روشن کنم؟ مثله شکل بالا!!!
کد باینری هم بدین تا مثلا اگه زدم 5 طبق فرمول باینری که 1 2 4 8 هست بنویسه
1010 از راست به چپ
همین خودتون که دیگه ماهریند!!!
درضمن از اینکه اینقدر اهمیت میدین ممنون تنها انجمنیه که اینقدر اهمیت میدن...

پاسخ
#8
Note 
داداش یه سوال دیگه هم دارم
بی زحمت ببین چرا این همه ی عملیاتش کار میکنه غیر از عملگر تفریقش
میشه مشکلشو بگیند؟
ممنون که اینقدر اهمیت میدین!!!

[VB]Dim first As Single
Dim second As Single
Dim a As Single
Dim b As String
Dim c As Boolean


Private Sub Command1_Click()
If Len(text1.Text) > 0 Then
text1.Text = Left(text1.Text, Len(text1.Text) - 1)
End If
End Sub


Private Sub Command18_Click()
If text1.Text <> "" Then
text1.Text = Sin(Val(text1.Text))
End If
End Sub

Private Sub Command24_Click()
If text1.Text <> "" Then
text1.Text = Cos(Val(text1.Text))
End If
End Sub

Private Sub Command26_Click()
If text1.Text <> "" Then
text1.Text = Log(Val(text1.Text))
End If
End Sub



Private Sub Command27_Click()
If text1.Text <> "" Then
text1.Text = Int(Val(text1.Text))
End If
End Sub





Private Sub Command28_Click()
If text1.Text <> "" Then
text1.Text = StrReverse(Val(text1.Text))
End If
End Sub

Private Sub Command29_Click()
If text1.Text <> "" Then
text1.Text = Sqr(Val(text1.Text))
End If
End Sub

Private Sub Command3_Click()
text1.Text = ""
End Sub

Private Sub Command31_Click()
If text1.Text <> "" Then
text1.Text = Tan(Val(text1.Text))
End If
End Sub



Private Sub Command33_Click()
If text1.Text <> "" Then
text1.Text = Exp(Val(text1.Text))
End If
End Sub

Private Sub Command4_Click()
If text1.Text <> "" Then
text1.Text = Int(Val(text1.Text))
End If
End Sub




Private Sub equal_Click()

If c Then
second = text1.Text
c = False

Select Case (b)
Case "/":
a = Val(first) / Val(second)
text1 = a
Case "+":
a = Val(first) + Val(second)
text1 = a
Case "*":
a = Val(first) * Val(second)
Case "^":
a = Val(first) ^ Val(second)
text1 = a
Case "-":
a = Val(first) - Val(second)
text1 = a
End Select
Else
' Select Case (op)
' Case "/":
' a = Val(a) / Val(second)
' text1 = a
' Case "+":
' a = Val(a) + Val(second)
' text1 = a
' Case "-":
' a = Val(a) - Val(second)
' text1 = a
' Case "*":
' a = Val(a) * Val(second)
' text1 = a
'End Select
End If
Exit Sub
End Sub

Private Sub number_Click(Index As Integer)
text1.Text = text1.Text + number(Index).Caption
End Sub

Private Sub operator_Click(Index As Integer)
On Error Resume Next
first = text1.Text
b = operator(Index).Caption
text1.Text = ""
c = True
End Sub

Private Sub Option1_Click()
If text1.Text <> "" Then
text1.Text = CDec(Val(text1.Text))
End If
End Sub

Private Sub Option2_Click()
If text1.Text <> "" Then
text1.Text = Oct(Val(text1.Text))
End If
End Sub

Private Sub Option3_Click()
If text1.Text <> "" Then
text1.Text = Binary(Val(text1.Text))
End If
End Sub

Private Sub Option4_Click()
If text1.Text <> "" Then
text1.Text = Hex(Val(text1.Text))
End If
End Sub[/VB]
فقط یس زحمت بگید چرا عمل تفریق کار نمیده
و به همراه اون دوتا سوالی که اون بالا پرسیدم.
مرسی آقایون..

پاسخ
#9
Note 
سلام
کدی که گذاشتید مشکلی نداره احتمالا اسم دکمه منفی رو یه چیز دیگه گذاشتید

برای دو سوال بالا هم پروژه پیوست شد.

پاسخ
#10
Note 
درست بود داداش ممنون تو اسم cption عملگر تفریقم استباهی _ افتاده بوده
یعد یه چیز دیگه اول از همه اینکه ازتون یه خواهشی دارم من این کد باینری رو نگرفتم چی شد. عمل میکنه کار هم میکنه اما باید آخه منم بفهمم چی شده یا نه؟!؟!؟!؟!؟!
دوم اینکه من off و on رو خودم فهمیدم اینجوری شد:
فقط فعلا با چک باکس کار میکنه:
برای مثال چند موردش
[VB]If Check1.Value = 1 Then
Command3.Enabled = False
Command38.Enabled = False
Command39.Enabled = False
Command18.Enabled = False
Command24.Enabled = False
Command31.Enabled = False
Command25.Enabled = False
Command26.Enabled = False
Command32.Enabled = False
Command27.Enabled = False
Command28.Enabled = False
Command33.Enabled = False
Command29.Enabled = False
Command30.Enabled = False
Command34.Enabled = False
Command6.Enabled = False
Command7.Enabled = False
Command8.Enabled = False
Command9.Enabled = False
Command10.Enabled = False
Command6.Enabled = False
number(0).Enabled = False
number(1).Enabled = False
number(2).Enabled = False
number(3).Enabled = False
[/VB]
درست کار کرد البته on هم درستش کردمو الان داره به خوبی کار میکنه اما یه کاره واجب دیگه هم دارم از خدمتتون!

این نقطه ی اعشاری رو و یکی هم ساده شده ی باینری آخه نفهمیدم چی شد{باینری}:SoftAfzar:
همین دیگه ماشین حسابم تکمیل میشه و منم پرو ژه رو میزارم ببینید:44:

ممنون از همکاریتون
درضمن من تو بخش اندروید تعریف از خود نباشه بسیار مهارت دارم ایشالله بعد از امتحانات خردادم میامو فعالیتمو آغاز میکنم.

ممنون از زحماتتون...:44:

پاسخ
ایجاد موضوع جدید   پاسخ به موضوع  

موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Note خواندن فایل تکست و تبدیل آن به فایل اکسل توسط CommandButton ahmadelectron 4 1,003 26-05-2015 ساعت 23:43
آخرین ارسال: THE KNIGHT
Note درست کردن cmd با vb ata81 0 353 24-03-2014 ساعت 19:11
آخرین ارسال: ata81
Note درخواست برنامه ساخت پوشه تو در تو! C0der 2 644 24-07-2012 ساعت 11:22
آخرین ارسال: hamedre81

کاربرانِ درحال بازدید از این موضوع:   1 مهمان