Как удалить три символа, стоящие перед курсором?

Рейтинг: 0Ответов: 1Опубликовано: 28.12.2014
procedure TForm1.div6Click(Sender: TObject);
const
  Z_ = '<div>';
  X_ = '</div>';
var
  tmp, stroka: String;
  x, y: integer;
  pt: TPoint;
begin
  tmp := Memo1.Text;
  x := Memo1.SelStart;
  if (x >= 3) then begin
      y := 3;
      x := x - 2;
  end
  else begin
      y := x;
      x := 0;
  end;
  Delete(tmp, x, y);
  Memo1.Text := tmp;

  x := Memo1.SelStart;
  y := Memo1.SelLength;
  insert(Z_, tmp, x + 1);
  insert(X_, tmp, x + Length(Z_) + y + 1);
  Memo1.Text := tmp;

  Memo1.SelStart:=x+y+5;
end;

Ответы

▲ 2Принят

Попробуйте

tmp := Memo1.Text;

x := Memo1.SelStart;
if (x >= 3) then begin
    y := 3;
    x := x - 3;
end
else begin
    y := x;
    x : = 0;
end;

Delete(tmp, x, y);
Memo1.Text := tmp;