لدي برنامج لتحرير بعض البيانات عن طريق إجراء عمليات عليها، أو إضافة نسخ جديدة منها أو حذفها. أريد إضافة ميزة undo/redo كالتي نجدها في كل البرامج. فكيف أقوم بذلك؟ ما هي الفكرة؟
أرجو أن أجد إجابات وإن كانت عامة نوعا ما
شكرا
اللهم انصر أهلنا في فلسطين وآجرنا أن نكون عوناً لهم
اعتقد اخى انه يمكن تنفيذ الفكرة بالاعتماد على ال stack كطريقة لتخزين العمليات التى تريد تنفيذها ومن ثم في وقت لاحق حذفها
حيث بمبدأ عمل ال stack وهو FIFO يمكنك دائما عمل push او ادخال عملية جديدة تم اجراؤها حاليا وتضاف طبعا لبداية ال stack واي عملية ثانية ستضاف فوقها وهكذا وان قمت بعمل undo فكل ما ستنفذه سيكون عمل pop لاول عنصر من ال stack وعند عمل redo تقوم بعمل push مرة اخرى وهكذا
اعتقد انك ستحتاج لكلاس لتخزن فيها اخر عملية او شئ من هذا القيبل بصراحة كان لدي مثال يشرح الموضوع من زمان لكني لا اتذكره حاليا عموما يمكننى ان انظر فيه بعد الامتحانات واعتذر حاليا لظروف الامتحانات