Mohammad_Shams
Member
در برنامههای AIR، به دلیل Rich Internet Application بودن آنها محدودیتی برای خواندن فایلها وجود ندارد. برای نوشتن آنها هم با استفاده از راهکارهای خاصی میتوان دسترسی کاملی به دیسک داشته و فایلها را در مسیرهای مختلف ذخیره نمود.
کلاس MOption با توجه به این مسئله که برنامههای AIR جنبه Application بودن هم دارند، با هدف ذخیره سازی تنظیمات یک برنامه در فایلهای مبتنی XML طراحی شده است. این کلاس از کلاسهای File و FileStream برای ذخیره سازی بر روی دیسک استفاده نموده و فرآیند ثبت و بازیابی مقادیر را در برنامههای AIR تا حد زیادی ساده خواهد کرد.
ضمنا این کلاس open source است.
برای تست آن هم فقط کافی است یک متغیر از آن ساخته، مسیر فایل را بدهید و دستور loaddata را بزنید. اگر فایل قبلا موجود باشد که باز میشود، در غیر اینصورت فایل ساخته میشود.
مثال1:
مثال کاملتر:
مطلب مرتبط
کلاس MOption با توجه به این مسئله که برنامههای AIR جنبه Application بودن هم دارند، با هدف ذخیره سازی تنظیمات یک برنامه در فایلهای مبتنی XML طراحی شده است. این کلاس از کلاسهای File و FileStream برای ذخیره سازی بر روی دیسک استفاده نموده و فرآیند ثبت و بازیابی مقادیر را در برنامههای AIR تا حد زیادی ساده خواهد کرد.
ضمنا این کلاس open source است.
برای تست آن هم فقط کافی است یک متغیر از آن ساخته، مسیر فایل را بدهید و دستور loaddata را بزنید. اگر فایل قبلا موجود باشد که باز میشود، در غیر اینصورت فایل ساخته میشود.
مثال1:
PHP:
var opt:MOption;{
opt = new MOption(txtPath.text);
opt.loadData();
PHP:
import com.mshams.MOption;
import flash.events.Event;
import flash.events.MouseEvent;
var opt:MOption;
btnOpen.addEventListener(MouseEvent.CLICK, evtOpen);
btnSet.addEventListener(MouseEvent.CLICK, evtSet);
btnGet.addEventListener(MouseEvent.CLICK, evtGet);
btnGetall.addEventListener(MouseEvent.CLICK, evtGetall);
btnSav.addEventListener(MouseEvent.CLICK, evtSav);
function evtOpen(e:MouseEvent)
{
opt = new MOption(txtPath.text);
opt.addEventListener(MOption.LOAD_COMPLETE, onEvents);
opt.addEventListener(MOption.LOAD_ERROR, onEvents);
opt.addEventListener(MOption.PARSE_ERROR, onEvents);
opt.addEventListener(MOption.SAVE_ERROR, onEvents);
opt.addEventListener(MOption.SAVE_COMPLETE, onEvents);
opt.addEventListener(MOption.OPTION_RETRIVE_ERROR, onEvents);
opt.loadData();
}
function evtSet(e:MouseEvent)
{
var s:String = txtSet.text;
opt.setOption(s.split(",")[0], s.split(",")[1]);
opt.setOption("_version", "123");
opt.setOption("_new", 11.8374 - 9.1);
opt.setOption("_nccew", 11.8374);
opt.setOption("_zxzx", 11.8374);
opt.setOption("_dfg", 11.8374);
}
function evtSav(e:MouseEvent)
{
opt.saveData();
}
function evtGet(e:MouseEvent)
{
txtOutput.appendText("\n" + opt.getOption(txtGet.text).toString());
//trace("val(version)=", opt.getOption("_version"));
//trace("val(_new)=", opt.getOption("_new"));
//trace("val(_new)=", opt.getOption("_new"));
//trace("val(version)=", opt.getOption("_version"));
}
function evtGetall(e:MouseEvent)
{
var arr:Array = opt.getArrayOption();
txtOutput.text = "";
txtOutput.appendText("Options count: " + arr.length.toString() + "\n\n");
for (var i:int = 0; i<arr.length; i++)
{
txtOutput.appendText("[" + arr[i][0] + "] = " + arr[i][1] + "\n");
}
}
function onEvents(e:Event)
{
switch (e.type)
{
case MOption.LOAD_COMPLETE :
txtOutput.appendText("LOAD_COMPLETE");
break;
case MOption.LOAD_ERROR :
txtOutput.appendText("LOAD_ERROR");
break;
case MOption.SAVE_ERROR :
txtOutput.appendText("SAVE_ERROR");
break;
case MOption.SAVE_COMPLETE :
txtOutput.appendText("SAVE_COMPLETE");
break;
case MOption.OPTION_RETRIVE_ERROR :
txtOutput.appendText("OPTION_RETRIVE_ERROR");
break;
case MOption.PARSE_ERROR :
txtOutput.appendText("PARSE_ERROR");
break;
}
}