Newsgroup: it.comp.lang.delphi
Titolo: ClearUndo in Memo

Scusate la domanda da principiante, quale sono. Ho provato e riprovato ad
implementare in D4 la funzione Undo nel menu Edit di un componente Memo.
Nelle procedure che salvano il file corrente ho inserito una chiamata a
Memo.ClearUndo, sperando in questo modo di restringere l'azione di Undo ai
soli cambiamenti intervenuti dopo l'ultimo salvataggio. Niente da fare, Undo
butta via tutto, per quanti salvataggi io abbia fatto.
Qualcuno sa aiutarmi? Grazie comunque,
==================================================
Paolo Cavallo                " I am a teacher at
ton...@iperbole.bologna.it
    heart, and there
                               are moments in the
       classroom when I can hardly hold the joy. "
                               P. J. Palmer, 1998
http://www.alberghetti.it/paolo.cavallo/pc.htm
==================================================

"Paolo Cavallo" ha scritto nel messaggio
| Nelle procedure che salvano il file corrente ho inserito una chiamata a
| Memo.ClearUndo, sperando in questo modo di restringere l'azione di Undo
ai
| soli cambiamenti intervenuti dopo l'ultimo salvataggio. Niente da fare,
Undo
| butta via tutto, per quanti salvataggi io abbia fatto.
| Qualcuno sa aiutarmi? Grazie comunque,
Secondo me, ClearUndo non funziona perche' e' implementata in modo
sbagliato.
Prova invece ad usare:
Memo1.Perform(EM_EMPTYUNDOBUFFER,0,0)
Fammi sapere.
Ciao.
---------------------------
ACSH
"Non voglio un mondo migliore:
 voglio un mondo piu' interessante!"

 Fammi sapere.
Ti rispondo sul ng perche' ho l'impressione che il tuo indirizzo sia
"antispammato".
Ti ringrazio molto: ora funziona come volevo - piu' o meno: devo ancora
capire come
gestire gli Undo ripetuti, ma quella e' responsabilita' mia.
Ti confesso che avevo il sospetto di una implementazione sbagliata, dato che
non
trovavo da nessuna parte indicazioni particolari su come usare queste
funzioni.
E' una faccenda curiosa: sai se sia discussa da qualche parte?
Grazie ancora,
==================================================
Paolo Cavallo       " I am a teacher at heart, and
                there are moments in the classroom
                 when I can hardly hold the joy. "
                               P. J. Palmer, 1998
paolo....@iperbole.bologna.it
http://www.alberghetti.it/paolo.cavallo/pc.htm
==================================================


Strano: TCustomEdit.ClearUndo e' proprio
procedure TCustomEdit.ClearUndo;
begin
  SendMessage(Handle, EM_EMPTYUNDOBUFFER, 0, 0);
end;
che dovrebbe fare esattamente la stessa cosa (ed effettivamente lo fa).
La mia versione del D e' la 5 Pro patchata.
Saluti
Paolo Arosio

"Paolo Cavallo" ha scritto nel messaggio
| Ti confesso che avevo il sospetto di una implementazione sbagliata, dato
| che non trovavo da nessuna parte indicazioni particolari su come
| usare queste funzioni.
| E' una faccenda curiosa: sai se sia discussa da qualche parte?
|
No, mi spiace: ho solamente il ricordo di precedenti tentativi falliti da
parte mia risolti in quella maniera :)
Magari, trovando il tempo, mi informo a riguardo.


 Magari, trovando il tempo, mi informo a riguardo.
Grazie mille ancora,
--


"Paolo Arosio" ha scritto nel messaggio
| Strano: TCustomEdit.ClearUndo e' proprio
|
| procedure TCustomEdit.ClearUndo;
| begin
|   SendMessage(Handle, EM_EMPTYUNDOBUFFER, 0, 0);
| end;
|
| che dovrebbe fare esattamente la stessa cosa (ed effettivamente lo fa).
| La mia versione del D e' la 5 Pro patchata.
|
- Risposta cumulativa anche per Paolo C. -
Dopo qualche ricerca (Paolo C.: cerca ClearUndo su
http://www.tamaracka.com/search.htm
 ) ho scoperto che in D4 - che io
possiedo - invece e' cosi':
procedure TCustomEdit.ClearUndo;
begin
  SendMessage(Handle, WM_CLEAR, 0, 0);
end;
Ora tutto e' piu' chiaro:
"An application sends a WM_CLEAR message to an edit control or combo box to
delete (clear) the current selection, if any, from the edit control."
Invece e' giusto:
"An application sends an EM_EMPTYUNDOBUFFER message to reset the undo flag
of an edit control. The undo flag is set whenever an operation within the
edit control can be undone."
Ecco scoperto l'arcano: quanto traffico per un piccolo bug!  :)
Ciao.
---------------------------
ACSH
WOMEN.ZIP: A great program, but it doesn't come with documentation
WOMAN.ZIP: Great Shareware, but be careful of viruses ...