• 0
betna

الة حاسبة

سؤال

عملت الة حاسبة بسيطة 

لكن كود زرار النتيجة مش عايز يشتغل 

لسة مبتدئة لو تقولولي الغلط فين

 

Public Class Form1
Dim addition1 As Integer
Dim subtraction1 As Integer
Dim division1 As Double
Dim multiplication1 As Integer
Dim result As Integer
Dim choice As String
Private Sub Form1_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs)
End Sub
Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Select Case choice
Case "plus"
result = addition1 + Val(TextBox1.Text)
TextBox1.Text = 0
Case "minus"
result = subtraction1 - Val(TextBox1.Text)
TextBox1.Text = Str(result)
Case "division"
result = division1 / Val(TextBox1.Text)
TextBox1.Text = Str(result)
Case "multiplication"
result = multiplication1 * Val(TextBox1.Text)
TextBox1.Text = Str(result)
End Select
End Sub

Private Sub Button11_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button11.Click
TextBox1.Clear()
End Sub

Private Sub ZERO_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ZERO.Click
TextBox1.Text = TextBox1.Text & ZERO.Text
End Sub

Private Sub one_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles one.Click

TextBox1.Text = TextBox1.Text & one.Text

End Sub

Private Sub two_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles two.Click

TextBox1.Text = TextBox1.Text & two.Text
End Sub

Private Sub three_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles three.Click

TextBox1.Text = TextBox1.Text & three.Text
End Sub

Private Sub four_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles four.Click

TextBox1.Text = TextBox1.Text & four.Text
End Sub

Private Sub five_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles five.Click

TextBox1.Text = TextBox1.Text & five.Text
End Sub

Private Sub six_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles six.Click
TextBox1.Text = TextBox1.Text & six.Text
End Sub

Private Sub seven_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles seven.Click
TextBox1.Text = TextBox1.Text & seven.Text
End Sub

Private Sub eight_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles eight.Click

TextBox1.Text = TextBox1.Text & eight.Text
End Sub

Private Sub nine_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles nine.Click
TextBox1.Text = TextBox1.Text & nine.Text
End Sub

Private Sub plus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles plus.Click
addition1 = Val(TextBox1.Text)
TextBox1.Clear()
choice = "plus"
End Sub

Private Sub minus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles minus.Click
subtraction1 = 0
subtraction1 = Val(TextBox1.Text)
TextBox1.Clear()
choice = "minus"
End Sub

Private Sub divide_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles divide.Click
division1 = Val(TextBox1.Text)
TextBox1.Clear()
choice = "division"
End Sub

Private Sub multiply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles multiply.Click
multiplication1 = Val(TextBox1.Text)
TextBox1.Clear()
choice = "multiplication"
End Sub
End Class

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

21 إجابة على هذا السؤال .

  • 0

يمكن ارفاق المشروع هذا افضل

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

يمكن ارفاق المشروع هذا افضل

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بالنسبة لمبتدئة فهذه محاولة جيدة, طرقيتك قريبة جداً من الحل الأفضل.

 

لا توجد أي مشكلة بالأكواد البرمجية

 

وإنما المشكلة أن زر (=) غير مرتبط بأي حدث:

post-252722-0-92323900-1366708500_thumb.

 

ولحل المشكلة من قائمة الأحداث - حدث Click اختاري Button12_Click

 

كما يوجد خطأ بسيط في الأسطر التالية:

 

        Select Case choice            Case "plus"                result = addition1 + Val(TextBox1.Text)                TextBox1.Text = 0

بالسطر الأخير يجب أن تكون:

 

TextBox1.Text = result

 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا جدا 

فعلا عدلت والبرنامج اشتغل 

لو سمحتلي ممكن بعض الاسئلة

1- كود زر ce وايه الفرق بينه وبين c

2- كود زر 1/x

3- كود %

4- كود الجذر

5- كود تغيير الاشارة

6- ازاي اخلي المعادلة كلها تكون مكتوبة امامي على الشاشة يعني مثل

3 + 5 = 8

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا لسرعة الاجابة عليا

بس الرابط لالة حاسبة بال #C مش فيجوال بيسك

انا ماعرفش #C بس متهيالي ان طريقة كتابة الكود مختلفة

ياريت رابط بالفيجوال بيسك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بالتوفيق ان شاء الله

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

هذا الموقع يقوم بتحويل كود VB.Net الي #C والعكس صحيح

 

http://www.developerfusion.com/tools/convert/csharp-to-vb/

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

كما تفضل الإخوة الأفاضل بالردود السابقة, يمكنك الإستفادة من أكواد C# وتحويلها إلى VisualBasic ويوجد العديد من المواقع والبرامج التي تقوم بذلك, كون هاتين اللغتين شقيقتين من أسرة .Net

 

على كل حال, قد يكون الأمر معقداً الحصول على أكواد وتحويلها ومن ثم فهم طريقة عملها, وبما أن ما طلبته لا يستحق كل هذا التقعيد سأحاول المساعدة بدون استخدام برنامج C#

 

قبل البدء لدي ملاحظة على كودك, لقد قمت بتعريف أربع متغيرات تعبر عن أرقام:

Dim addition1 As IntegerDim subtraction1 As IntegerDim division1 As DoubleDim multiplication1 As Integer

ويمكن الإستغناء عنها والإكتفاء بمتغير واحد كما يلي:

Dim number1 As Double

وفي كل مرة تستخدمي أحد المتغيرات السابقة بدليه بهذا المتغير.

 

أما بالنسبة لطلباتك:

 

1- كود زر ce وايه الفرق بينه وبين c

يجب على زر CE أن يقوم فقط بمسح الشاشة مع ابقاء العملية التي اختارها المستخدم, أما الزر C فيقوم بمسح الشاشة وإلغاء العملية (أي كأنك شغلت الآلة الحاسبة من جديد)

 

2- كود زر 1/x

إن هذا الزر يقوم بحساب مقلوب العدد, أي بعد اختيار الرقم الأول والضغط على هذا الزر يجب أن تظهر النتيجة: 1÷العدد

 

3- كود %

لست متأكداً من هذا الزر, ولكن ببرنامج جعلته يقوم بحساب باقي قسمة العدد الأول على العدد الثاني

 

4- كود الجذر

لحساب كود الجذر يمكن استخدام الدالة: Math.Sqrt

 

5- كود تغيير الاشارة

لقلب إشارة العدد يكفي ضربه بالرقم -1

 

6- ازاي اخلي المعادلة كلها تكون مكتوبة امامي على الشاشة يعني مثل

3 + 5 = 8

من أجل هذه العملية يجب تغيير كل التعليمات التي تظهر النتيجة مثل:

TextBox1.Text = Str(result)

بهذا السطر:

TextBox1.Text = nuber1 & choice & TextBox1.Text & "=" & result

طبعاً بعد أن تكوني قد طبقت الملاحظة التي ذكرتها بالبداية.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

متشكرة جدا للاخ فؤاد على الاجابة

فعلا طبقت الملاحظات اللي قولتها وكلها اشتغلت

كان ليا سؤال للاسف مش فهماه وحفظته كده وخلاص 

ما هو المقصود بهذا السطر

ByVal sender As System.Object, ByVal e As System.EventArgs) Handles



وبعد اذنك لقيت في احدى المواقع انه يمكن كتابة الكود بهذه الطريقة

 

Private Sub btn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn1.Click, btn2.Click, btn3.Click, btn4.Click, btn5.Click, btn6.Click, btn7.Click, btn8.Click, btn9.Click, Button2.Click
txtsource.Text = txtsource.Text & sender.text
End Sub

 

ممكن شرح الكود من فضلكوا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

عايزة افهم الفرق في الكود



وازاي اخلي النتيجة تطلع فيها ارقام عشرية 

يعني 1+1.1=2.1

تظهر عندي النتيجة 2

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بالنسبة لسؤالي الاخير فالحمد لله عرفت الخطا فين

اني معرفة المتغير اللي تظهر فيه النتيجة بانه integer وهذا التعريف يظهر الارقام الصحيحة فقط

وقمت بتغييره الى double فظهرت النتيجة في صورة ارقام كسرية

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أثناء تجوالي في منتدي Visual Basic.Net وجدت آلة حاسبة بلغة VB وسهلة وبسيطة جدا يمكنك الاستعانة بها في الكثير من الامور

الآلة الحاسبة العلمية بلغة الفيجوال بيسك دوت نت

أيضا وجدت كتاب يشرح طريقة عمل الالة الحاسبة باستخدام فيجوال بيسك 2008 شرح مبسط وسهل 

ان شاء الله يكون فيه الفائده

www.kutub.info_5634.pdf

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أثناء تجوالي في منتدي Visual Basic.Net وجدت آلة حاسبة بلغة VB وسهلة وبسيطة جدا يمكنك الاستعانة بها في الكثير من الامور

الآلة الحاسبة العلمية بلغة الفيجوال بيسك دوت نت

أيضا وجدت كتاب يشرح طريقة عمل الالة الحاسبة باستخدام فيجوال بيسك 2008 شرح مبسط وسهل 

ان شاء الله يكون فيه الفائده

شكرا جدا على المرفقات 

هل تستطيع الاجابة عن سؤالي 

 

Private Sub btn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn1.Click, btn2.Click, btn3.Click, btn4.Click, btn5.Click, btn6.Click, btn7.Click, btn8.Click, btn9.Click, Button2.Click

txtsource.Text = txtsource.Text & sender.text

End Sub

 

شرح هذا الكود 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

هذا الكود معناه انك ستقومين بعمل Handle لمجموعة من الازرار بحيث جميعهم يقومون بنفس الوظيفة او الــ Route

 

مثال

 

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, b_One.Click, b_Clear.Click        MsgBox("i can handle two button")    End Sub

اذا قمنا باستخدام ثلاثة ازرار وهم زر 1 و وزر Clear بالاضافة الي زر Button1 وكتبنا هذه الرسالة البسيطة تحت الحدث Button1_Click هذا معناه انه عندما تضغطين علي الازرار

b_One.Click
b_Clear.Click

Button1_Click

 

فجميعهم سيعرضون نفس الرسالة وفي المثال التي قد قمتي بطرحة نقوم بربط هذه الازرار بالاشتراك في روتين واحد وهو txtsource H أو كلهم يصبون نتائجهم في حقل واحد وهو حقل النتيجة txtsource

 

اتمني اكون قد أفدتك

تم تعديل بواسطه محمد فؤاد تركي
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا لردك جدا

طيب والمقصود بال sender

وليه الكود مكتوب ByVal sender As System.Object, ByVal e As System.EventArgs

وفي بعض الاحيان بيكون

 sender As System.Object,  e As System.EventArgs

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
  • 0
  • 0

متشكرة جدا للاخ فؤاد على الاجابة

فعلا طبقت الملاحظات اللي قولتها وكلها اشتغلت

كان ليا سؤال للاسف مش فهماه وحفظته كده وخلاص 

ما هو المقصود بهذا السطر

ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

وبعد اذنك لقيت في احدى المواقع انه يمكن كتابة الكود بهذه الطريقة

 

Private Sub btn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn1.Click, btn2.Click, btn3.Click, btn4.Click, btn5.Click, btn6.Click, btn7.Click, btn8.Click, btn9.Click, Button2.Click

txtsource.Text = txtsource.Text & sender.text

End Sub

 

ممكن شرح الكود من فضلكوا

السلام عليكم

طبعاً بالنسبة لهذا الكود يمكن شرحه كالتالي:

ان الازرار التي اضفتيها الى كود الحدث  click للزر btn1 تعني انك عندما تقومي بالنقر على اي واحد من هولاء الازرار فانه سيتم ارسال نسخه منه عبر الاوبجكت sender وهذه النسخة من هذا الزر تحمل بعض الخصائص تبع هذا الزر مثل خاصية text الموجودة في الكود تبعك sender.text وتتنفذا هذه الخاصية تبع هذا الزر(اي كلما ننقر على اي زر تتنفذ الخاصية تبعه وترسل عبر الsender ).

فمثلا من الكود السابق عندما ننقر على الزر btn2 فان سيتم ارسال نسخه عبر الsender من btn2 وسيحتوي على بعض الخصائص الخاصة بهذا المفتاح ومنها خاصية text وسيظهر 2 في ال textbox وهذ الكود يفيد في ان نختصر الكود لكل المفاتيح في كود واحد بدلاً من وضع كود لكل مفتاح.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .