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

سؤال عن ال boolean

مغلق
بدأه hossam_fadel في 10 يوليو 2006 · 4 رد · 668 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

أنا عندي تعبير منطقي Boolean معقد أريد أن أعرف نتيجته النهائيةإما ب True أو False هناك دالة تستخدم لهذا الغرض أسمها CBool لكن هذه الدالة يجب أن يدخل لها تعبير منطقي مكتوب كتابتة وأنا عندي التعبير المنطقي مخزن في منغير نصي جربت كثيرا أن أمرر للدالة التعبير المنطقي الموجود داخل المتغير النصي لكن لم تنجح الفكرة في أن أحصل على نتيجة وكمثال لتقريب الفكرة:

dim myBool as string

dim MyResBool as boolean

myBool="((true and true) or (false or true) and true)"

MyResBool =cbool(myBool)

فهذ الكود السابق يصدر خطأ برمجي

وأنا أحتاج هذا الموضوع لأني عندي عدد ضخم جدا من الشروط مخزنة في ملف نصي وأريد أختبارها داخل loop وقدأنشأت Functionخاص لكن بطئ جدا عند أختبار عدد ضخم من الشروط وخاصة لو الشرط معقد جدا فهل هناك طريقة معينة لإستفادة من الأمر المدمج في اللغة cbool لأنه سريع جدا بدل من أستخدام ال function التي برمجتها.

تم تعديل هذه المشاركة بواسطة hossam_fadel في 10 يوليو 2006 في 14:26

من قال سبحان الله وبحمده غرثت له نخلة بالجنة

mr.hossamf@gmail.com

إضغط هنا لزيارة موقع دائرة المعارف القرآ نية

#2

لا أعرف شئ هكذا ولا أعتقد أن يوجد شئ هكذا

ولكن يمكنك عمل دالة تقوم بذلك

تم تعديل هذه المشاركة بواسطة ياسر جمال في 10 يوليو 2006 في 18:30

ادعو لي بالهداية فأنا أحتاج هذا الدعاء بشدة

منتدى تصميم التطبيقات (و يشمل نظم التشغيل) و تعريبها. <<<<<<

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

بعض ردودي ومشاراكاتي في المنتدى:

1- هل تريد التحكم بجهازك كأنك محترف, ( إذاً تعال معي وتعلم الرجستري Registry ).

...|-->> فكرة عامة عن الرجستري وكيفية التعامل معه ( رقم المشاركة 1 - 4 )

...|-->> كتابة ملف رجستري

...|-->> تشغيل الرجستري دون رسائل( في الخفاء )

...|-->> بعض التحكمات التي يقدمها الرجستري

...|-->>=>> إيقاف عمل Ctrl+Alt+delete ( Task Manager )

...|-->>=>> إخفاء قائمة ملف file وبذلك لن ترى قائمة file

...|........... في مشاركة أخرى >> حتى ولو قمت بالضغط على أي ملف أو مجلد بزر الفأرة الأيمن

...|-->>=>> لإيقاف وإخفاء عمل البحث Find من على الجهاز

...|-->> بعض المعلومات التي يقدمها الرجستري

...|-->>=>> معرفة الأجهزة المتصلة بالـIDE ورقم السريال الخاص لكل جهاز

...|-->> من أحسن مواقع الرجستري

...|-->>=>> http://technet2.microsoft.com/WindowsServe...3.mspx?mfr=true

منتدى مبرمجي لغة Microsoft Visual Basic <<<<<<

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

برامج من صنعي:

1- لعبة (من صنعي ), جربها وقول رأيك

2- ساعة حائط, من صنعي

بعض ردودي ومشاراكاتي في المنتدى:

1- طريقتان لفتح ملف معين وليكن بامتداد SWF ببرنامجك [ الطريقة الأولى - الطرقة الثانية ]

2- هل تريد ألا يتحكم أحد في الجهاز غيرك؟

3- كود ايقاف عمل زر الاغلاق x بزاوية الفورم

4- عرض صورة متحركة بالكود , أي بدون استخدام أدوات

5- اجعل الـComboBox [ تنسدل - لما تكتب فيا تنسدل وتظهر الاسماء التى تبدأ بالحرف اللي كتبته فى الكومبو ]

6- إنشاء مكون أثناء تشغيل البرنامج ثم إدخاله تحت نطاق مكون آخر مثلاً إدخاله داخل نطاق microsoft tabbed dialog control

أسئلتي في المنتدى التي تم الإجابة عليها:

1- كيف يمكن قراءة الإشارات الصوتية الخارجة من الميكروفون أو السماعات ( لرسمها أو العبث بها ) ؟ أرجو المزيد من الردود ...

2- إيقاف عمل الرجستري

أسئلتي في المنتدى التي لم يتم الإجابة عليها:

اقتباس
ردك يعطي حافذ للإجابة على أسئلتك
#3

المشكلة ستكون في تنسيق التعبير Expression الممرر للدالة Cbool حيث لابد وأن يكون في صورة تسمح بتحويله لأعداد حتي تستطيع الدالة التعامل معه.

فمثلا لا تستطيع أن تعود الدالة بالقيمة True نتيجة للتعبير التالي :

MsgBox CBool("True And True")

فما ستعود به هو رسالة خطأ التي تظهر لديك..

ولصياغة التعبير فلابد وأن يكون كالتالي مثلا :

MsgBox CBool("1" And "1")

حيث يمكن للدالة فهم أن القيمة 1 هي True وبالتالي تحويل التعبير ككل..

ولتحويل التعبير الذي وضعته إلي تلك الصيغة :

 Dim mybool As Boolean
'mybool = "((true and true) or (false or true) and true)"
 mybool = (("1" And "1") Or ("0" Or "1") And "1")
 MsgBox mybool

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

هذا والله أعلم ...

تم تعديل هذه المشاركة بواسطة Pharaonic_Guy في 11 يوليو 2006 في 07:29

#4

السلام عليكم

وشكراً على الرد ............

لكن أخي Pharaonic_Guy الطريقة التي كتبتها لا يمكن كتابتها أثناء الـ run Time

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

ولذلك الجملة ستكون كذلك:

mybool = "(("1" And "1") Or ("0" Or "1") And "1")"

والأخ ياسر جمال ،، أنا أعتقدت مثلما تعتقد أنت ولذلك برمجت Function خاصة لذلك وهي تعمل على خير وجه لكن أعتقد أنها بطيئة في عملها مقارنة بالأمر Cbool لذلك جرى طرح السؤال... وشكرا لكم جميعاً

تم تعديل هذه المشاركة بواسطة hossam_fadel في 11 يوليو 2006 في 10:26

من قال سبحان الله وبحمده غرثت له نخلة بالجنة

mr.hossamf@gmail.com

إضغط هنا لزيارة موقع دائرة المعارف القرآ نية

#5

أعلم والله أن هذه هي المشكلة ..

اقتباس
المشكلة ستكون في تنسيق التعبير Expression الممرر للدالة Cbool

الموضوع يبدو كفلترة وما دام جمل شروط البحث يدخلها المستخدم ..تستطيع تصميم معالج لتلك الشروط والتحكم بها..

واستخدام الدالة iif في إرجاع قيمة boolean نتيجة للشرط أثناء البحث..

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

تم تعديل هذه المشاركة بواسطة Pharaonic_Guy في 11 يوليو 2006 في 21:29

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

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