تعلم معي كيف تتعامل مع البرامج الخارجيّة
#31
جزاكم الله خيراً على هذا الدرس , وعلى هذا النقاش الرائع
واستفدت كثيراً منه لأنني كنت أبحث عن موضوع يشرح عمليات إرسال الرسائل بين البرامج المختلفة

لدي سؤال في الكود التالي :

كود :
SendMessage(edi ,WM_GETTEXT ,Max_Path ,LongInt(@Tex[1])) ;
ما وظيفة البارمتر الأخير LongInt(@Tex[1]) ؟

فهمت انه يحول عنوان المحرف الأول من المتغير إلى LongInt , لكن لماذا ؟

أنا جربت الكود على نص مكون من 300 حرف x , وعمل بشكل جيد (طبعا لم يتم نقل جميع حروف x وذلك بسبب Max_Path)
لكن , عند جعل رقم 1 في البارمتر الأخير = 13 , تظهر عبارة VERSION_INFO يليها بقية حروف x
أما عند جعل رقم 1 في البارمتر الأخير = 14 أو أكثر , تظهر عبارة VERSION_INFO فقط

جزاكم الله خيرا
الرد
#32
السلام عليكم ,,

لدي سؤال في الكود التالي :

كود :
Function [color=Red]SendMessage[/color](hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;

hWnd : مقبض النافذة او البروسيس او المنفذ .... الخ (المطلوب إرسال أو إستقبال المعلومات منه).

Msg ز: WindowsMessage نجدها في Messages.pas

lParam& wParam: برامترات خاصة بنوع الـ Message .

ما وظيفة البارمتر الأخير :

بما أن الرسالة WM_GETTEXT

wParam : تحديد طول السلسلة النصية هنا وفرنا MAX_PATH = 260 محرف .

lParam : بما اننا نتعامل مع سلسلة نصية نحتاج فقط لعنوان المحرف رقم 1 .

===========================================
عنوان المحرف الاول في الذاكرة :

كود :
@Text[1]


طول السلسلة (عدد المحارف) :

كود :
@Text[0]


أعطيناه قيمة إفتراضية 260 Byte (كل Char = 1 Byte) .

يعني يجب أن لا يكون طول السلسلة أكثر من 259 محرف + 1 لتسجيل طول السلسلة .

@ تحديد عنوان .... (مؤشر) .

بالتوفيق ,,
الرد
#33
درس دسم
البرنامج مبرمج Borland Delphi 6.0 - 7.0
جاري قراءة الدرس
وأن كان هناك أستفسار سنعود Smile
الرد
#34
السلام عليكم
الهاندل نجلبه بأمر معين دون ان نحتاج الى معرفة رقمه بظبط
أنا مازلني هنا
عند وضع رقم الهاندل يعمل الكود أما عنما أجلبه بالكود فلا يعمل

مع العلم أني أعمل على نافذة برنامج آخر تحوي عدة أزرار و كذلك عدة حقول من نوع
edit
الرد


التنقل السريع :


مستخدمين يتصفحوا هذا الموضوع: 1 ضيف