نمایش نتایج 1 تا 5 از 5

نام تاپیک: ساخت ماشین حساب بدون استفاده از اشیاء فقط با کد (باحال/بدون دانلود)

  1. #1
    کاربر دائمی
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    اصفهان
    پست
    717

    ساخت ماشین حساب بدون استفاده از اشیاء فقط با کد (باحال/بدون دانلود)

    سلام عزیزای دل وی بی (vb6)

    یک چیز باحال دارم براتون که فکر نکنم جایی دیده باشید.
    این هم میتونه برای تازه کارها و هم حرفه ای ها جالب باشه.

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

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



    فقط فقط فقط کافیه 2 تا دکمه با نام C_Num و C_Fun با index برابر = 0 به صفحه خودتون وارد کنید. و خلاص و بعد کد پایین را کپی و اجرا !


    '========'tx=مال تکس باکس
    'Num=براي ايجاد شمارش دکمه
    'NLeft=براي ذخيره سازي موقيعت چپ دکمه ها
    'NTop=مثل بالايي براي ارتفاع دکمه ها
    'Hesab=ذخيره سازي اعدادي که به صورت اولين بار وارد شده
    'Amal=ذخيره سازي انجام عمليات دکمه
    '========
    Dim tx As Object, Num, NLeft, NTop, Hesab, Amal


    Private Sub C_Fun_Click(Index As Integer)
    With tx
    If Index = 3 Then 'اگر روي دکمه (=) کليک کرد
    Select Case Amal: Case "+": .Text = Hesab + .Text: Case "-": .Text = Hesab - .Text: Case "*": .Text = Hesab * .Text: End Select 'کليه انجام عمليات را اينجا انجام مي دهد
    'Amal = ""
    Exit Sub: End If
    '====================================
    Hesab = Val(.Text) 'عدد را وارد اين بکن براي اجراي حساب
    Amal = C_Fun(Index).Caption 'نوع عمليات کليک شده را وارد اين متغيير کن براي انجام حساب
    tx = "" 'پاک ميکنه براي اينکه بتوني عدد بعدي را وارد کني
    End With
    End Sub


    Private Sub C_Num_Click(Index As Integer)
    'If len(tx.Text )> 0 And Amal <> "" Then tx.Text = "" 'اگر تکست باکس خالي نبود و روي دکمه عمليات کليک نشده بود تکست را پاک کن تا عدد بعدي را بتواند وارد کند
    tx.Text = tx.Text & C_Num(Index).Caption 'اعداد را داخل تکست باکس وارد ميکنه
    End Sub



    Private Sub Form_Load()
    On Error GoTo Arror
    Width = 2100: Height = 2800 'تنظيم اندازه صفحه
    C_Num(0).Caption = 0: C_Num(0).Width = 450: C_Num(0).Height = 450 ' اندازه دکمه اعداد را درست ميکنه
    C_Fun(0).Width = 450: C_Fun(0).Height = 450 'اندازه دکمه عملگرد ها درسته ميکنه
    Set tx = Controls.Add("Vb.TextBox", "tx", Me): With tx: .Visible = True: .Top = 50: .Left = 50: .Width = 1800: .Height = 350: .Locked = True: .MaxLength = 16: End With 'يک تکست باکس tx با مشخصات و اندازه کامل درست ميکنه
    '==================================

    NLeft = 50: NTop = 420 'مقدار و مشخصات دکمه اعداد را براي چيدمان صحيح تنظيم ميکنه
    TLabel = Array("*", "-", "+", "=", ".") 'يک ارايه رشته نام براي کد نويسي کمتر ايجاد ميکنه


    '==================================
    For Num = 1 To 10 'ايجاد حلفه براي درست کردن 10 دکمه
    If Num = 4 Then Enter 'به 4 رسيد مشخصات مختصاد دکمه ها را درست ميکنه
    If Num = 7 Then Enter 'مثل بالايي به 7 رسيد
    If Num = 10 Then Enter 'مثل بالاي به 10 رسيد

    With C_Num(Num) 'براي ساده نويسي کد اسمش را کوتاه مي کنيم
    Load C_Num(Num) 'ايجاد دکمه براي کپي کاري با نام حلقه NUM
    .Visible = True 'براي نمايشش
    .Left = NLeft: .Top = NTop 'اندازه بالا و پايين
    .Caption = Num 'متن روي خود دکمه اعداد
    NLeft = NLeft + 450 '450 ميده به چپ که فاصله دکمه ها درست بشه
    End With: Next Num ' پايان نام کوتاه و پايان حلقه


    C_Num(10).Caption = TLabel(4) 'براي دکمه 10 متن نقطه(.) را ميزاره
    C_Num(0).Left = 500: C_Num(0).Top = NTop: C_Num(0).Width = 900: NTop = 450 'تنظيم دکمه 0 هم از جا و مکان و هم از اندازه
    '========================================


    C_Fun(0).Top = 420: C_Fun(0).Left = 1400 'تنظيم دکمه عملگرها


    For Num = 0 To 3 'ايجاد براي 3 دکمه جديد
    With C_Fun(Num) 'کوتاه سازي نام دکمه ها
    Load C_Fun(Num): .Visible = True
    Arror: .Top = .Top + NTop * Num 'براي فاصله بالا پايين دکمه ها اندازه ها را ضرب ميکنه که کار راحت بشه
    .Caption = TLabel(Num) 'نامشان را بر اساس بر اساس آرايه اي که ايجاد کرديم تنظيم ميکنه
    End With
    Next Num


    End Sub


    Sub Enter()
    NTop = NTop + 450: NLeft = 50 'براي چيدمان صحيح دکمه هاي اعداد
    End Sub


    اگر به کارتون اومد که خب تشکر کنید اگر هم نیومد که باز هم تشکر.
    برای سلامتی VB صلوات
    آخرین ویرایش به وسیله www.pc3enter.tk : پنج شنبه 26 مهر 1397 در 19:58 عصر

  2. #2
    کاربر دائمی آواتار میلاد علوی
    تاریخ عضویت
    دی 1384
    محل زندگی
    پشت کامپیوتر
    پست
    201

    نقل قول: ساخت ماشین حساب بدون استفاده از اشیاء فقط با کد (باحال/بدون دانلود)

    ایراد داره کدت دوست من

  3. #3
    کاربر دائمی
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    اصفهان
    پست
    717

    نقل قول: ساخت ماشین حساب بدون استفاده از اشیاء فقط با کد (باحال/بدون دانلود)

    اره تو بخش حساب کردنش کمی مشکل داره, الگوریتمشو نمیدونستم چه طوری خوب در بیارم

    اگر می تونی کمک کنی . خب نیکیو بپرس؟

    یا می تونی تو خط 15 اینو زیر مجموعه دکمه C_Fun_Click عوض کنی:

    Private Sub C_Fun_Click(Index As Integer)

    به جای

    'Amal = ""

    اینو بزاری
    Num = 1


    و این هم به خط اول C_Num_Click اضافه کنی.

    If Num = 1 Then tx = "": Num = 0
    آخرین ویرایش به وسیله www.pc3enter.tk : سه شنبه 24 مهر 1397 در 22:46 عصر

  4. #4
    کاربر دائمی آواتار میلاد علوی
    تاریخ عضویت
    دی 1384
    محل زندگی
    پشت کامپیوتر
    پست
    201

    نقل قول: ساخت ماشین حساب بدون استفاده از اشیاء فقط با کد (باحال/بدون دانلود)

    اگر میتونی ی برنامه ش کن و سورسشو بزار اینجا
    نمی دونم مشکل از منه یا شما توی خط33 که برای خطا گیری نوشتید وقتی کپی میکنم ارور میده چون لیبل درستی نداره

  5. #5
    کاربر دائمی
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    اصفهان
    پست
    717

    نقل قول: ساخت ماشین حساب بدون استفاده از اشیاء فقط با کد (باحال/بدون دانلود)

    نقل قول نوشته شده توسط میلاد علوی مشاهده تاپیک
    اگر میتونی ی برنامه ش کن و سورسشو بزار اینجا
    نمی دونم مشکل از منه یا شما توی خط33 که برای خطا گیری نوشتید وقتی کپی میکنم ارور میده چون لیبل درستی نداره
    حل شد.

    یک بار دیگه کل کدو کپی کن
    آخرین ویرایش به وسیله www.pc3enter.tk : جمعه 27 مهر 1397 در 06:53 صبح

تاپیک های مشابه

  1. پاسخ: 4
    آخرین پست: یک شنبه 26 مرداد 1399, 00:59 صبح
  2. پاسخ: 2
    آخرین پست: شنبه 21 شهریور 1388, 14:26 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •