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} (—————}