Avatar billede klasker Nybegynder
11. oktober 2003 - 18:41 Der er 7 kommentarer

Hvordan laver man Undo/Redo?

Hvordan laver man en undo/redo funktion der kan gå mere end et enkelt trin tilbage? Det skal gerne kunne gå helt op til 255 el. lign. gange tilbage (og frem igen).
Jeg bruger en TRichEdit, og dens indbyggede Undo funktion er mildest talt ubrugelig.
Avatar billede bleze Nybegynder
11. oktober 2003 - 18:51 #1
I onchange event kan du gemme indhold i et array. Lav et index som du tæller op hele tiden indtil  grænsen er nået. Du gemmer i der og kan hele tiden gå tilbage lige så mange gange du har pladser i dir array
Avatar billede klasker Nybegynder
11. oktober 2003 - 18:58 #2
Jeg har forsøgt, men hvis du prøver finder du hurtigt ud af hvor kompliceret der bliver...
Forestil dig at jeg markerer en pæn portion tekst, og paster en anden tekst fra clipboardet. Når jeg trykker undo skal den pastede tekst jo erstattes med den gamle. Det bliver hurtigt svært :( Jeg håber at der er nogen der kender en tutorial el. lign.
Avatar billede soreno Praktikant
11. oktober 2003 - 18:59 #3
Med andre ord, brug en stack.
Push events på stakken og pop hvis der skal undo'es.
Avatar billede lanstorp Nybegynder
11. oktober 2003 - 20:46 #4
Avatar billede fixxxer Nybegynder
12. oktober 2003 - 18:04 #5
rxrichedit kan vist det du søger... kik på www.torry.net
Avatar billede fixxxer Nybegynder
12. oktober 2003 - 18:05 #6
Avatar billede moejensen Nybegynder
19. april 2004 - 23:08 #7
fandt du en løsning
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester