تحديث كود تفصيل عدد
Private Sub cmdSplit_Click() Dim arrOps() As String arrOps = Split(txtExpression, " ") If UBound(arrOps) > 0 Then txtOp1 = arrOps(0) txtOperator = arrOps(1) txtOp2 = arrOps(2) Else txtOp1 = "0" txtOperator = "x" txtOp2 = arrOps(0) End If End Sub
اشكرك اخوي احمد على سرعة ردك
وهذا هو المطلوب
لكن عندي استفسار
هل يمكن كتابة العملية دون ان اضع مسافة بين الارقام؟
العفو أخي،
نعم يمكن ذلك إذا كنا نعلم أن إشارة الضرب (أو أي إشارة معروفة أخرى) ستكون هناك دائماً.
الفكرة هي في فصل جملة واحدة إلى أجزاء بالاعتماد على حرف أو تشكيلة من الحروف (مثلاً الفراغ) كفاصل، ثم عرض هذه الأجزاء في مربعات مستقلة؛ هذا الفصل هو الذي تقوم به الدالة split حسب ما نحدده من حرف (أو أكثر). فإذا أردنا الاعتماد على إشارة الضرب كفاصل بين الأجزاء، يمكن كتابة التالي:
Dim arrOps() As String arrOps = Split(txtExpression, "*") If UBound(arrOps) > 0 Then txtOp1 = arrOps(0) txtOperator = "x" txtOp2 = arrOps(1) Else txtOp1 = "0" txtOperator = "x" txtOp2 = arrOps(0) End If
أرجو أن تكون الفكرة مفهومة...
أخوك أحمد
شكرا لك اخوي احمد بصرحة العمل معاك متعة
باقي عندي هذا الاستفسار اذا ممكن .
هل يمكن تطوير الكود بحيث عند تحويل txtExpression الى مربع تحرير وسرد بحيث انه يختار الطالب فقط txtOp1 من القائمة بشرط الالتزام بالقائمة و txtOperator و txtOp2 يكتبهم الطالب .
بالمرة اذا وضع الطالب اشارة غير الضرب تظهر له رسالة .