03-04-19, 02:46 PM
الغلط الاول كان العنوان: مساعده
وهذا مخالف مخالفه صريحه
الغلط الثاني بعد تعديل العنوان: مساعدة بمسألة رياضيه
قل لا يكون مخالف ولكن ليس عنوان واضح لمضمون الموضوع
العنوان الصحيح: حل مساله رياضيه من خلال مربع نص
وهذا الحواب:
عليك بالخطوات التاليه:
الخطوه الاولى تقرا مربع النص وتحول احرفه الى احرف كبيره ToUpper مثل
Dim txt = TextBox1.Text.ToUpper
الخطوه الثانيه تستخرج الاحرف من المعادله باستخدم regex مثل
Dim reg = Regex.Matches(txt, "[A-Z]")
الخطوه الثالثه تقرا نتائج ال reg باستخدم linq مع distinct لاستبعاد المكرر وتجعلها في مصفوفه مثل
Dim arr = (From x In reg Select x.Value Distinct).ToArray
الخطوه الرابعه تعمل حلقه for على المصفوفه السابقه لتطلب من المستخدم ان يدخل قيمه لكل مجهول مثل
For Each i In arr
Dim vr = Val(InputBox("Variable: " & i, "Input", "0"))
txt = txt.Replace(i, vr)
Next
الخطوه الاخيره نستخدم ScriptControl لحساب المعادله مثل
Dim scr As Object = CreateObject("ScriptControl")
scr.Language = "VBSCRIPT"
Dim ret = scr.Eval(txt)
الان لديك النتيجه في المتغير ret يمكنك اظهار محتواه في رساله مثل
MsgBox(ret)
ولتلافي خطا مدخلات المعادله نضع جميع الخطوات السابقه في try مع اظهار وصف الخطا في رساله مثل
Try
جميع الخطوات السابقه
Catch ex As Exception
MsgBox(ex.Message)
End Try
وهذا مخالف مخالفه صريحه
الغلط الثاني بعد تعديل العنوان: مساعدة بمسألة رياضيه
قل لا يكون مخالف ولكن ليس عنوان واضح لمضمون الموضوع
العنوان الصحيح: حل مساله رياضيه من خلال مربع نص
وهذا الحواب:
عليك بالخطوات التاليه:
الخطوه الاولى تقرا مربع النص وتحول احرفه الى احرف كبيره ToUpper مثل
Dim txt = TextBox1.Text.ToUpper
الخطوه الثانيه تستخرج الاحرف من المعادله باستخدم regex مثل
Dim reg = Regex.Matches(txt, "[A-Z]")
الخطوه الثالثه تقرا نتائج ال reg باستخدم linq مع distinct لاستبعاد المكرر وتجعلها في مصفوفه مثل
Dim arr = (From x In reg Select x.Value Distinct).ToArray
الخطوه الرابعه تعمل حلقه for على المصفوفه السابقه لتطلب من المستخدم ان يدخل قيمه لكل مجهول مثل
For Each i In arr
Dim vr = Val(InputBox("Variable: " & i, "Input", "0"))
txt = txt.Replace(i, vr)
Next
الخطوه الاخيره نستخدم ScriptControl لحساب المعادله مثل
Dim scr As Object = CreateObject("ScriptControl")
scr.Language = "VBSCRIPT"
Dim ret = scr.Eval(txt)
الان لديك النتيجه في المتغير ret يمكنك اظهار محتواه في رساله مثل
MsgBox(ret)
ولتلافي خطا مدخلات المعادله نضع جميع الخطوات السابقه في try مع اظهار وصف الخطا في رساله مثل
Try
جميع الخطوات السابقه
Catch ex As Exception
MsgBox(ex.Message)
End Try
