PDA

View Full Version : طریقه ی ایجاد undo و redo



upload
جمعه 15 مرداد 1389, 15:57 عصر
سلام:
من چطور می تونم دکمه های undo و redo ایجاد کنم؟
که بتونه 5 مرحله را به قبل برگردونه یا به جلو ببره؟

M.T.P
جمعه 15 مرداد 1389, 17:13 عصر
عملیات Undo و Redo به نحوه کارکرد برنامه بستگی داره.
در واقع هر عکس العملی رو باید در چهارچوب خاص خودش ذخیره کرد. مثلا اگه شما داخل یک تکس باکس مقداری رو وارد میکنید و از برنامه میخواید طبق مقدار وارد شده کاری رو انجام بده باید قبل از انجام واکنش اون مقدار رو ذخیره کنید ( به عنوان مثال در یک متغیر ) و در هنگام Undo این مقدار رو بخونید.

fazelm
جمعه 15 مرداد 1389, 17:31 عصر
باید یه فایل temp یا چندین متغیر برای اینکار در نظر بگیرید ولی باید چندین بعد رو در نظر بگیرید یعنی هم مقدار و هم کاری که انجام شده
مثلا وقتی یه تکست باکس رو کاربر پاک میکنه و وقتی آندو میزنه هم باید یادداشت کرده باشی که مثلا text1 متن توش پاک شده و هم متن پاک شده رو نگه داشته باشی که بتونی دوباره اون رو تو text1 بنویسی
امیدوارم کمک کرده باشم

Felony
جمعه 15 مرداد 1389, 17:47 عصر
برای پیاده سازی Undo و Redo باید از پشته ( یا حداقل روش پیاده سازی اون ) استفاده کنید .

ali190
جمعه 15 مرداد 1389, 17:49 عصر
سلام
میشه یک نمونه برای درک بهتر قرار بدید؟
ممنون و متشکر

mehdi.mousavi
چهارشنبه 20 مرداد 1389, 17:42 عصر
سلام:
من چطور می تونم دکمه های undo و redo ایجاد کنم؟
که بتونه 5 مرحله را به قبل برگردونه یا به جلو ببره؟

سلام.
یکی از جاهایی که Command Pattern (http://en.wikipedia.org/wiki/Command_pattern) کاربرد داره، ساخت همین Redo/Undo هستش. نحوه پیاده سازی اون پس از فهم الگوی نام برده، کار دشواری نیست.

موفق باشید.

پاورقی: خوندن این مقاله (http://www.codeproject.com/KB/books/DesignPatterns.aspx) نیز توصیه میشه.