Lazarus
Home
Help
TinyPortal
Search
Login
Register
Lazarus
»
Forum
»
Programming
»
LCL
»
[SOLVED] Undoing text editing in TEdit, etc.
Free Pascal
Website
Downloads
Wiki
Documentation
Bugtracker
Mailing List
Lazarus
Website
Downloads (Laz+FPC)
Packages (OPM)
FAQ
Wiki
Documentation (RTL/FCL/LCL)
Bugtracker
CCR Bugs
GIT
Mailing List
Other languages
Foundation
Website
Useful Wiki Links
Project Roadmap
Getting the Source
Screenshots
How to use the forum
About donations (wiki)
Bookstore
Computer Math and Games in Pascal
(preview)
Lazarus Handbook
Search
Advanced search
WIKI Timeout issues
Please read here if you have trouble connecting to the wiki
Recent
Where to download IBX pre...
by
incendio
[
Today
at 01:06:22 am]
Lazarus 4, What's wrong w...
by
incendio
[
Today
at 12:48:54 am]
Component to manage short...
by
EganSolo
[
Today
at 12:36:36 am]
Strict Aliasing Rule
by
tetrastes
[
Today
at 12:06:08 am]
Replace controls dynamica...
by
Aruna
[June 18, 2025, 11:58:42 pm]
[SOLVED] Which RTL Unit d...
by
tfurnivall
[June 18, 2025, 10:25:01 pm]
CEF component - the first...
by
wp
[June 18, 2025, 08:21:11 pm]
slim installation by remo...
by
wp
[June 18, 2025, 08:19:09 pm]
Crash on changing a strin...
by
Martin_fr
[June 18, 2025, 08:11:34 pm]
How to stop macro executi...
by
Martin_fr
[June 18, 2025, 08:06:44 pm]
Layout problem by nested ...
by
etrusco
[June 18, 2025, 07:55:44 pm]
Build failure
by
user5
[June 18, 2025, 07:42:34 pm]
Loading an image from an ...
by
Fred vS
[June 18, 2025, 06:29:01 pm]
IDE Lazarus 4.0 on Window...
by
Martin_fr
[June 18, 2025, 03:47:30 pm]
Lazarus 4.0 RC3
by
paxnet_be
[June 18, 2025, 02:34:23 pm]
Firebird 5 remote login v...
by
LacaK
[June 18, 2025, 02:07:34 pm]
Compile errors in MacBook...
by
Thaddy
[June 18, 2025, 11:46:06 am]
LAMW - UTF-8 character in...
by
Alcatiz
[June 18, 2025, 11:36:29 am]
How to run an external pr...
by
vsajip
[June 18, 2025, 08:50:34 am]
lazbuild command line swi...
by
n7800
[June 18, 2025, 04:21:35 am]
dBGRidController and Erro...
by
essence-ciel
[June 18, 2025, 01:15:11 am]
"LCLVersion" in *.lfm fil...
by
zeljko
[June 17, 2025, 11:05:36 pm]
FPC for high-performance ...
by
Thaddy
[June 17, 2025, 09:42:33 pm]
x86_64-win64 annoys me
by
Nicole
[June 17, 2025, 08:28:16 pm]
OpenDialog and mouse even...
by
Martin_fr
[June 17, 2025, 07:37:19 pm]
« previous
next »
Print
Pages: [
1
]
Author
Topic: [SOLVED] Undoing text editing in TEdit, etc. (Read 1170 times)
egsuh
Hero Member
Posts: 1614
[SOLVED] Undoing text editing in TEdit, etc.
«
on:
September 18, 2019, 11:48:52 am »
Is it possible to undo editings in TEdit, etc.?
For example, the original Edit1.Text = 'Edit1'. And I tried to change some part of it, but I want to leave the EditBox just leaving the original 'Edit1' text, ignoring my own changes?
«
Last Edit: September 18, 2019, 12:13:33 pm by egsuh
»
Logged
wp
Hero Member
Posts: 12864
Re: Undoing text editing in TEdit, etc.
«
Reply #1 on:
September 18, 2019, 12:07:07 pm »
Press ESC to restore the original content. I think it is not ready-made, but you can easily add it by yourself:
Add a string variable to the form named FOldEdit1Text
Write a handler for Edit1's OnEnter event copying is Text to FOldEdit1Text.
Write a handler for Edit1's OnKeyDown event checking the pressed key for ESCAPE and replacing the Text by FOldEdit1Text.
Code: Pascal
[Select]
[+]
[-]
unit
Unit1
;
{$mode objfpc}{$H+}
interface
uses
Classes
,
SysUtils
,
Forms
,
Controls
,
Graphics
,
Dialogs
,
StdCtrls
;
type
{ TForm1 }
TForm1
=
class
(
TForm
)
Edit1
:
TEdit
;
Edit2
:
TEdit
;
procedure
Edit1Enter
(
Sender
:
TObject
)
;
procedure
Edit1KeyDown
(
Sender
:
TObject
;
var
Key
:
Word
;
Shift
:
TShiftState
)
;
procedure
Edit2Enter
(
Sender
:
TObject
)
;
procedure
Edit2KeyDown
(
Sender
:
TObject
;
var
Key
:
Word
;
Shift
:
TShiftState
)
;
private
FOldEdit1Text
:
String
;
FOldEdit2Text
:
String
;
public
end
;
var
Form1
:
TForm1
;
implementation
{$R *.lfm}
uses
LCLType
;
{ TForm1 }
procedure
TForm1
.
Edit1Enter
(
Sender
:
TObject
)
;
begin
FOldEdit1Text
:
=
Edit1
.
Text
;
end
;
procedure
TForm1
.
Edit1KeyDown
(
Sender
:
TObject
;
var
Key
:
Word
;
Shift
:
TShiftState
)
;
begin
if
Key
=
VK_ESCAPE
then
begin
Edit1
.
Text
:
=
FOldEdit1Text
;
Edit1
.
SelectAll
;
Key
:
=
0
;
end
;
end
;
procedure
TForm1
.
Edit2Enter
(
Sender
:
TObject
)
;
begin
FOldEdit2Text
:
=
Edit2
.
Text
;
end
;
procedure
TForm1
.
Edit2KeyDown
(
Sender
:
TObject
;
var
Key
:
Word
;
Shift
:
TShiftState
)
;
begin
if
Key
=
VK_ESCAPE
then
begin
Edit2
.
Text
:
=
FOldEdit2Text
;
Edit2
.
SelectAll
;
Key
:
=
0
;
end
;
end
;
end
.
Logged
egsuh
Hero Member
Posts: 1614
Re: Undoing text editing in TEdit, etc.
«
Reply #2 on:
September 18, 2019, 12:13:06 pm »
@wp
I see. The function is not built-in. Writing such codes is not big deal.
Logged
Print
Pages: [
1
]
« previous
next »
Lazarus
»
Forum
»
Programming
»
LCL
»
[SOLVED] Undoing text editing in TEdit, etc.
TinyPortal
© 2005-2018