ویرایش فایل xml در فلش

love_flas

New Member
دوستان کسی میدونه چه جوری فایل xml رو میشه با اکشن 3 ویرایش کرد
یعنی متن دلخواهمون رو توش ذخیره کنیم
مثلا متن پایین رو
<site>
<div>
<div id = " 1 " title ="iloveflas" >
<div/>
<site/>
 

mmz2006

Active Member
با سلام
با اجرای نمونه که گذاشتم فایل شما در دسکتاپ ساخته و سیو میشه.
شما می تونید در جاهای دیگه مثل پوشه داکیومنت ویندوز یا پوشه یوزر یا محلی که ایر نصبه هم فایلت رو سیو کنی .
 

پیوست ها

  • xml.rar
    4.5 کیلوبایت · بازدیدها: 28
آخرین ویرایش:

mmz2006

Active Member
ضمنا با این کد می تونید در مسیر دلخواهتون فایل روسیو کنید

PHP:
import flash.filesystem.File;
import flash.filesystem.FileMode;
import flash.filesystem.FileStream;

var site1:XML = new XML( <site /> ); 
var div1:XML = new XML ( <div /> ); 
site1.appendChild( div1 );
var div2:XML = new XML ( <div /> ); 
div2.@id = " 1 "; 
div2.@title = "iloveflas"; 
div1.appendChild( div2 );

var file:File = new File("C:/AIR Test/test.xml"); 

var stream:FileStream = new FileStream();

stream.open(file, FileMode.WRITE);
stream.writeUTFBytes(site1.toXMLString());
stream.close();
 

asadisoft

New Member
mmz2006 چطور میشه یه رشته رو تو فایل متنی خارجی ذخیره کنیم؟
یه فایل txt اکسترنال دارم میخوام توش کلمه های متعددی ذخیره کنم
 

mmz2006

Active Member
mmz2006 چطور میشه یه رشته رو تو فایل متنی خارجی ذخیره کنیم؟
یه فایل txt اکسترنال دارم میخوام توش کلمه های متعددی ذخیره کنم

سلام
خیلی فرقی با بالایی نداره

PHP:
import flash.filesystem.File;
import flash.filesystem.FileMode;
import flash.filesystem.FileStream; 


var file:File = new File("C:/text/test.txt"); 

var str:String = "سلام ، صبح بخیر";

var stream:FileStream = new FileStream();

stream.open(file, FileMode.WRITE);
stream.writeUTFBytes(str);
stream.close();

فقط دقت کنید که در آدرس دهی نمی توانید در ریشه :c فایل را سیو کنید که اروور می دهد.
ضمنا دقت کنید که این پروژه ایر است و باید در پروپرتیس ، تارگت رو روی ایر قرار بدین .
 
آخرین ویرایش:

asadisoft

New Member
مشکل من تو آدرس دهی بود میخواستم فایل کنار پروژه م باشه، باید آدرس کامل میدادم. ممنون. اما این روش نوشت های قبلی فایل تکست رو پاک میکنه ونوشته جدید رو ذخیره میکنه من میخوام بهش اضافه شه، چطور میشه این کار رو کرد؟ از آرایه باید استفاده کنم؟ چون میخوام کاربر هر دفعه که برنامه رو باز کنه کلمه های جدیدی به فایل تکست اضافه کنه.
ممنون از راهنمایی های گرانبهات
 

mmz2006

Active Member
اگر بخواین از نوشته های داخل فایل تکست به عنوان متغیر هایی توی برنامه تون استفاده کنین باید از آرایه استفاده کنید.

1 : نمونه اول : به فایل تکست شما متن مورد نظر رو اضافه می کنه و اطلاعات قبلی رو نگه می داره .

PHP:
import flash.filesystem.File;
import flash.filesystem.FileMode;
import flash.filesystem.FileStream; 

var file:File = new File("C:/text/test.txt"); 
var str:String = "," + "خدا رو شکر";
var stream:FileStream = new FileStream();
stream.open(file, FileMode.APPEND);
stream.writeUTFBytes(str);
stream.close();


2 : نمونه دوم : فراخوانی فایل و ثبت در آرایه و بعد جداسازی بر اساس سیمی کالن و بعد هم سیو کردن حالت جدید .

PHP:
import flash.filesystem.File;
import flash.filesystem.FileMode;
import flash.filesystem.FileStream; 

var arr1:Array = [];

var file:File = new File("C:/text/test.txt"); 

var stream:FileStream = new FileStream();
stream.open(file, FileMode.READ);     // فایل فراخوانی میشود
var str:String = stream.readUTFBytes(file.size);   // کل فایل داخل متغیر رشته ای ریخته میشود

arr1 = str.split(",");   // بر اساس سیمی کالن نوشته ها جداسازی شده و هر قسمت وارد یک خانه از آرایه میشود

for(var inArr:String in arr1 ){
	trace (arr1[inArr]);  // خانه های آرایه یکی یکی تریس می شود
} 
stream.close(); 

arr1[0] = "خدا نگهدار" ;


stream.open(file, FileMode.WRITE);
stream.writeUTFBytes(arr1.toString()); // سیو آرایه جدید
stream.close();



در این نمونه دو متن فایل تکست شما مثلا باید این باشه و چند بخش باشه :

PHP:
سلام صبح بخیر ، حالت چطوره ؟ ، خدا رو شکر
 

asadisoft

New Member
واقعا ممنون توضيحاتت خيلي با ارزشه.
هدف اصلی من اينه كه با هر كليک يه رشته به فايل تكست به صورت خط به خط اضافه شه و در مرحله بعد نوشته های فایل تکست رو فراخوانی کنم وتوشون سرچ کنم.
فکر میکنم با دقت تو توضیحات شما بشه به این نتیجه رسید.
اگه راه مناسبی مد نظرته ممنون میشم
 

love_flas

New Member
با سلام
با اجرای نمونه که گذاشتم فایل شما در دسکتاپ ساخته و سیو میشه.
شما می تونید در جاهای دیگه مثل پوشه داکیومنت ویندوز یا پوشه یوزر یا محلی که ایر نصبه هم فایلت رو سیو کنی .


سلام mmz عزیز دستت درد نکنه بابت سمپلی که گذاشتی
فقط من یه مشکلی دارم که اینفایل شما با ادوبی ایر هستش ولی من نمیخوام با ادوبی ایر کار کنم ودر اینصورت این کدها با اکشن 3 ارور میده نمیدونم چه جوری حلش کنم البتته خودم یه متغییر نوشتم که فایل رو تو کامپیوتر ذخیره میکنه ولی قبل از ذخیره از کاربر درباره محل ذخیره سوال میکنه که من نمیخوام اینجوری باشه یعنی می خوام مسیر رو تو خود فلش بدم و بدون اینکه کاربر دخالتی تو تغییر مسیر داشته باشه اون فایل ذخیره بشه
خودمم نفهمیدم چی گفتم
حالا یه نگاه به متغییر بکنین ببینین مشکل از کجاست
PHP:
var pics:XML =<imagelist>
image1
</hmagelist>
var F:FileReference=new FileReference ;
F.save (pics, "myXml.xml" ) ;
HTML:
نمیدونم چرا وقتی آدرس رو میدم ارور میده
یعنی آدرس رو اینجوری میدم
("F.save (pics , :C:\newfolder\muXml.xml
 

asadisoft

New Member
به اين نتيجه رسيدم تو فایلی که پیوست کردم با کلیک addbutton رشته ی تو txtfild به فایل تکست اضافه میشه وبا کلیک search همه محتواي تكست رو تبديل به آرايه ميكنه و کلمه ي تو txtfild رو تو آرايه جستجو میکنه وتو reasult مینویسه. همه چی مرتبه جز اینکه تو سرچ کلمه مورد نظر رو پیدا نمیکنه با این که وجود داره.
 

پیوست ها

  • test.rar
    8 کیلوبایت · بازدیدها: 10

mmz2006

Active Member
سلام mmz عزیز دستت درد نکنه بابت سمپلی که گذاشتی
فقط من یه مشکلی دارم که اینفایل شما با ادوبی ایر هستش ولی من نمیخوام با ادوبی ایر کار کنم ودر اینصورت این کدها با اکشن 3 ارور میده نمیدونم چه جوری حلش کنم البتته خودم یه متغییر نوشتم که فایل رو تو کامپیوتر ذخیره میکنه ولی قبل از ذخیره از کاربر درباره محل ذخیره سوال میکنه که من نمیخوام اینجوری باشه یعنی می خوام مسیر رو تو خود فلش بدم و بدون اینکه کاربر دخالتی تو تغییر مسیر داشته باشه اون فایل ذخیره بشه
خودمم نفهمیدم چی گفتم
حالا یه نگاه به متغییر بکنین ببینین مشکل از کجاست
PHP:
var pics:XML =<imagelist>
image1
</hmagelist>
var F:FileReference=new FileReference ;
F.save (pics, "myXml.xml" ) ;
HTML:
نمیدونم چرا وقتی آدرس رو میدم ارور میده
یعنی آدرس رو اینجوری میدم
("F.save (pics , :C:\newfolder\muXml.xml

سلام
بله دقیقا چنین مشکلی هست و اکشن اسکریپت می تونه یه فایل رو بخونه ولی در نوشتن مستقیم نیاز به ایر داره . لااقل من با جستجوی زیاد نتونستم این مشکل رو حل کنم حالا اساتید اینجا شاید بتونن کاری کنن.

با تشکر
 

love_flas

New Member
سلام
بله دقیقا چنین مشکلی هست و اکشن اسکریپت می تونه یه فایل رو بخونه ولی در نوشتن مستقیم نیاز به ایر داره . لااقل من با جستجوی زیاد نتونستم این مشکل رو حل کنم حالا اساتید اینجا شاید بتونن کاری کنن.

با تشکر


ممنون دوست عزیز
یه سوال دیگه دارم آیا خروجی ادوبی ایر برای اجرا تو سیستمهای دیگه نیاز به نصب ادوب ایر داره یا نه بدون نصب نرمافزار خاصی اجرا میشه آخه تا حالا با ایر کار نکردم
 

mmz2006

Active Member
به اين نتيجه رسيدم تو فایلی که پیوست کردم با کلیک addbutton رشته ی تو txtfild به فایل تکست اضافه میشه وبا کلیک search همه محتواي تكست رو تبديل به آرايه ميكنه و کلمه ي تو txtfild رو تو آرايه جستجو میکنه وتو reasult مینویسه. همه چی مرتبه جز اینکه تو سرچ کلمه مورد نظر رو پیدا نمیکنه با این که وجود داره.

نمونه شما سه تا ایراد داشت تقریبا که توی فایل اصلاحی بهش اشاره کردم :

1 : شما نمی تونید سرچ رو بیرون تابع فراخوانی فایل ، انجام بدین (یعنی هنوز فایلی فراخوانی نشده که سرچ کنید و آرایه هنوز خالیه)

2 : باید تکست فیلد txtfild رو به متغیر سرچ بدین البته این ایراد نیست .

3 : نحوه نوشتن و سرچتون باید همخوانی داشته باشه . منظورم این قسمتشه "\r\n"
 

پیوست ها

  • testEdit.rar
    9.3 کیلوبایت · بازدیدها: 23

mmz2006

Active Member
ممنون دوست عزیز
یه سوال دیگه دارم آیا خروجی ادوبی ایر برای اجرا تو سیستمهای دیگه نیاز به نصب ادوب ایر داره یا نه بدون نصب نرمافزار خاصی اجرا میشه آخه تا حالا با ایر کار نکردم

بله ظاهرا و متاسفانه من هنوز روی دسکتاپ نتونستم ازش استفاده کنم و مشکل دارم ولی توی اندروید و توی وب مشکلی نداشت و نیاز به نصب چیز دیگه ای نداشت .
 

asadisoft

New Member
mmz2006 چطور میشه دستور بدم اگه قسمتی از کلمه یا جمله سرچ شد کل کلمه یا جمله رو نشون بده؟ اگه یه جمله تو فایل تکست بود و تو txtfild یه قسمت یا یک کلمه از جمله نوشته شد وسرچ شد چطور میشه بگم کل جمله رو تو reasult بنویس؟
ممنون.
 
مطلب مفیدی بود. ولی یه سؤال ساده اگه بخام به جای اینکه فایل در این آدرس "C:/text/test.txt" درست بشه. همون جایی که فایل exe یا apk بعد از نصب در اونجا هست قرار میگیره ساخته شه. باید مسیر را چه طور تعریف کنم. مثلا ممکنه کامپیوتر اصلا درایو c نداشته باشه. یا اینکه اگه برای گوشی باشه دیگه درایو c نداریم و تعریف ها فرق می کنه!
 

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

بالا