أهلا بكم فى منتدى مصر رئيسية موقع مصر | اجعل جميع المنتديات مقروءة
موقع الأفلام العربي
منتدى مصر



المنتدى الحالى: الدروس المكتوبة و المقالات ,الموضوع الحالي: شير اوبجكت -فلاش ام اكس - Share object - actionscript , المنتدى الرئيسي: Actionscript 2, نبذة من الموضوع: مستوى الصعوبة: متوسطة متطلبات سوفت وير :فلاش ام اكس مايغطيه الدرس :كيفية استخدام الشير اوبجكت متطلبات يلزم معرفتها قبل الدرس:Variables, ...

لنك مختصر للموضوع: http://forum.egypt.com/arforum/showthread.php?t=10875


رد

شير اوبجكت -فلاش ام اكس - Share object - actionscript

حفظ الرابط أدوات الموضوع طرق مشاهدة الموضوع
 
 
 
الصورة الرمزية SABRY

رد مع اقتباس
 
تاريخ التسجيل: May 2007
العمر: 29
المشاركات: 20,141
15-12-2007
 
مستوى الصعوبة: متوسطة
متطلبات سوفت وير :فلاش ام اكس
مايغطيه الدرس :كيفية استخدام الشير اوبجكت
متطلبات يلزم معرفتها قبل الدرس:Variables, Objects, Methods
الدرس
ميزة اخرى رائعة من مميزات فلاش ام اكس SharedObject صممت هذه الميزة لتسمح لك بحقظ معلومات على الهارد درايف لليوزر و يمكنك القول انها تشبه الكوكيز الى حد ما على انها افضل و اذا لم تستطع التقكير فيما يمكنك الاستفاده منه بحفظ بعض المعلومات على هارد اليوزر فأسمح لى بأنك لم تفكر كفايه و دهنى اوضح لك بعض النقاط قبأمكانك مثلا بأستخدام الشير اوبجكت ان تعرف اليوزر انه تم زياره خذخ الصفحة من قبل فمثلا انه قد زار موقعى و قمت انا بعمل انترو فلو اليوز قد زارها قبل ذلك استطيع بالاعتماد على هذه الخاصيه ان اجعله يتخطى المقدمة اوتوماتيكيا .
الشئ الاول ليس عن الشير اوبجكت فى فلاش انه يستخدم من خلال كلايت ابلكيشت كما نعرف ان الاتش تى ام ال و الفلاش و الجاقا سكربت من الكلاينت سايد و لكن يمكننا ايضا استخدامه مع السيرقر سايد ايضا لانه يقرأ الشير اوبجيكت من خلال جهاز اليوزر فلن تختلف اذا ماكنت فى صدد انشاء كلاينت سايد ابلكيشن ام سيرقر سايد ابلكيشن فعلى سبيل المثال ان الكوكيز متاح فى كلا النوعين السيرقر سايد و الكلاينت...
و لنرى اول كود و لنحلله و هو كود سنرى اذا كان اليوزر يسمح باستخدام الشير اوبجكت ام لا
كود:
function checkSO() {    // Does this client allow SharedObjects to be stored?    // Create a dummy SO and try to store it    mySO = SharedObject.getLocal("test");    if (!mySO.flush(1)) {        // SOs not allowed on this system!        // Prompt user to change settings        System.showSettings(1);    } else {        // SOs allowed        trace("Your system allows SharedObjects");    }}checkSO();
لا تقلق من هذا الكود فليس بالصعوبه التى تراها سنضع بالطبع هذا الكود على الفرام فى التايم لاين ليتمكن الفلاش من قرائته اوتوماتيكيا دون الجوء الى الاحداث او كما تسمى الافنتس و معنى الكود اننا نريد ان نعرف اذا ماكان السيستم الذى يقرأ عليه الملف الان يدعم استخدم الشير اوبجكت ام لا و لمعرفتك يجب ان يكون القلاش بلير الاصدار السادس لانه الشير اوبجكت من خصائص فلاش ام اكس
و ملاحظه اخرى SOs تعنى شير اوبجكتس كى تستطيع فهم الكود عند قرائته
و لنناقش الان ماهى الاوبجكت التى سنحفظها
عاده ماتكون معلومات لها صله ببعضها قمثلا لو اننا عندنا قروع كثيره او مائه مستخدم يستخدمون او يرون الملف الان
[code]Cust1Name = "Joe";Cust1Age = 20;Cust1Pet = "Dog";Cust2Name = "Mary";Cust2Age = 19;Cust2Pet = "Dog";...وفى الاوبجيكت اوريانتد نستخدم
كود:
Cust1 = new Object();Cust1.name = "Joe";Cust1.age = 20;Cust1.pet = "Dog";...

و لنقوم يبعمل شير اوبجكت الان ستعمل الاتى
كود:
mySO = SharedObject.getLocal("test");

هذا الكود الذى استخدمناه ليحفظ الشير اوبجكت
"mySO" هو اسم الاوبجكت الذى سيعطينا معلومات اليوزر من السيستم مره اخرى و لمعلوماتك يحفظ الشير اوبجكت بأمتداد ".sol"
و يمنع التسميه يالاشياء الاتيه ~ % & \ ; : " ' , < > ? # كما يمنع استخدام المسافات ايضا
الان كتبنا الشير اوبجكت و نستطيع القيام بحفظ تلك المعلومات على هارد المستخدم و بعدها نستطيع استدعائها عند الحاجه
و سنقوم بحفظ هذه الداتا بطريقة اسمها flush method
و تقوم هذه الطريقه بأرجاع النتيجه بطريقه صح او خطأ المسميه كما تعلمون
A Boolean return value
و ترجع بقيمه صحيحه او ايجابيه عند الحفظ و العكس صحيح
كود:
mySO = SharedObject.getLocal("test");mySo.data.name = "Joes";success = mySO.flush();

و هناك حد مسموح لحجم الملفات المحفوظه يحددها المستخدم نفسة و اذا قمت بحفظ الاوبجت و تريد معرفة حجمه فنستخدم
mySO.getSize().
و لتتعرف على كيفيه ان اليوزر يقدر على منع او تحديد جحم الملفات المستخدمة كأوبجكت

و نستطيع ايضا بموديل الحدث و ما يسمى كمصطلح The new event model
يسمح لنا ان نضع المعلومات القادمه من اليوزر كوظيفه او فنكشن
ولن تعمل هذه الوظيفة او القنكشم لو كان اليوزر لا يسمح بالمساحة الكافية فمثلا لو انة يلزم ان تعمل هذه الوظيفة 10 كيلوبايت و اليوزر يسمح فقط ب 1 كيلو بايت فلن تتم العمليه
و لمعرفه اذا ماكان الاوجكت قد نزل بطريقه صحيحه على هارد اليوزر يمكننا ذلك من خلال خاصيتين هما
"SharedObject.Flush.Success"
"SharedObject.Flush.Failed".
و لنرى كيف سأتأكد من ذلك
كود:
mySO = SharedObject.getLocal("test");mySo.data.name = "Joes";success = mySO.flush(100000);if (success == "pending") { mySO.onStatus = function(result) { if (result.code == "SharedObject.Flush.Success") { trace("Sucess writing to disk"); writeSuccess = true; } else { trace("Failure writing to disk"); writeSuccess = false; } };} else { writeSuccess = success;}

و عندما نضيف المعلومات التى نريدها للأوبجكت لابد ان ان نضيفها كتشايلد فى الاوبجكت نفسه و الاوبجكت الذى اضفناه الى الان يعتبر فارغ بدون تشايلد
و لنرى كيفيه اضافه اوبجك بالتشايلد
تسيف و مسحه و اعاده تحميله و المتغيرات و انواع الداتا و ليس من المحتم علينا ان نحول الارقام الى سترينج كما تعودنا مع الكويكيز
كود:
// Create an SOmySO = SharedObject.getLocal("test");// Add some expendible datamySO.shortLived = "Woe is me, the short lived variable";// Add some important datamySO.data.stickAround = "I'll be here for years to come!";mySO.data.num = 123;mySO.data.obj = new Array(4, 5, 6, 7);// Write the SO to the disk (I'm not checking for success here)mySO.flush();// Delete the SOdelete mySO;// Load the SO back inmySO = SharedObject.getLocal("test");// Scan the SO for valuesfor (a in mySO.data) { trace(a+": "+mySO.data[a]);}

و من الاشياء الشيقة انه عندما تعيد تحميل المعلومات الى الاوبجكت الذى تم تسيفه بالفعل مسبقا و لنرى مثالا على ذلك
كود:
// Create an SOmySO = SharedObject.getLocal("test");// Add some important datamySO.data.stickAround = "I'll be here for years to come!";// Write the SO to the disk (I'm not checking for success here)mySO.flush();// Delete the SOdelete mySO;// Reload the SOmySO = SharedObject.getLocal("test");// This time we're not adding any data, so when we write // our SOit should the old data be overwritten, right?mySO.flush();// Delete the SOdelete mySO;// Load the SO back in once more,mySO = SharedObject.getLocal("test");// Scan the SO for valuesfor (a in mySO.data) {    trace(a+": "+mySO.data[a]);}// Wrong! The trace shows our old values all still exist! 

و لنرى ماذا سيحدث عندما نريد ان نمسح او نحذف شيئا من الشير اوبجكت الذى تم حفظه على هارد المستخدم لاسباب امنيه و من الاشياء المحسوبه لشركة ماكروميديا انها فكرت فى هذه ايضا و اعطت امكانيه لحذف الخصائص فى الاوبجكت بدون الفلاش و لنرى
كود:
mySO = SharedObject.getLocal("test");mySO.data.stickAround = "I'll be here for years to come!";mySO.flush();delete mySO;// Reload the SOmySO = SharedObject.getLocal("test");delete mySO.data.stickAround;mySO.flush();// Delete the SOdelete mySO;// Load the SO back in once more,mySO = SharedObject.getLocal("test");// Scan the SO for valuesfor (a in mySO.data) {    trace(a+": "+mySO.data[a]);}// Wohoo! No stickAround value!

و ماكروميديا لم تعلمنا كيفيه مسح الملف فعليا من الهارد ديسك كما ذكرت لاسباب امنيه فقط بعد تغيير الخاصيه التى تكلمنا عنها يمسح الملف
و لكن تعال و لنحلل قليلا
عندما ننشئ الشير اوبجكت بدون تشايلد فلايوجد الان خاصيه للتشايلد لعدم وجوده اصلا و لكن عندما نعيد او نضيف تشايلد للاوبجكت فأن الاوبجكت القديم يمسح و يكتب من جديد بالخصائص الجديده هذا و الله اعلم فأذا فأن اى تغيير فى خصائص الاوبجكت سيمسح ..

كود:
// Make a basic SOmySO = SharedObject.getLocal("test");mySO.data.stickAround = "I'll be here for years to come!";mySO.data.myArray = new Array(1, 2, 3, 4);mySO.flush();delete mySO;// Reload the SOmySO = SharedObject.getLocal("test");for (a in mySO.data) {    delete mySO.data[a];}mySO.flush();// Delete the SOdelete mySO;// Load the SO back in once more,mySO = SharedObject.getLocal("test");// Scan the SO for valuesfor (a in mySO.data) {    trace(a+": "+mySO.data[a]);}// There are none. There's no file on the drive any more either

و اعرف انه غير ذى نفع ان اذكر كل هذه الامثله المستخدمه فى الدرس لعمل اوبجكت و انما اعتبره اكثر تمرينا و هناك ملاحظه يجب عليك اتقان و معرفه
getLocal() فهذه اتركها للأخ الكترون و من عنده امكانيه ان يقرأ بعض المعلومات عنها باللغه الانجليزيه يمكنه ذلك من خلال هذا [عزيزي الزائر يتوجب عليك التسجيل للمشاهدة الرابطللتسجيل اضغط هنا]
و اخيرا اذا ما اردت ان تجعل اليوزر ان يوافق على الشير اوبجكت اذا ماكان لا يوافق عليها بأظهار ماسج له مذكرا اياه بها فسنستخدم
System.showSettings(1);

هذا الكود سيظهر له النافذة التى ستراها فى الصوره القادمه

تحياتى
 
 
 
 
ادارة منتديات مصر
الصورة الرمزية hamo81

رد مع اقتباس
 
تاريخ التسجيل: May 2007
المشاركات: 8,313
16-01-2008
 
بسم الله الرحمن الرحيم
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .
__________________

hamo81 ,ادارة منتديات مصر: عضو فى منتدى مصر , منتدى مصر لكل المصريين

 
 
 
 
مصرى جديد
الصورة الرمزية عمادعصمت العمدة

رد مع اقتباس
 
تاريخ التسجيل: Jan 2008
المشاركات: 23
20-01-2008
 
السلام عليكم ورحمة الله وبركاته
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .
((انا عماد عصمت احمد))
__________________

عمادعصمت العمدة ,مصرى جديد: عضو فى منتدى مصر , منتدى مصر لكل المصريين

 
 
 
 
الصورة الرمزية محمودممدوح

رد مع اقتباس
 
تاريخ التسجيل: Sep 2007
الدولة: الثغر السكندرى
العمر: 19
المشاركات: 23,172
01-04-2008
 
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .
__________________

محمودممدوح ,: عضو فى منتدى مصر , منتدى مصر لكل المصريين

 
 
 
 
الصورة الرمزية ŞŸŞŤЁМ

رد مع اقتباس
 
تاريخ التسجيل: Nov 2007
الدولة: NDC
العمر: 19
المشاركات: 4,448
21-08-2008
 
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .
__________________

ŞŸŞŤЁМ ,: عضو فى منتدى مصر , منتدى مصر لكل المصريين

 
 
 
رد

لنك مختصر للموضوع: http://forum.egypt.com/arforum/showthread.php?t=10875



مواقع النشر

العبارات الدلالية
actionscript, object, share, اكس, اوبجكت, شير, فلاش


الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 
أدوات الموضوع
طرق مشاهدة الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

كود BB متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة
الانتقال السريع إلى

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
Lesson 1 ActionScript ay107 دروس الفيديو 4 منذ 2 أسابيع 02:43 PM
Lesson 2 ActionScript ay107 دروس الفيديو 4 منذ 2 أسابيع 07:08 AM
الشير اوبجكت SABRY الدروس المكتوبة و المقالات 3 21-08-2008 02:23 AM
EXClusive Learn C++ in 21 days ŞŸŞŤЁМ الدروس المكتوبة و المقالات 36 25-06-2008 01:58 AM
Lesson 5 ActionScript ay107 دروس الفيديو 2 15-06-2008 08:17 AM



 
1 2 3 4 5 6