آندو و ریدو Undo and Redo

آندو Undo و ریدو Redo چیست؟

آندو (Undo) عنوان یکی از قابلیت‌های پرکاربرد در بسیاری از نرم افزارهای رایانه ای است که در حالت مرسوم، آخرین تغییر انجام گرفته در سند را به حالت قبلی آن بازمی‌گرداند. ریدو (Redo) معادل معکوس فرمان Undo است به این معنا که می‌تواند عمل آندو شده را مجددا انجام دهد و سند را به حالت پیش از اجرای Undo بازگرداند.

به عبارت بهتر، Undo به معنای خنثی سازی یا بازگردانی عمل انجام شده به حالت قبل است در حالیکه Redo به معنای انجام مجدد عمل Undo شده است.

وجود قابلیت‌های Undo و Redo در نرم افزارها این امکان را فراهم می‌کنند که کاربر بتواند بدون نگرانی در مورد اشتباه کردن یا نامناسب بودن نتیجه عملی که می‌خواهد انجام دهد به کار خود روی سند ادامه دهد.

هردوی این فرامین می‌بایست از تمامی اعمال قابل بازگردانی در برنامه پشتیبانی کنند. برای مثال اگر در یک ویرایشگر تصویر، کاربر مستطیلی را روی سند خود ترسیم کند عمل آندو باید بتواند این مستطیل را از سند حذف کند. پس از اِعمال دستور آندو اگر کاربر متوجه شود به اشتباه این کار را انجام داده است با اجرای دستور ریدو باید مستطیل مجددا در مکان قبلی خود در سند قرار گیرد. در عین حال اگر کاربر ابعاد مستطیلی را که قبلا ترسیم کرده تغییر دهد استفاده از دستور آندو باید مستطیل را به همان ابعاد پیشین بازگرداند.

لازم است بدانید همانطور که اجرای یک فرمان Undo منجربه فعال شدن Redo می‌شود، معمولا انجام هر ویرایش یا عمل جدید روی یک سند نیز، فرمان Redo را غیرفعال می‌کند. به این ترتیب کاربر صرفا بلافاصله پس از اجرای یک یا تعدادی فرمان Undo می‌تواند از فرمان Redo استفاده نماید. این درحالیست که فرمان Undo می‌بایست به محض انجام هر عمل قابل بازگردانی در نرم افزار فعال شود.

البته نباید انتظار داشته باشید هر عملی که در یک نرم افزار انجام داده‌اید قابل بازگردانی باشد. به عنوان مثال اعمالی نظیر ذخیره کردن فایل یا انتخاب یک آبجکت در سند، قابل آندو کردن و همچنین قابل ریدو کردن نیستند.

جزئیات و نحوه اجرای فرامین آندو و ریدو

در سیستم عامل ویندوز، اغلب نرم افزارها برای آندو از ترکیب کلیدهای Ctrl + Z یا Alt + Backspace و برای دستور ریدو نیز از ترکیب Ctrl + Y یا Ctrl + Shift + Z استفاده می‌کنند. معمولا این فرامین از طریق منوی Edit یا منوی زمینه ای (Context Menu) نرم افزار نیز قابل دسترسی هستند.

آندو و ریدو Undo and Redo
فرامین Undo و Redo در منوی Edit ویرایشگر متن Notepad++

برای فراهم آوردن امکان استفاده از فرمان Undo، اعمال انجام شده توسط کاربر در قالب یک بافر یا لیست ویژه موسوم به تاریخچه دستورات یا اعمال (Action History) نگه داری می‌شوند.

تعداد اعمال پیشین که قابل آندو کردن هستند در برنامه‌های مختلف متفاوت است. در برخی نرم افزارهای قدیمی، کاربر تنها می‌توانست یک عمل انجام شده آخر را آندو کند درحالیکه در بسیاری از نرم افزارهای امروزی، بافرهای Undo و Redo قادر هستند تا ده‌ها و صدها عمل انجام شده گوناگون را در خود نگه داری کنند.

آندوی خطی و غیرخطی

در اغلب نرم افزارها اجرای یک بار فرمان Undo آخرین دستور یا عمل انجام شده را به حالت قبلی باز می‌گرداند. به این نوع آندو، آندوی خطی (Linear Undo) گفته می‌شود. در Linear Undo معمولا از پشته برای نگه داری تاریخچه اعمال انجام شده استفاده می‌شود. به این ترتیب وقتی کاربر عمل جدیدی را انجام می‌دهد این عمل به بالای یک پشته اختصاصی افزوده می‌شود. زمانی که فرمان Undo اجرا می‌شود بالاترین عنصر موجود در این پشته، آندو می‌شود و همچنین عنصر مربوط به این عمل بلافاصله از پشته حذف می‌شود. در عین حال برای فراهم کردن قابلیت Redo، عمل آندو شده به پشته دیگری که متعلق به فرمان Redo است افزوده می‌شود. در نتیجه‌ی انجام این فرایند، عملی که در پشته Undo پایین‌تر از عمل آندو شده قرار داشت اکنون در بالای پشته قرار دارد و با اجرای مجدد فرمان Undo فرایند فوق برای این عمل انجام می‌شود.

در مقابل مدل خطی، نوع دیگری از Undo موسوم به نوع غیرخطی (Non-Linear Undo) نیز وجود دارد. در آندوی غیرخطی، کاربر می‌تواند اعمال ذخیره شده در بافر را به ترتیب دلخواه خود آندو کند. به عنوان مثال اگر در یک سند ابتدا یک جدول و سپس یک تصویر اضافه کرده باشید و نرم افزار از آندوی غیرخطی پشتیبانی کند شما می‌توانید جدول را با کمک لیست مربوط به فرمان آندو حذف کنید بدون اینکه تصویر حذف شود!

نرم افزارهایی که در آن‌ها به طور همزمان چندین کاربر می‌توانند روی یک سند به صورت مشترک کار کنند مفهوم دیگری به نام آندوی چند کاربره (Multi-user Undo) نیز شکل می‌گیرد. آندوی چند کاربره در دو نوع سراسری (Global) و محلی (Local) تعریف می‌شود. در گونه سراسری، آخرین عمل انجام شده روی سند، فارغ از اینکه توسط کدام کاربر انجام شده به حالت قبل برگردانده می‌شود. اما در نوع محلی هر کاربر تنها می‌تواند اعمال مربوط به خود را آندو کند.

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

واژه‌های مرتبط

سیستم ریستور System Restore سیستم ریستور یا System Restore چیست؟ سیستم ریستور (System Restore یا بازگردانی سیستم) عنوان قابلیتی در سیستم عامل ویندوز است که به کاربر اجازه می‌دهد...

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *