delphi4arab منتديات دلفي للعرب
Dynamic Data Exchange بين التطبيقات في دلفي (عرض فلاش) - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي التقنية (https://delphi4arab.net/forum/forumdisplay.php?fid=6)
+--- قسم : دلفي والتعامل مع النظام و الذاكرة (https://delphi4arab.net/forum/forumdisplay.php?fid=20)
+--- الموضوع : Dynamic Data Exchange بين التطبيقات في دلفي (عرض فلاش) (/showthread.php?tid=2240)



Dynamic Data Exchange بين التطبيقات في دلفي (عرض فلاش) - kachwahed - 29-07-2010

السلام عليكم ورحمة الله

DDE اختصار Dynamic Data Exchange بديل آخر عن COM و Automation وتقنية للحوار بين تطبيقات الخادم (Server Application) وفق المنهج عميل/خادم

معظم البرامج الشهيرة التي نستخدمها يوميا (المتصفحات، البرامج المكتبية...) تتوفر على خدمات DDE تسمح بالاتصال معها إرسالا واستقبالا للبيانات: IE، MsOffice، Explorer...

يوفر دلفي مجموعة من المكونات (المنسية!) للتعامل مع DDE موجودة في التبويب System
كود :
TDdeClientConv;TDdeClientItem;TDdeServerItem

نأخذ مثالين لتوضيح الفكرة
1- المثال الأول: مثال بسيط للاستعلام عن الصفحة المفتوحة في IE
- ضع مكون DdeClientConv1 (العميل) على النموذج...
- افتح المتصفح IE على أي صفحة (ضروري لتشغيل الخدمة)
- الآن اضبط الخصائص:
-- DDeService على IExplore (اسم الخادم)
-- وDdeTopic على WWW_GetWindowInfo (الموضوع الذي تود الاستعلام عنه)
-- وServiceApplication على IExplore.exe (اسم التطبيق -اختياري-)
-- اترك الخيار ConnectMode على ddeAutomatic ...
- ضع زرا واكتب عند الضغط عليه:
PHP كود :
Caption := DdeClientConv1.RequestData('0xFFFFFFFF') 
نفذ التطبيق ولاحظ عنوان النموذج

يمكن استخدام مكون TDdeClientItem وربطه مع TDdeClientConv من DdeConv ثم نستقبل العائدات من TDdeClientItem بمثل هذا:
PHP كود :
Caption :=  DdeClientItem1.DdeConv.RequestData('0xFFFFFFFF'); 

إذا لم ينجح معك ذلك أعد القيام به بشكل ديناميكي مستخدما التابع SetLink هكذا:
PHP كود :
with DdeClientConv1 do
  
begin
    SetLink
('IExplore','WWW_GetWindowInfo');
    
Caption:= RequestData('0xFFFFFFFF');
  
end; 

2-المثال الثاني فتح متصفح Windows للبحث عن الملفات في مسار معين:
- ضع نفس المكون واضبط الخادم هذه المرة:
-- DDeService على Folders (خادم لمتصفح Windows)
-- وDdeTopic على AppProperties
-- وServiceApplication على explorer.exe
- هذه المرة نقوم بتنفيذ Macro مباشرة بهذا الشكل:
PHP كود :
DdeClientConv1.ExecuteMacro('[FindFolder(, c:\windows\system32)]', False); 
للبحث عن الملفات في المسار: c:\windows\system32

هذا مثال بسيط لتوضيح فكرة DDE ولك أن تبحث كيفية الاتصال بالبرامج الأخرى Smile

ملاحظة:
تنصح Microsoft باستخدام Automation بدلا عن DDE إن أمكن للاتصال بالبرامج Word, Excel ... لما تقدمة من دعم أفضل وخدمات إضافية.
-----

تم إعداد مثال مرفق السورس.
وعرض فلاش لطريقة إعداد تطبيقين بدلفي وربطها بتقنية DDE. الرابط:
http://www.mediafire.com/?vgqr84elldqsrej

بالتوفيق.



Dynamic Data Exchange بين التطبيقات في دلفي (عرض فلاش) - shagrouni - 29-07-2010

السلام عليكم

والله زمان ..

فعلا نسينا هذه التقنية. (على حسب علمي) هذه أولى تقنيات تبادل البيانات بين التطبيقات قدمتها ميكروسفت في ويندوز. قبل أن تضيع في زحام OLE ثم COM وتوابعها.

DDE من التقنيات البسيطة و سهلة الاستخدام، ياليت أخي kachwahed أو أحد الأخوة يقدم لنا أمثلة عن كيفية تبادل البيانات بين تطبيقين مبرمجين بدلفي.


شكرا على المشاركة الجميلة


Dynamic Data Exchange بين التطبيقات في دلفي (عرض فلاش) - kachwahed - 31-07-2010

إقتباس :ياليت أخي kachwahed أو أحد الأخوة يقدم لنا أمثلة عن كيفية تبادل البيانات بين تطبيقين مبرمجين بدلفي.
تحت أمرك Smile
تم إضافة شرح فلاش وسورس مثال لربط تطبيقين بدلفي.



Dynamic Data Exchange بين التطبيقات في دلفي (عرض فلاش) - shagrouni - 31-07-2010

السلام عليكم

شكرا لك أخي kachwahed . على الاستجابة السوبر سريعة

شرح فلاشي خفيف لكنه: To the point

الكود أنيق و احترافي .. اشتغل معي بدلفي 6

يبقى الآن، ... الدعاء
اللهم وفقه لما تحبه وترضاه، وارزقه من الطيبات واجعل له في كل خطوة سعة ورحمة.

------
خاطر: ماهي الأفكار العملية التي يمكن لنا تنفيذها في برامجنا بالاستفادة من هذه التقنية؟


Dynamic Data Exchange بين التطبيقات في دلفي (عرض فلاش) - kachwahed - 31-07-2010

إقتباس :اللهم وفقه لما تحبه وترضاه، وارزقه من الطيبات واجعل له في كل خطوة سعة ورحمة.
اللهم وفقنا لما تحبه وترضاه، وارزقنا من الطيبات واجعل لنا في كل خطوة سعة ورحمة... آمين

إقتباس :خاطر: ماهي الأفكار العملية التي يمكن لنا تنفيذها في برامجنا بالاستفادة من هذه التقنية؟
تصدق؟ هناك من يستخدمه لقواعد البيانات bde خاصة Smile



Dynamic Data Exchange بين التطبيقات في دلفي (عرض فلاش) - amr-zaki - 01-08-2010

رائع جداً أخي كاش واحد ,,,
الله يوفقك لكل ما يحبه و يرضاه