n := WhereX-XOt;
if n<Length(S) then begin
Delete (S,n+l,l) ;
WriteString end end; {Del} {—————} Procedure Backspace;
(Забить символ слева от курсора} vac
n: Byte;
begin
n := WhereX-XOt;
if n>=l then begin
Delete(S,n,l) ;
WriteString;
GotoXY(WhereX-l,WhereY) end end; {Backspace} !—————} Procedure AnyChar;
var
n: Byte;
begin
n := WhereX-XOt;
if n»Length(S) then
if Xlt+XOt+Length(S)<-X2t then
S := S+c else else
if InsFlag and (Xlt+XOt+Length(S) <»S<2t) then
Insert (C,S,n+l) else
S[n+l] := C;
WriteString;
GotoXY(WhereX+l,WhereY) end; {AnyChar} {—————} Procedure Enter;
{Завершает ввод по клавише Enter} var
k: Byte;
begin
with F do begin
for k := 1 to Length(S) do BufPtr"[BufEnd+k-1] := S[k];
BufEnd := Length(S);
if BufEnd°0 then begin
BufEnd := 1;
BufPtr"[0] := ' ' end end;
GotoXY(l,WhereY+l) end; {Enter} (—————}