Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Ограничение ввода и Clipboard


Автор: MacTep 11.1.2013, 09:21
Добрый день!

Ограничиванию возможность ввода текста в Edit следующим образом:
Код

procedure TfrmAddNewPPM.edPPM_mainKeyPress(Sender: TObject; var Key: Char);
begin
  if not (Key in [Chr(VK_BACK), Chr(VK_RIGHT), Chr(VK_LEFT)]) then
  begin
    if not (Key in ['0'..'9']) then
    begin
      Key := #0;
      exit;
    end;
  end;
end;
Получается, что так я позволяю вводить только цифры.
Как сделать, чтобы в этом поле можно еще было пользоваться комбинациями Ctlr+C, Ctrl+V, чтобы Copy/Paste работал?

Автор: Чучмек 11.1.2013, 12:38
Код

var
 oldtext:string;
procedure TForm1.Edit1Change(Sender: TObject);
var
 v:int64;
 text:string;
begin
text:=(Sender as TEdit).Text;
if TryStrToInt64(text+'0',v) then  oldtext:=text else
 begin
 (Sender as TEdit).Text:=oldtext;
 (Sender as TEdit).SelStart:=length(oldtext);
 end;
end;

procedure TForm1.Edit1Enter(Sender: TObject);
begin
oldtext:=(Sender as TEdit).Text;
end;

гы  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)