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

Interrupt Loops

بدأه backar-net في 29 أبريل 2008 · 4 رد · 786 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

في مشروع التخرج لدي زر بحث عن قيمة ما أو مجموعة قيم في قاعدة بيانات أو مجلدات ، لكن المشكلة هي أنه وبعد العثور على عدد من القيم يريد المستخدم أن يتوقف عن البحث بشكل نهائي أو مؤقت وإذ التطبيق متجمد بالكامل و ينتظر الانتهاء من الحلقة كلها مهما كانت ضخامة المعلومات التي ينفذها.

فهل من طريقة أخوتي الأحبة أقاطع بها هذا الإجراء ، بزر توقف مثلاً ، سواء كان المحتوى حلقة For أو While أو حتى توابع تعاودية....

#2

اجعل الاجراء الرئيسي للبحث يعمل في Thread منفصل ... راجع الدالة CreateThread في MSDN .

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#3

يمكنك استخدام break اذا وجد ما تريد

#4

بسم الله الرحمن الرحيم

الأمر بسيط

يمكنك إضافة متغير من نوع boolean وليكن مثلا

var Bol: Booelan;

وبعدها تقوم بإنشاء الحلقة بحيث تضيف إلى شروط الخروج منها أن يكون Bol خاطئا.

من أجل السماح للبرنامج بالاستجابة لعملية ما أضف Application.ProcessMessages

أضف زرا للتوقف واجعله يقوم بالعملية Bol := False

ومن أجل التوضيح أكثر إليك المثال التطبيقي التاليExample.rar

تم تعديل هذه المشاركة بواسطة B.M.AbdelAziZ في 30 أبريل 2008 في 09:01

#5

شكرا إخوتي الأحبة وأشكرك جدا أخي محمد على هذه اللفتة الكريمة ويعطيكم ألف عافية..

كنت سأطلب منكم التعليمة التي تكافئ DoEvents في VB وإذا بالرد قد أتاني ProcessMessages سريعا

إلى اللقاء في أسئلة أو-ان استطعت- أجوبة أخرى :P

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