آموزش کار با SharedObject در قالب مثال Favorites Items

Fanous

Well-Known Member
سلام دوستان
توی این فایل سعی کردم کار با sharedobject که برای ذخیره سازی اطلاعات کم حجم کاربرد داره رو آموزش بدم
sharedobject مثل کوکی در بروزرها عمل میکنه
کد:
http://help.adobe.com/

The SharedObject class is used to read and store limited amounts of data on a user's computer or on a server. Shared objects offer real-time data sharing between multiple client SWF files and objects that are persistent on the local computer or remote server. Local shared objects are similar to browser cookies and remote shared objects are similar to real-time data transfer devices. To use remote shared objects, you need Adobe Flash Media Server.

Local disk space considerations. Local shared objects have some limitations that are important to consider as you design your application. Sometimes SWF files may not be allowed to write local shared objects, and sometimes the data stored in local shared objects can be deleted without your knowledge. Flash Player users can manage the disk space that is available to individual domains or to all domains. When users decrease the amount of disk space available, some local shared objects may be deleted. Flash Player users also have privacy controls that can prevent third-party domains (domains other than the domain in the current browser address bar) from reading or writing local shared objects. Also note that on Mac OS, starting with AIR 3.3, the location for local shared objects changed, so if you upgrade to the 3.3 namespace, it may appear as if the objects were lost.
در داخل فایل و در قسمت اکشن اسکریپت ، توضیحات هر دستور رو نوشتم
اگر جایی رو خوب توضیح ندادم بگین تا بیشتر توضیح بدم
کد:
import flash.events.MouseEvent;

// در ابتدا چون مشخص نیست کدام آیتم به لیست علاقه مندی ها اضافه شده است پس مووی کلیپ مربوط به روشن بودن آیتم رو خاموش می کنیم

fav_1.fav_on.visible=false;
fav_2.fav_on.visible=false;
fav_3.fav_on.visible=false;
fav_4.fav_on.visible=false;
fav_5.fav_on.visible=false;

// حالا باید چک کنیم آیا قبلا لسیت علاقه مندیها روی سیستم یا دیوایس دخیره شده یا نه و اگر نشده فایل مربوطه رو ایجاد کنیم

var so:SharedObject = SharedObject.getLocal("MyFavoritesList"); // ایجاد می کنه sharedObject این دستور یک

if (so.data.fav1 == undefined) // یکی از چیزهایی که قراره دخیره بشه رو چک می کنیم وجود داره یا نه ، فرقی نمیکنه کدوم رو چک کنیم
{
	so.data.fav1 = "off"; // اگر شرط بالا برقرار باشه یعنی این دفعه اوله که برنامه اجرا شده
	so.data.fav2 = "off"; // پس باید اطلاعات اولیه رو ذخیره کنیم
	so.data.fav3 = "off"; // و چون قبلا کاربری هیچ آیتمی رو بعنوان مورد علاقه انتخاب نکرده
	so.data.fav4 = "off"; // پس تمام آیتم هارو خاموش می کنیم
	so.data.fav5 = "off";
	so.flush(); // این دستور اطلاعات رو روی سیستم یا دیوایس ذخیره می کنه
}

// اگر قبلا برنامه اجرا شده باشه و کاربر چند آیتم رو بعنوان مورد غلاقه انتخاب کرده باشه باید چراغش رو روشن کنیم

if (so.data.fav1 != undefined) // یعنی فایل قبلا روی سیستم یا دیوایس ذخیره شده
{
	if ( so.data.fav1 == "off") // چک کردن آیتم اول
	{
		fav_1.fav_on.visible=false;
		fav_1.fav_off.visible=true;
	}
	else
	{
		fav_1.fav_on.visible=true;
		fav_1.fav_off.visible=false;
	}
	
	if ( so.data.fav2 == "off") // چک کردن آیتم دوم
	{
		fav_2.fav_on.visible=false;
		fav_2.fav_off.visible=true;
	}
	else
	{
		fav_2.fav_on.visible=true;
		fav_2.fav_off.visible=false;
	}
	
	if ( so.data.fav3 == "off") // چک کردن آیتم سوم
	{
		fav_3.fav_on.visible=false;
		fav_3.fav_off.visible=true;
	}
	else
	{
		fav_3.fav_on.visible=true;
		fav_3.fav_off.visible=false;
	}
	
	if ( so.data.fav4 == "off") // چک کردن آیتم چهارم
	{
		fav_4.fav_on.visible=false;
		fav_4.fav_off.visible=true;
	}
	else
	{
		fav_4.fav_on.visible=true;
		fav_4.fav_off.visible=false;
	}
	
	if ( so.data.fav5 == "off") // چک کردن آیتم پنجم
	{
		fav_5.fav_on.visible=false;
		fav_5.fav_off.visible=true;
	}
	else
	{
		fav_5.fav_on.visible=true;
		fav_5.fav_off.visible=false;
	}
}

// حالا باید واسه دکمه ها دستورات لازم رو تعریف کنیم

fav_1.addEventListener(MouseEvent.MOUSE_UP, Change_Favorites);
fav_2.addEventListener(MouseEvent.MOUSE_UP, Change_Favorites);
fav_3.addEventListener(MouseEvent.MOUSE_UP, Change_Favorites);
fav_4.addEventListener(MouseEvent.MOUSE_UP, Change_Favorites);
fav_5.addEventListener(MouseEvent.MOUSE_UP, Change_Favorites);

function Change_Favorites(event:MouseEvent):void
{
	if (event.currentTarget.name == "fav_1")
	{
		if ( so.data.fav1 == "on")
		{
			fav_1.fav_on.visible=false;
			fav_1.fav_off.visible=true;
			so.data.fav1 = "off";
			so.flush();
		}
		else
		{
			fav_1.fav_on.visible=true;
			fav_1.fav_off.visible=false;
			so.data.fav1 = "on";
			so.flush();
		}
	}
	
	if (event.currentTarget.name == "fav_2")
	{
		if ( so.data.fav2 == "on")
		{
			fav_2.fav_on.visible=false;
			fav_2.fav_off.visible=true;
			so.data.fav2 = "off";
			so.flush();
		}
		else
		{
			fav_2.fav_on.visible=true;
			fav_2.fav_off.visible=false;
			so.data.fav2 = "on";
			so.flush();
		}
	}
	
	if (event.currentTarget.name == "fav_3")
	{
		if ( so.data.fav3 == "on")
		{
			fav_3.fav_on.visible=false;
			fav_3.fav_off.visible=true;
			so.data.fav3 = "off";
			so.flush();
		}
		else
		{
			fav_3.fav_on.visible=true;
			fav_3.fav_off.visible=false;
			so.data.fav3 = "on";
			so.flush();
		}
	}
	
	if (event.currentTarget.name == "fav_4")
	{
		if ( so.data.fav4 == "on")
		{
			fav_4.fav_on.visible=false;
			fav_4.fav_off.visible=true;
			so.data.fav4 = "off";
			so.flush();
		}
		else
		{
			fav_4.fav_on.visible=true;
			fav_4.fav_off.visible=false;
			so.data.fav4 = "on";
			so.flush();
		}
	}
	
	if (event.currentTarget.name == "fav_5")
	{
		if ( so.data.fav5 == "on")
		{
			fav_5.fav_on.visible=false;
			fav_5.fav_off.visible=true;
			so.data.fav5 = "off";
			so.flush();
		}
		else
		{
			fav_5.fav_on.visible=true;
			fav_5.fav_off.visible=false;
			so.data.fav5 = "on";
			so.flush();
		}
	}
}

// so.clear();
// این دستور در مواقع نیاز فایلی که اطلاعاتمون رو داخلش ذخیره کردیم رو بکلی از روی سیستم یا دیوایس پاک می کنه


// اگر چند آیتم رو بعنوان مورد علاقه انتخاب کردین برنامه رو ببندین و باز کنین
// می بینین که انتخاب هاتون موقع اجرا شدن برنامه نشون داده میشه
// امیدوارم این فایل مورد استفادتون قرار گرفته باشه
// موفق باشین
فایلهای پیوست مربوط به فلش sc5 و cs6 میشه
امیدوارم که مورد استفادتون قرار بگیره
موفق باشین
 

پیوست ها

  • fav_cs6.rar
    20.6 کیلوبایت · بازدیدها: 25
  • fav_cs5.rar
    22.4 کیلوبایت · بازدیدها: 12
آخرین ویرایش:

جدیدترین ارسال ها

بالا