السلام عليكم
درس في كيفية مخاطبة Flash MX 2004 مع vb.net والعكس
الطريقة كالتالي
أولاً نقوم بإدراج Shockwave Flash Objects وذلك عن طريق إختيار الـ ToolBox ثم بالزر الإيمن
نختار Add / Remove Items ثم في الـ Com Tab نختار الـ Shockwave Flash Objects
بعد عملية الإدراج لهذا الـ Control سيكون بمثابة الحاوية لفلم Flash MX 2004
وسيتم تحديد الفلم عن طريق الخاصية Movie بحيث نسند لها مسار الفلم
نستطيع قراءة الرسائل الموجهة من Flash MX 2004 إلى VB.NET عن طريق الحدث FSCommand
بحيث يملك هذا الحدث ممرر باسم e كـ FSCommandEvent
قبل أن أتكلم عن الخاصية e دعنا نتعرف على الامر fsCommand في Flash MX 2004
التركيبة النصية لهذا الامر
fscommand("command", "parameters")ومثال على ذلك يكون بهذا الشكل
fscommand("SendMessage", "arabTeam");الان الكلمة SendMessage هو اسم المتغير أو قيمة نصية بمثابة المتغير الذي يحتوي على القيمة arabTeam
و arabTeam هو في الحقيقة ممرر parameter لإحتواء القيمة المراد إرسالها لـ (مثلاً VB.NET أو اي برنامج أخر)
نستطيع عن طريق الخاصية e معرفة المتغير مع قيمته
بحيث تملك هذا الخاصية متغير باسم command سيكون بهذا الشكل
If e.command = "SendMessage" Then lblMessage.Text = e.args.ToString() End If
تلاحظ الشرط إذا كان اسم الـ command يساوي اسم المتغير
فإن الممرر سيكون في الـ e.args سيكون فيه في هذا المثال القيمة arabTeam
هذا بالنسبة لإرسال القيمة من Flash MX 2004 إلى VB.NET
و العكس اي من VB.NET إلى Flash MX 2004 سيكون كالتالي
أولاً في Flash MX 2004 نستخدم السلوك Watch Method
يحتوي على ثلاثة ممررات ( الثالث إختياري لذلك قمنا بحذفه نسبةً لهذا المشروع)
الأول هو اسم العنصر المراد مراقبته
الثاني هو اسم الوظيفة التي ستنفذ بموجب ذلك (وظيفة فيها نصوص برمجية تعمل عندما يلتقط السلوك watch اسم العنصر في
الممرر الأول , شاهد هذا المثال
_root.watch("Event", values);كما تلاحظ الـ root هو المشهد الرئيسي في Flash و يعرف بـ stage ثم السلوك watch وبه اسم العنصر وهو Event و values
هو اسم الوظيفة الوظيفة مكتوبة بهذا الشكل
function values(prop, null, TagValue) {
whichButton(TagValue);
}الان prop الممرر الأول سيحوي القيمة Event الممرر الثاني يعرف ب oldvalue لا نحتاجه ضمن مشروعنا
لذلك اسندنا لهُ القيمة null و الثالث هو TagValue يحوي القيمة الجديدة و التي ستكون مرسلة من VB.NET
ثم باقي النصوص whichButton هذه ايضاً وظيفة ترسل قيم لشغيل الصوت في فلاش أو إيقافه أوإعادة الصوت
كما هو في الملف المرفق .
الان لإرسال قيمة من VB.NET إلى Flash MX 2004 سيكون بهذا الشكل
fs.SetVariable("Event", 1)حيث fs هو اسم العنصر الذي أدرجناه في النموذج الذي يحوي ملف أو فلم Flash
ثم إستخدمنا الإجراء SetVariable ثم كتبنا اسم العنصر Event و أرسلنا له القيمة 1
هذه القيمة ستكون في الممرر TagValue
هذا والله أعلى و أعلم