delphi4arab منتديات دلفي للعرب

نسخة كاملة : تعلم معي كيف تتعامل مع البرامج الخارجيّة
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2 3 4
جزاكم الله خيراً على هذا الدرس , وعلى هذا النقاش الرائع
واستفدت كثيراً منه لأنني كنت أبحث عن موضوع يشرح عمليات إرسال الرسائل بين البرامج المختلفة

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

كود :
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 فقط

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

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

كود :
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 لتسجيل طول السلسلة .

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

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

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