Показать сообщение отдельно
  #2  
Старый 15.07.2020, 09:20
Аватар для dr. F.I.N.
dr. F.I.N. dr. F.I.N. вне форума
I Like it!
 
Регистрация: 12.12.2009
Адрес: Россия, г. Новосибирск
Сообщения: 660
Версия Delphi: D6/D7
Репутация: 26643
По умолчанию

А в какой момент содержимое TEdit нужно считать "бывшим"?
Осмелюсь предположить, что Вы хотите сделать так:
Код:
var
  Edit1_LastValue: string; //Не забудь инициализировать начальным значением
...
//при потере фокуса в TEdit
procedure TEdit1.OnExit(Sender: TObject);
begin
  if Edit1_LastValue <> Edit1.Text then 
  begin
    SomeProc;
    Edit1_LastValue := Edit1.Text;
  end;
end;
Т.е. Ваша процедура вызывается в тот момент, когда окончен ввод в поле (поле ввода теряет фокус), и новое значение запоминается.

Как-то так. Если таких полей несколько, тот тут как Вам будет удобнее:
1. Завести по переменной на каждое поле ввода
2. Сделать массив по числу таких полей ввода (хоть динамический, хоть статический) и определять в общей процедуре какое поле изменилось, например по свойству Tag.
3. Написать новый класс на основе TEdit с нужным функционалом.
4. Поискать на просторах готовый компонент с нужным функционалом.
__________________
Грамотно поставленный вопрос содержит не менее 50% ответа.
Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть.
Ответить с цитированием