الشبكة العربية لمطوري الألعاب

مبتدئ  HumamChacra مشاركة 1

السلام عليكم،

أود السؤال عن إمكانية حفظ معلومات مكتوبة في dynamic text في الفلاش (نص تفاعلي) و ذلك  في ملف نصي TXT.، و كما هو معلوم يجب وجود third party لحل هذه المشكلة مثل php, javascript, perl,asp,asp.net وآمل أن تكون الاجابة بـ asp.net.
 و كخطوة لاحقة كيفية ادارة قواعد بيانات باستخدام Asp.net و flash كواجهة استخدام.
 

مع جزيل الشكر

خبير مدير وسام البهنسي مشاركة 2

بتاريخ 01 مارس 2009 01:43 ص، قطب HumamChacra حاجبيه بشدة وهو يقول:

أود السؤال عن إمكانية حفظ معلومات مكتوبة في dynamic text في الفلاش (نص تفاعلي) و ذلك  في ملف نصي TXT

سأفترض أنك تعني حفظ الملف النصي على المخدم، وليس على جهاز المستخدم المتصفح. 😒
 
 

وفي 01 مارس 2009 01:43 ص، أعرب HumamChacra عن رأيه بالموقف كالآتي:

و كما هو معلوم يجب وجود third party لحل هذه المشكلة مثل php, javascript, perl,asp,asp.net وآمل أن تكون الاجابة بـ asp.net

الحل متوفر بجميع تقنيات برمجة المخدم المذكورة أعلاه (JavaScript لا تعمل). ببساطة، كل ما على فيلم الفلاش أن يقوم به هو أن يشكل طلب FORM من نوع POST ويضع محتويات الملف النصي وأية معلومات أخرى ضمن معلومات الطلب، ومن ثم إرساله إلى صفحة ASP.NET معينة مجهزة لاستقبال هذا الطلب، وتقوم بقراءة البيانات وكتابتها في ملف نصي ضمن أحد المجلدات في المخدم (انتبه لموضوع صلاحيات الكتابة عند قيامك بهذه العملية). 


في 01 مارس 2009 01:43 ص، قال HumamChacra بهدوء وتؤدة:

كخطوة لاحقة كيفية ادارة قواعد بيانات باستخدام Asp.net و flash كواجهة استخدام

هنا تصبح الأمور مزعجة نوعاً ما. فالبيانات القادمة من قاعدة البيانات يجب أن يتم تلقيمها لفيلم الفلاش كي يتم عرضها والتفاعل معها. المكان الوحيد الممكن أن تحدث به هذه العملية هي ضمن المتصفح. مثلاً، تستطيع صفحة الـ ASP.NET كتابة قيم قاعدة البيانات في tag معينة (قد تكون تعليمات JavaScript مثلاً)، ويتم تلقينها لفيلم الفلاش. الحل الآخر (وعلى الأغلب هذه الميزة متوفرة في فلاش)، هو أن يقوم الفيلم ضمنياً باستدعاء صفحة الـ ASP.NET واستقبال الرد وفك طلاسمه وعرض محتوياته. هذه عملية ليست سهلة، وإن لم تكن مدعومة من الأساس فإن برمجتها ستتكلف الكثير من الوقت. الجميل في هذا الأسلوب هو أن صفحة الفلاش لن تضطر للغياب بين كل طلب وآخر. 
 
بالمقابل فإن SilverLight يدعم هذه العمليات بشكل طبيعي ومتكامل مع ASP.NET (الموضوع لا يتعدى ربط التحكمات في Blend مع جداول قاعدة البيانات).
 
 
أرجو أن تساعدك هذه المعلومات. ☺

وسام البهنسي
مبرمج في إنفيديا وإنفريمز

مبتدئ  HumamChacra مشاركة 3

السلام عليكم
 
لك جزيل الشكر على الاجابة
لكن في الوقت الراهن اود ان تتم العملية على جهازي الشخصي بعيدا عن النت
استغرب من شركة adobe انها لم توفر هكذا تعليمة مثل saveToFile حيث انه كانت موجودة في اصدارات سابقة
اامل ان لا تكون هذه التعليمة تحديا في ال silverlight
 و يبقى السؤال لاحقا هل اود التوافقية مع منتجات adobe بشكل اساسي واختار Adobe flash ام اود التوافقية مع المتصفح و اختار  Silverlight !!
اما بالنسبة لي الان فلازال حفظ الملف النصيlocaly في الflash يؤرقني و يقد مضجعي 🙁  
والسلام عليكم

خبير مدير وسام البهنسي مشاركة 4

وفي 02 مارس 2009 12:33 م، ظهر شبح ابتسامة على وجه HumamChacra وهو يقول:

لكن في الوقت الراهن اود ان تتم العملية على جهازي الشخصي بعيدا عن النت

حسناً هذا يلقي ضوءاً جديداً على المسألة.في هذه الحالة أعتقد أن خيار فصل هذه الميزة من الإصدارات القديمة هو خيار حكيم. فبشكل عام لا يحق لموقع أن يكتب ملفات في أي مكان على جهاز المستخدم. هذا يشمل جافا سكريبت أيضاً. يستثنى من هذا الملفات التي يديرها متصفح الإنترنت (كالملفات المنزلة downloads والكعكات ☺  cookies).

هذه المحدودية ستجدها في كل من فلاش وسيلفر لايت حتماً، لذلك أنصحك بحل المسألة من جذورها. هل تستطيع أن تخبرنا بماهية التطبيق ولماذا يحتاج إلى كتابة هذا الملف النصي على جهاز المستخدم؟

وسام البهنسي
مبرمج في إنفيديا وإنفريمز

خبير مشرف مؤيد مارديني مشاركة 5

في 02 آذار 2009 09:30 م، غمغم وسام البهنسي باستغراب قائلاً:

هذه المحدودية ستجدها في كل من فلاش وسيلفر لايت حتماً

في الحقيقة، يقدم سيلفرلايت لكل تطبيق مساحة محدودة و معزولة تماماً على جهاز المستخدم ليقوم التطبيق بتخزين المعلومات التي يحتاج إليها ليقوم باسترجاعها فيما بعد، و بما أن هذه المساحة معزولة ولا يمكن للمستخدم أن يتعامل مع الملفات المخزنة فيها بشكل مباشر فهي لا تشكل أي تهديد أمني على جهاز المستخدم، لا أعرف إن كان هذا ما يريده السيد همام أو لا.

http://silverlight.net/quickstarts/isolatedstorage.aspx

Moayad Mardini,
MSDN Forums Moderator

مبتدئ  HumamChacra مشاركة 6

السلام عليكم


أما في 02 آذار 2009 07:12 ص، فقد تنهد مؤيد مارديني بارتياح وهو يرد:

في الحقيقة، يقدم سيلفرلايت لكل تطبيق مساحة محدودة و معزولة تماماً على جهاز المستخدم ليقوم التطبيق بتخزين المعلومات التي يحتاج إليها ليقوم باسترجاعها فيما بعد، و بما أن هذه المساحة معزولة ولا يمكن للمستخدم أن يتعامل مع الملفات المخزنة فيها بشكل مباشر فهي لا تشكل أي تهديد أمني على جهاز المستخدم، لا أعرف إن كان هذا ما يريده السيد همام أو لا.

http://silverlight.net/quickstarts/isolatedstorage.aspx

هذه تعطي نظرة تفاؤلية😋 لخطوة لاحقة عند الأنتقال لSilverlight  لكن في الوقت الراهن لا زالت المشكلة تتلخص بان لدي برنامجين أحدهما A  في ال C# و الأخر B في فلاش أما برنامج الفلاش فله واجهة تفاعلية تتفاعل مع المستخدم بحسب خياراته حيث ان الفلاش يقوم  بكتابة خيارات المستخدم في ملف نصي و يقوم برنامج Deamon بمتابعة هذا الملف بحيث اي تغيير فيه يقوم بارساله لبرنامج A وعلى أساس هذه المعلومات يقوم البرنامج A بكتابة معلومات على ملف نصي اخر يستطيع برنامج الفلاش قراءة هذه المعلومات و عرضها في واجهة الأستخدام  التفاعلية
 
و تم الفصل بين البرنامجين للحصول على قوة و سهولة كل برنامج في مجاله
 
والسلام عليكم

مبتدئ  HumamChacra مشاركة 7

السلام عليكم
تمكنت اليوم في ال CS4 من حفظ ملف لكن المشكلة انه يظهر DialogBox 😒  عن نوعية اللاحقة و اسم الملف و ما الى هنالك
 و يبقى السؤال....................
كيف يمكن الكتابة  😠  بشكل مباشر
 
والسلام عليكم

محترف مشرف عبد اللطيف حاجي علي مشاركة 8

اعتقد عزيزي همام أن أي طريقة تستطيع فيها بشكل مباشر أو غير مباشر كتابة ملفات على جهاز المستخدم هي طريقة غير نظامية 🙁 . وحتى لو كانت ناجحة في اصدار معين فإنها في الغالب سيتم تلافيها ومنعها في اصدار آخر 😖 .
لا أستطيع تخيل الفيروسات والبرامج التخريبية التي تستطيع الاستفادة من هكذا "ميزة" أو خطأ حسب وجهة نظرك، يمكنني (كمخرب) مثلاً كتابة ملف يشغل برنامجي في الـ startup للمستخدم. أفضل ما تستطيع عمله هو أنت تكتب cookie للمستخدم.

أما بالنسبة لمشروعك فيبدو منه أنه لا يحتاج إلى عالاقة local/remote ويبدو أن المستخدم سيحتاج إلى تحميل برنامجك بشكل محلي. مما يعني أنك فقد الميزتين الأساسيتين للـ Flash. فلا أرى داعياً لاستخدامه بدلاً من برنامج C# مثلاً. يمكنك حتى الحصول على نتائج جميلة مثل Flash باستخدام  ☺ WPF.

أرجو أن يكون جوابي شافياً (وصحيحاً) 😄

عبد اللطيف حاجي علي
مبرمج
In|Framez

خبير مدير وسام البهنسي مشاركة 9

في 03 مارس 2009 07:01 ص، عقد عبد اللطيف حاجي علي حاجبيه بتفكير وقال:

فلا أرى داعياً لاستخدام بدلاً من برنامج C# مثلاً. يمكنك حتى الحصول على نتائج جميلة مثل Flash باستخدام  ☺ WPF.

نعم WPF هو الحل الأنظف في هذه الحالة. فهو كما ذكرت يقدم إمكانيات رسومية وتحريك ومؤثرات ونصوص تماثل تلك في فلاش، مع فارق أنه يمكنك برمجتها  من خلال #C بشكل طبيعي، وبالتالي تستطيع ربطها مع قواعد البيانات وأي شيء آخر. وطالما أن البرنامج الناتج سيكون EXE محلي، فإنه حر في الكتابة والقراءة من حيث يشاء، إلا أنك لن تحتاج إلى ملف وسيط عندما يكون التخاطب المباشر ممكناً بين وحدة العرض وبرنامج الـ #C.
 
الخيار الآخر المتوفر لفلاش، هو تشغيل فيلم الـ SWF في برنامج #C به WebBrowser Control. حيث يستطيع كل من فلاش والبرنامج التخاطب مباشرة ونداء الإجراءات بين بعضهما البعض عن طريق الجافا سكريبت. ضمن هذا الحل أيضاً أنت لست بحاجة لكتابة النتائج إلى ملف نصي مؤقت، وإنما تستطيع تبادل المعلومات مباشرة وكأنك في بيتك P:
 
http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.aspx
 
أعتقد أنه لديك الآن خياران جيدان لحل المشكلة 😄

وسام البهنسي
مبرمج في إنفيديا وإنفريمز

مبتدئ  HumamChacra مشاركة 10

وفي 03 آذار 2009 12:18 ص، قال وسام البهنسي متحمساً:

الخيار الآخر المتوفر لفلاش، هو تشغيل فيلم الـ SWF في برنامج #C به WebBrowser Control. حيث يستطيع كل من فلاش والبرنامج التخاطب مباشرة ونداء الإجراءات بين بعضهما البعض عن طريق الجافا سكريبت
لقد عملت بالحل الأخر و ما حصلت عليه هو في الملف المرفق New
في الحقيقة لم استطع تشغيل ملف الفلاش داخل الصفحة webpage
حبذا لو امكن تعديله ليصبح قادرا على تشغيل الملف كما ذكرت
 
 
و من طرف اخر وجدت في النت حل عن طريق اضفة Component يدعى Macromedia shockwave لكن وكأن هذه المشكلة يجب ان لا تحل حيث يظهر لي عند وضع هذا ال component 🙁



 يوجد ايضا ملف مضغوط مرفقexternalinterfacesample.zip يوضح امكانية التفاعل بين فلاش و سي شارب  لكن المشكلة انه يظهر خطأ عندال compile 🙁
 
 
مع جزيل الشكر للردود السريعة التي أحصل عليه اما بالنسبة للWPF فهو بالتأكيد الخطوة التالية لكن يجب على الأقل ان أقوم بتسليم المشروع الذي شارفت على الأنتهاء منه في الأيام القليلة القادمة 
وكما يقال انشالله الكن حلوان مرتب P:
والسلام عليكم