undo og redo

Tags:    delphi

Jeg skal bruge en fortryd funtkion, og en fortryd fortryd (redo) funtkion. Er der nogle der kender disse?



32 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Denne kan bruges til en richedit:

RichEdit1.Undo;

Og så er det væl bare at skifte lidt rundt.
Skriv sådan nogle spørgsmål, gerne i vores gruppe



Theis F. Hinz
(Shafh)
Theisf@stofanet.dk


Man kommer aldrig vider, vis alle er enige...



Her er et meget simpelt eksempel til at lave din egen undo liste!

Fold kodeboks ind/udKode 


I eksemplet er der blevet brugt en TMemo og koden er skrevet i dens OnKeyPress property!

Som jeg sagde er det en meget simpel eksempel, da den stort set bare kopier hele teksten i en array! Dette er selvfølig ikke meget hensigtsmæssigt, hvis du vil skrive lange tekster, men det er kun for at vise dig hvordan det kan lade sig gøre!

På denne måde kan du fortryde, hver enkelt tast lige fra din start position! Jeg vil anbefale dig at korte det lidt ned, så foreksempel kun når der bliver trykket på space bliver der kopieret tekst til Undo array'en. Det vil dermed resultere i at du kun kan fortyde for hvert ord, men det vil også betyde at det ikke kommer til at fylde så meget i hukommelsen!

Held og Lykke
Søren Klit Lambæk

[Redigeret d. 27/03-04 20:10:17 af Søren Klit Lambæk]



Det kommer an på hvilken komponent du bruger...altså hvilket komponent der skal undo og redo på!



Windows er verdens beste trojan!



En memo!

TMDI(ActiveMDIChild).Memo1.undo ting her;

[Redigeret d. 27/03-04 16:08:07 af saxe]



Jeg mangler stadig en redo funktion. Og desuden vil jeg gerne have fortryd til at virke længere end én gang tilbage



Hvis du vil havde et "Rigtigt" Undo/Redo liste, vil jeg anbefale dig at lave din egen, ved eventuelt brug af Array's. Det vil gøre dig istand til at havde 100% kontrol over dit program!



Hvor skal den kode placeres? lige under begin? Jeg kan nemlig ikke få det til at virke



Jeg skrev at koden er blevet skrevet i TMemo's OnKeyPress property! Det vil sige, at du skal vælge din TMemo på din form klik på "Events" i Object Inspectoren og dobbeltklikke i feltet ved "OnKeyPress"! :)

[Redigeret d. 27/03-04 20:19:00 af Søren Klit Lambæk]



Erstat eventuelt...

procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
begin

end;

...som Delphi for-skriver til dig med mit kode!





Det virker nu, bortset fra den ikke gør noget som helst

[Redigeret d. 27/03-04 20:32:23 af saxe]



t