예제 #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Enter text!\n");

            TextOriginator txt = new TextOriginator();
            TextCaretaker  ct  = new TextCaretaker();

            string s = Console.ReadLine();

            txt.setTextAndDate(s);
            Console.WriteLine(txt.ToString());
            ct.setSave(txt.Save());

            Console.WriteLine("\nEnter new text!\n");
            s = Console.ReadLine();
            txt.setTextAndDate(s);

            Console.WriteLine(txt.ToString());

            txt.Load(ct.getSave());

            Console.WriteLine("\nRollback!\n");

            Console.WriteLine(txt.ToString());
        }
        static void Main(string[] args)
        {
            TextOriginator textOriginator = new TextOriginator();

            textOriginator.Text           = "asm";
            textOriginator.CursorPosition = 3;

            // Anlık durum yığına ekleniyor.
            textOriginator.Save();


            textOriginator.Text           = "asmi";
            textOriginator.CursorPosition = 4;

            // Anlık durum yığına ekleniyor.
            textOriginator.Save();

            textOriginator.Text           = "asmin";
            textOriginator.CursorPosition = 5;

            // Anlık durum yığına ekleniyor.
            textOriginator.Save();

            // Yığındaki bir önceki duruma geçiyor.
            textOriginator.Undo();
            Console.WriteLine(textOriginator.ToString());

            // Yığındaki bir önceki duruma geçiyor.
            textOriginator.Undo();
            Console.WriteLine(textOriginator.ToString());

            // Yığındaki bir önceki duruma geçiyor.
            textOriginator.Undo();
            Console.WriteLine(textOriginator.ToString());

            //output:
            //  text: asmin, cursor position: 5
            //  text: asmi, cursor position: 4
            //  text: asm, cursor position: 3
        }