Показать сообщение отдельно
  #2  
Старый 21.12.2008, 20:51
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,097
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Разрешить ввод знака - только если он вводиться на первом месте и если его еще нет.

Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
If not (Key In['0'..'9',#8,'-']) then
begin
  MessageDlg('Bla-bla-bla!',mtError,[mbOk],0);
  key:=#0;
end;
If Key = '-' Then
  Begin
    If (Edit1.SelStart <> 1) Or (Pos('-',Edit1.text) > 0) Then
      Begin
         Key := #0;
      End;
  End;

end;
Ответить с цитированием