• درخواست ماشین حساب ساده در 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,382 26-05-2015 ساعت 23:43
    آخرین ارسال: THE KNIGHT
    Note درست کردن cmd با vb ata81 0 408 24-03-2014 ساعت 19:11
    آخرین ارسال: ata81
    Note درخواست برنامه ساخت پوشه تو در تو! C0der 2 714 24-07-2012 ساعت 11:22
    آخرین ارسال: hamedre81

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