![]() |
|
تعلم معي كيف تتعامل مع البرامج الخارجيّة - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : دروس دلفي للمبتدئين (https://delphi4arab.net/forum/forumdisplay.php?fid=13) +--- الموضوع : تعلم معي كيف تتعامل مع البرامج الخارجيّة (/showthread.php?tid=710) |
تعلم معي كيف تتعامل مع البرامج الخارجيّة - AL-MOB4RM3G - 27-03-2009 إقتباس :بارك الله فيك ,, وفيكم بارك الله اهي الكريم,, إقتباس :في مايخص StayOnTop بسيط !!! إدا كان البحث بإسم الصنف مثلا و كان هناك واجهتين تحمل نفس إسم الصنف اخي الكريم,, هل لك ان توضح قليلا بارك الله لك ,, لم افهم ماذا تقصد :o ؟ وحب ذا لو بمثال او بسورس بارك الله لك ,, ممكن يكون عن البرنامج Win X فهو فيه خاصّية ال StayOnTop ؟ جزاك الله خيرا ومنكم نستفيد اخي الحبيب تعلم معي كيف تتعامل مع البرامج الخارجيّة - TF6M - 27-03-2009 أولا أخي أشكرك على الدرس الجميل .. بارك الله فيك ,, 1- نفرض أن لدينا واجهتين (1) و (2) لهما نفس إسم الصنف (إسم الأرضية) مثلا : فاتح 2 من الـ NotePad كيف تحدد المستقبل ؟؟ : - عن طريق GroundHand أو بالتدرج التنازلي يعني NotePad1 فوق NotePad2 فإن الرسالة تصل NotePad1 لأنه Top بالنسبة NotePad2 . هدا برنامج بسيط يعطيك قيم الهندل و الصنف وفق وضعية المؤشر على الشاشة . 2- ****ا أن تتطرق أيضا PostMessage/SendMessage مع الفروق بينهما : تعلم معي كيف تتعامل مع البرامج الخارجيّة - Dr.MOT - 28-03-2009 السلام عليكم ,, في سياق الموضوع ,, كيف أستطيع أن أحدد أحد العناصر في البرنامج إذا كان هناك عنصرين يحملان نفس اسم الصنف ,, ؟ فـ مثلا في برنامج Win X يوجد أكثر من TButton ,, إذا كتبنا TButton هكذا فإنه سيذهب للموجود في الأعلي من اليسار !!! ماذا لو أردت الزر الآخر ؟ كيف ذلك ؟ وشكرا تعلم معي كيف تتعامل مع البرامج الخارجيّة - Dr.MOT - 28-03-2009 إقتباس :الأعلي من اليسار !!! كنت أقصد : الأعلى من اليمين ,, تعلم معي كيف تتعامل مع البرامج الخارجيّة - TF6M - 28-03-2009 1- أخي الكريم بما أنا طبيعة المعطيات المرسلة عبارة عن متغيرات من نمط String فقط يجب الإشارة الى : إذا كان s متغير من نمط String و z من نمط ShortString فإن S[0]1 ستحمل عدد محارف السلسلة مثلا 'S:= 'Isaam فإن S[0]1 تساوي 5 (بالهيكس) لكن هذا غير منطقي لأن s سيشغل 4 byte من الداكرة (أصغر قيمة 0000 h و أكبر h ffff) إذا S[0]1 لا يمكن أن يمثلها لدا إستعنا بالدالة SetLength في مثال الأخ ... بارك الله فيه ,, التي ستقوم بإلزام طول محدد (غير ديناميكي للسلسلة) . لكن لو إستعملنا بالمتغير z فلن نحتاج للتعليمة SetLength لأن z يأخد 1 byte ا(0 255) و بالتالي z[0]1 يمثل السلسلة تمثيل دقيق (لأنه مستحيل أن يفوق طول السلسلة 256 محرف و هي قيمة قابلة للعرض في 1 بايت 'FF') . تعلم معي كيف تتعامل مع البرامج الخارجيّة - TF6M - 28-03-2009 2- طبيعة السلال الحرفية أنها تخزن بصفة تسلسلية وفق : 1 - عنوان البايت الاول من السلسلة . 2 - عدد الحروف الممثلة بالهيكس في هدا البايت . 3- في ما يخص وجود أكثر من عنصر له نفس إسم الصنف فقط تدكر أن الدالة FindWindow لها بارامتران : (1,2)FindWindow (1) إسم العنصر بدلالة صنفه . (2) إسم العنصر بدلالة إسمه الفعلي . وعليه قمة بوضع هدا المثال البسيط الدي يوضح الفكرة : ![]() ![]() 4- كيف الأن لنا أن نستغني على SetLength ؟؟؟؟ ... بالتوفيق ,, تعلم معي كيف تتعامل مع البرامج الخارجيّة - Dr.MOT - 29-03-2009 السلام عليكم ,, نعم بارك الله فيك أخي الحبيب ,, كان علي أن أتعب وأبحث قليلا ,, فعذرا على الإزعاج !! إقتباس :4- كيف الأن لنا أن نستغني على SetLength ؟؟؟؟ مممم ,, عن طريق تعريف متغير النص بــ ShortString بدلا من String ! ( كما فهمت )والله اعلم وبارك الله فيكم جميعا أخواني الكرام تعلم معي كيف تتعامل مع البرامج الخارجيّة - TF6M - 29-03-2009 ههههههههههه صحيح لكن هناك تغيير بسيط على الكود Text[0] لأننا سنبدأ منه لأن به حاجتنا (عدد حروف السلسلة) لأنه لو كان من String لألزمنا بكتابة طول السلسة بانفسنا (setlenght) و نبدأ من Text[1] بالتوفيق ,, تعلم معي كيف تتعامل مع البرامج الخارجيّة - AL-MOB4RM3G - 30-03-2009 بارك الله فيك اخي الحبيب tf6mehboul الأمر واضح الآن وضوح الشمس ![]() وبرنامجك الذي صممته... جميل جدا... وأعطاني فكرة جيدة.. بارك الله لكم وأشكرك كثيرا... تعلم معي كيف تتعامل مع البرامج الخارجيّة - mohamed DZ - 20-06-2009 شــــــــــــــــــــــــــــــــــرح ممتــــــــــــــــــــــاز اخي الكريم |