Перейти к содержанию
Fire Monkey от А до Я
  • 0

Перерисовка edit'a при замене символа


Schekhovtsov

Вопрос

Пытаюсь заменить символы, пробовал два способа, через цикл и обычный.

s: string; S:=InfoPanelEdit1.Text;  while Pos('=',S)<>0 do    begin      Insert('+',S,Pos('=',S));      Delete(S,Pos('=',S),1)    end;  InfoPanelEdit1.Text:=S
или
InfoPanelEdit1.Text := InfoPanelEdit1.Text.Replace('=','+');
В обоих случаях замена происходит лишь после ввода следующего символа. Т.е. я ввожу "=", он записывается в edit, и только после ввода следующего он заменяется на "+". Код кладу в OnChangeTracking. Можно как-то заменять одним действием, чтобы пользователь сразу видел "+"? Изменено пользователем Schekhovtsov
Ссылка на комментарий

Рекомендуемые сообщения

  • 0
procedure TForm1.InfoPanelEdit1KeyDown(Sender: TObject; var Key: Word;
  var KeyChar: Char; Shift: TShiftState);
begin
  if KeyChar = '=' then begin
      KeyChar := '+';
  end{if};
  KeyChar := #0;
end{procedure TForm1.InfoPanelEdit1KeyDown};
Изменено пользователем umkes
Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...