الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف اعرف قيمة المكتوب في التكست

مغلق
بدأه yasser_abu 2020 في 18 يناير 2008 · 11 رد · 1,523 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

سؤالي هو كيف اعرف قيمة تركيبة رقمية مكتوبة في تكست بمعنى اذا كان المكتوب9+3-8-6

كيف يمكن ان احصل على قيمته

شكرا مقدما

قولو لا اله الا الله تفلحو

#2

علي فكرة ، هذا السؤال تم طرحة من قبل ،

رجاء البحث جيداً

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#3

بحثت والله يا أخي ولم يجدي

قولو لا اله الا الله تفلحو

#4

للتنبيه فقط كل الأمثلة المذكورة منقولة من منتديات أجنبية و لم يسبق لي تجربتها لذا وجب التنبيه

هناك عدة طرق أهمها :

1 - استعمال ScriptControl أضف Refferrence لـ Microsoft ScriptControl 1.0 و مثاله :

Option Explicit
Private Sub Form_Load()
Dim sc As ScriptControl
Set sc = New ScriptControl
sc.Language = "VBScript"
MsgBox "(4 * 9) + 4 = " & sc.Eval("(4 * 9) + 4")
Set sc = Nothing
End Sub

2 - إستعمال الـ EbExecuteLine الخاصة بالفجوال بيسك والتي تمكنك من تنفيذ أي كود بما فيها تقويم العبارات الرقمية و لكن عيبها أنها غير موثقة و لا يمكن استعمالها على جهاز لا يوجد به الفجوال بيسك . مثاله (الحذر مطلوب)

Option Explicit
Public Number1 As Long
Public Number2 As Long
Private Declare Function EbExecuteLine Lib "vba6.dll"(ByVal pStringToExec As Long, ByVal Foo1 As Long,ByVal Foo2 As Long,ByVal fCheckOnly As Long) As Long
Public Function Execute(CodeLine As String, Optional CheckOnly As Boolean = False)
Execute = (EbExecuteLine(StrPtr(CodeLine), 0&, 0&, Abs(CheckOnly)) = 0)
End Function
Public Sub Main()
MsgBox "Ceci est un test"
Call Execute("MsgBox ""Ceci est un test""")
Number1 = 1024
Call Execute("Number" & 1 & " = 1024")
Number2 = Number1 + 1024
Call Execute("Number" & 2 & " = Number" & 1 & " + 1024")
MsgBox Number1 + Number2
End Sub

3 - إستعمال محرك قواعد البيانات Jet :

بعد إضافة Refference لـ Microsoft DAO 3.51 قم بإنشاء ملف وضع فيه القيم المراد تقويمها مثال

"Pi";"e"

3,1415926535897932384626433832795;2,71828182845905

ثم إستعمال Select عادي كمال يلي

Public Function MyEval(expression As String) As Variant
Dim db As Database
Dim rs As Recordset
Set db = OpenDatabase(App.Path, False, True, "Text;")
Set rs = db.OpenRecordset("SELECT " & expression & " FROM data.dat;")
MyEval = rs(0)
rs.Close<BR> db.Close
Set rs = Nothing
Set db = Nothing
End Function

و لاستدعاء الدالة يمكن أن تستعمل ما يلي

Private Sub Command1_Click()
Dim result As Variant
result = MyEval(Text1.Text)
MsgBox result
End Sub

4- إستعمال مكتبة جاهزة راجع الروابط التالية

http://www.topshareware.com/Room76-Express...wnload-5149.htm

http://www.programurl.com/axeval-expressio...vex-control.htm

http://www.programurl.com/software/expression-parser.htm

5 - الحل البارع و المفيد أنشأ دالتك الخاصة إبحث في الـ msdn لأني متأكد من و جود مثال ممتاز بالفجوال بيسك و لكني لا أذكر مكانه

تم تعديل هذه المشاركة بواسطة ytreza في 19 يناير 2008 في 13:34

#5

جزاك الله خيرا أخي

الحل الأول جميل جدا وقد استخدمته لحساب sin و cos و tan و log وقام بحسابهم بالفعل

وأما بالنسبة للحل الخامس فقد كنت أنوي بالفعل عمل ذلك لكن تراجعت لأني اكتشفت أن الموضوع طويل ويحتاج إلى وقت وليس عندي هذا الوقت وخاصة إذا أخذنا في الاعتبار الدوال المثلثية واللوغاريتمات

من أقوال الأئمة

الإمام علي بن أبي طالب -رضي الله عنه-: "الناس ثلاثة : فعالم رباني ، ومتعلم على سبيل النجاة ، وهمج رِعاع غوغاء أتباع كل ناعق ، يميلون مع كل ريح ، لم يستضيئوا بنور العلم ، ولم يلجئوا إلى ركن وثيق".

الإمام مالك -رحمه الله- : " لن يصلح آخر هذه الأمة إلا بما أصلح به أولها ".

الإمام الأوزاعي -رحمه الله- : " عليك بآثار من سلف وإن رفضك الناس وإياك وآراء الرجال وإن زخرفوه لك بالقول ".

الإمام الفضيل بن عياض -رحمه الله- : " عليك بطرق الهدى و لا يضرك قلة السالكين و إياك و طرق الضلالة ولا يغرك كثرة الهالكين ".

علامة الزمان الإمام الألباني -رحمه الله- : " إن الخلاص إلى أيدي هؤلاء الشباب يتمثل في أمرين لا ثالث لهما ؛ التصفية والتربية ".

وكل خير في اتباع من سلف وكل شر في ابتداع من خلف

#6

شكرا يا جماعة على التفاعل

قولو لا اله الا الله تفلحو

#7
Private Sub Command1_Click()
Dim T1, T2 As String
	T1 = T1
	T2 = T2

		For x = 1 To Len(T1)
			If Mid(T1, x, 1) = "+" Then
				T2 = Val(Mid(T1, x + 1, 1)) + Val(Mid(T1, x - 1, 1))
			ElseIf Mid(T1, x, 1) = "-" Then
				T2 = Val(Mid(T1, x - 1, 1)) - Val(Mid(T1, x + 1, 1))
			End If
		Next x
End Sub

هذا ما قدرت عليه أخي , وأرجو ممن لديه خبرة , ذكر كيف أستطيع إعادة الدوارة من الاول مع زيادة قيمة x

بحيث تستطيع هذه الدوارة العمل مع عدة أرقام , فهي حاليا تتوقف عند : "10+5" مثلا , أو "1+2+6" فقط تتعامل مع رقمين مكونين من خانة واحدة مثل "6+4"

أرجو الرد

اقتباس
If A is success in life, then A equals x plus y plus z. Work is x; y is play; and z is keeping your mouth shut

Albert Einstein

مدخل إلى برمجة وتصميم الألعاب : كيف أبدأ ؟

#8

بس في مشكلة لما حاولت استخدام الطريقة الاولى ظهرت رسالة هى

invalid use or new keyword

قولو لا اله الا الله تفلحو

#9

كنت قد وضعت كود لذلك في هذا الموضوع (تحويل نص إلى رقم)

وأعتقد أنه محتاج منك بعض التعديل

/index.ph...=129879&hl=

لكن أفكار الأخ ytreza جميلة جدااا

تم تعديل هذه المشاركة بواسطة Pharaonic_Guy في 20 يناير 2008 في 01:14

#10
yasser_abu 2020 كتب:
بس في مشكلة لما حاولت استخدام الطريقة الاولى ظهرت رسالة هى

invalid use or new keyword

تأكد من اضافة Microsoft Script Control 1.0 من Project => References

من أقوال الأئمة

الإمام علي بن أبي طالب -رضي الله عنه-: "الناس ثلاثة : فعالم رباني ، ومتعلم على سبيل النجاة ، وهمج رِعاع غوغاء أتباع كل ناعق ، يميلون مع كل ريح ، لم يستضيئوا بنور العلم ، ولم يلجئوا إلى ركن وثيق".

الإمام مالك -رحمه الله- : " لن يصلح آخر هذه الأمة إلا بما أصلح به أولها ".

الإمام الأوزاعي -رحمه الله- : " عليك بآثار من سلف وإن رفضك الناس وإياك وآراء الرجال وإن زخرفوه لك بالقول ".

الإمام الفضيل بن عياض -رحمه الله- : " عليك بطرق الهدى و لا يضرك قلة السالكين و إياك و طرق الضلالة ولا يغرك كثرة الهالكين ".

علامة الزمان الإمام الألباني -رحمه الله- : " إن الخلاص إلى أيدي هؤلاء الشباب يتمثل في أمرين لا ثالث لهما ؛ التصفية والتربية ".

وكل خير في اتباع من سلف وكل شر في ابتداع من خلف

#12

و هذا مصدر مترجم بالفجوال بيسك؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ Compiler

Linley.zip

هذا الموضوع مغلق.

مواضيع مشابهة