diff -urN -X I:\DN2DIFF\IGNORE.LST -x dn.ini -x dnini.in_ I:\dn2s/ccalc.pas ./ccalc.pas
--- I:\dn2s/ccalc.pas	Tue Mar 30 14:37:34 2010
+++ ./ccalc.pas	Wed Mar 31 08:01:24 2010
@@ -328,6 +328,17 @@
     WasKey: Boolean;
   begin
   WasKey := Event.What = evKeyDown;
+{ AK155 31.03.2010 }
+  if WasKey and not (Event.CharCode in ['0'..'9', '('])
+    and (CurPos = 0) and (SelStart = 0) and (SelEnd = Length(Data))
+  then
+    begin { Вероятно, нажата клавиша операции, когда весь текст
+      выделен после предыдущего Enter. В этом случае не стираем
+      текст, а снимаем выделение и дописываем в конец текста. }
+    SelStart := Length(Data);
+    CurPos := SelStart;
+    end;
+{/AK155}
   inherited HandleEvent(Event);
   if WasKey then
     begin
