تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] عمل حاسبة بسيطة
#1
السلام عليكم ورحمة الله وبركاتة


لدي سؤال عن انشاء حاسبة بسيطة تقريبا انا قمت بكل شيء

بس عندي مشكلة وهيا منع المستخدم من كتابة عمليات متتالية مثلا

122++33--+55

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

وايضا لا تقبل علامات اول العملية الحسابية بالتيكست.

-+5+5
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , asemshahen5
#2
بصراحة لا ادري كيفية  وضعية الازرار عندك لكن شوف الكود التالي هل يناسبك ام لا
PHP كود :
Private Function GetOp() As Boolean
        If TextBox1
.Text.Contains("+"Then Return True Else Return False
        If TextBox1
.Text.Contains("-"Then Return True Else Return False
        If TextBox1
.Text.Contains("*"Then Return True Else Return False
        If TextBox1
.Text.Contains(""Then Return True Else Return False
    End 
Function
 
   Private Sub Button1_Click(sender As System.ObjectAs System.EventArgsHandles Button1.ClickButton2.ClickButton3.ClickButton4.Click
        If GetOp
() = True Then Exit Sub
        TextBox1
.AppendText(sender.text)
 
   End Sub 

هل تقصد انه يتم ادخال الارقام من لوحة المفاتيح(الكيبورد)؟
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
#3
(12-04-20, 05:52 PM)سعود كتب : بصراحة لا ادري كيفية  وضعية الازرار عندك لكن شوف الكود التالي هل يناسبك ام لا
PHP كود :
Private Function GetOp() As Boolean
        If TextBox1
.Text.Contains("+"Then Return True Else Return False
        If TextBox1
.Text.Contains("-"Then Return True Else Return False
        If TextBox1
.Text.Contains("*"Then Return True Else Return False
        If TextBox1
.Text.Contains(""Then Return True Else Return False
    End 
Function
 
   Private Sub Button1_Click(sender As System.ObjectAs System.EventArgsHandles Button1.ClickButton2.ClickButton3.ClickButton4.Click
        If GetOp
() = True Then Exit Sub
        TextBox1
.AppendText(sender.text)
 
   End Sub 

هل تقصد انه يتم ادخال الارقام من لوحة المفاتيح(الكيبورد)؟

الحدث ملوش علاقة بالازرار المفروض يكون موجود بحدث TextChanged

انا فهمت الكود بيتم ازاي

بس العمليات بتم بالكيبورد او الازرار عشان كدة عايز العملية تكون داخل التيكست الي بتظهر فيها العمليات بحدث TextChanged

عشان لو المستخدم استخدم البوتن او الكيبورد
الرد }}}
تم الشكر بواسطة: سعود , ابراهيم ايبو , asemshahen5
#4
إقتباس :انا فهمت الكود بيتم ازاي

بس العمليات بتم بالكيبورد او الازرار عشان كدة عايز العملية تكون داخل التيكست الي بتظهر فيها العمليات بحدث TextChanged

عشان لو المستخدم استخدم البوتن او الكيبورد
يعني انت تحتاج  اما حدث KeyPress او حدث  KeyDown
فقط 
اكيد تعرف الباقي باين من ردك
إقتباس :الحدث ملوش علاقة بالازرار المفروض يكون موجود بحدث TextChanged
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
#5
الف شكر علي ردك

جزاك الله كل خير
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , asemshahen5
#6
السلام عليكم ورحمة الله وبركاته
تفضل اخي محمد هذا الكود في حدث KeyPress
سوف يمنع اضافة اكثر من اشارة للعمليات الحسابية يسمح بواحدة فقط بين كل رقمين
كود :
Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
       If TextBox1.Text.EndsWith("+") Or TextBox1.Text.EndsWith("-") Or TextBox1.Text.EndsWith("*") Or TextBox1.Text.EndsWith("/") Then
           If e.KeyChar = "+" Or e.KeyChar = "-" Or e.KeyChar = "*" Or e.KeyChar = "/" Then
               e.Handled = True
           End If
       End If
   End Sub
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: محمد اسماعيل , asemshahen5 , asemshahen5
#7
(12-04-20, 07:43 PM)ابراهيم ايبو كتب : السلام عليكم ورحمة الله وبركاته
تفضل اخي محمد هذا الكود في حدث KeyPress
سوف يمنع اضافة اكثر من اشارة للعمليات الحسابية يسمح بواحدة فقط بين كل رقمين
كود :
Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
       If TextBox1.Text.EndsWith("+") Or TextBox1.Text.EndsWith("-") Or TextBox1.Text.EndsWith("*") Or TextBox1.Text.EndsWith("/") Then
           If e.KeyChar = "+" Or e.KeyChar = "-" Or e.KeyChar = "*" Or e.KeyChar = "/" Then
               e.Handled = True
           End If
       End If
   End Sub

وعليكم السلام ورحمة الله وبركاتة

تم حل المشكلة بفضل الله

ومن الافادة اختلاف الحلول اشكرك علي ردك استاذ ابراهيم
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , asemshahen5


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  الة حاسبة ابو اسماعيل33 0 966 05-06-22, 01:47 AM
آخر رد: ابو اسماعيل33
  [كود] مطلوب كود يسحب معلومات بسيطة من موقع كورة مثلا؟ خالد يعقوب 1 1,374 25-07-21, 04:22 PM
آخر رد: aldery
  مطلوب مساعدة بسيطة في حل اشكالية العطر الرايق 0 1,232 07-06-20, 05:24 PM
آخر رد: العطر الرايق
Lightbulb [VB.NET] برنامج آلة حاسبة Doctor GME 6 2,263 24-05-20, 03:17 AM
آخر رد: atefkhalf2004
  جزئية بسيطة في الداتاسيت اريد ان اعرف كيف تتعاملون معها ابو محمد محمد محمد 4 1,821 16-05-20, 08:48 AM
آخر رد: عبدالله الدوسري
  سوال محتاج مساعدة بسيطة في كود برمجي العطر الرايق 2 1,636 10-05-20, 02:20 AM
آخر رد: العطر الرايق
  السلام عليكم لو سمحتم عندي مشكلة بسيطة في هذا الكود بانه لا ياخد في الكسر مثل في (ال HASSAN.NOWARHA 6 2,979 02-03-20, 01:39 AM
آخر رد: alsalamoni
  مساعدة بسيطة شباب salahalmasry 7 3,688 12-10-19, 02:52 AM
آخر رد: salahalmasry
  مساعدة بسيطة mohamedahmed1 0 1,232 15-08-19, 03:13 AM
آخر رد: mohamedahmed1
  [VB.NET] مشكله بسيطة في الكود التالي e-coder 1 1,628 17-07-19, 07:54 PM
آخر رد: الحازمي

التنقل السريع :


يقوم بقرائة الموضوع: