Topic: Как установить значение поля на форме открытой как "Новая запись"

Обычно форма очищается автоматически, если она вызывается для создания новой записи кнопкой с действием "Новая запись".
Например:
...
Frm_ShowRecord.Edit1.Text := 'мой текст';
а затем вызываю эту форму нажатием на кнопку с действием "Новая запись":
Form1.Btn_AddRecord.Click;
...
И при открытии формы поле Edit1 остается пустым.
Но, мне надо, чтобы там был 'мой текст'.
.
Как установить значение поля на форме открытой как "Новая запись"?

Re: Как установить значение поля на форме открытой как "Новая запись"

Для установки значения используйте событие формы OnShow, пример

procedure Frm_ShowRecord_OnShow (Sender: TObject; Action: string);
begin
    if Action = 'NewRecord' then Frm_ShowRecord.Edit1.Text := 'fgd';
end;
Dmitry.

Re: Как установить значение поля на форме открытой как "Новая запись"

У меня значение, которое надо присвоить полю, определяется в процедуре на другой форме, в которой программно отрабатывается Click на кнопку добавления новой записи.
А в процедуре Frm_ShowRecord_OnShow нужное значение не может быть явно задано.
...
Я решил эту задачу путем записи нужного значения в Label на форму Frm_ShowRecord из модуля, в котором вызываю Click.
А в процедуре Frm_ShowRecord_OnShow просто переписываю значение из Label в Edit.
Таким образом обхожу автоматическое очищение полей ввода при открытии формы в режиме Новая запись.
Но, может быть, что-то поэлегантнее можно сделать?

Re: Как установить значение поля на форме открытой как "Новая запись"

Можете форме Frm_ShowRecord задать значение свойства TagString

Frm_ShowRecord.TagString := 'мой текст';

затем использовать его в событии OnShow

procedure Frm_ShowRecord_OnShow (Sender: TObject; Action: string);
begin
    if Action = 'NewRecord' then Frm_ShowRecord.Edit1.Text := Frm_ShowRecord.TagString;
end;
Dmitry.