zoukankan      html  css  js  c++  java
  • 执行这些代码, Edit1只能输入数字,小数点和负号,负号和小数点只能输入一个,负号必须在最前,粘贴的数字必须完全正确.

    执行这些代码, Edit1只能输入数字,小数点和负号,负号和小数点只能输入一个,负号必须在最前,粘贴的数字必须完全正确.
    
    type
      TForm1 = class(TForm)
        Edit1: TEdit;
        procedure FormCreate(Sender: TObject);
      private
        Edit1OldProc: TWndMethod;
        procedure Edit1NewProc(var Message: TMessage);
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    uses Clipbrd;
    
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      Edit1OldProc := Edit1.WindowProc;
      Edit1.WindowProc := Edit1NewProc;
    end;
    
    procedure TForm1.Edit1NewProc(var Message: TMessage);
    var
      s: string;
      v: double;
    begin
      case Message.Msg of
        WM_PASTE:
          begin
            s := Clipboard.astext;
            s := copy(edit1.Text, 0, edit1.SelStart) + s + copy(edit1.Text, edit1.SelStart + edit1.SelLength, length(edit1.Text));
            if trystrtofloat(s, v) then
              Edit1OldProc(Message)
            else
              ShowMessage('只允许输入数字');
          end;
        WM_CHAR:
          begin
            if (TWMCHAR(Message).CharCode = 45) then
              if (Pos('-', Edit1.Text) = 0) and (Edit1.SelStart = 0) then
              Edit1OldProc(Message);
            if (TWMCHAR(Message).CharCode = 46) then
              if (Pos('.', Edit1.Text) = 0) then
              Edit1OldProc(Message);
            if TWMCHAR(Message).CharCode in [48..57, 8, 3] then
              Edit1OldProc(Message);
            if (TWMCHAR(Message).CharCode = 22)  then
              Edit1OldProc(Message);
          end;
      else
        Edit1OldProc(Message);
      end;
    end;
    -----------
  • 相关阅读:
    在线压缩与解压
    批处理删除文件del dos cmd
    git教程
    网页图标下载
    vs2010使用git
    配置 authorization deny allow
    mvc4下载
    nuget自动发布脚本
    OAuth2.0
    使用 HttpModel与现有基于共享登录信息( Cookie )的网站进行集成
  • 原文地址:https://www.cnblogs.com/CodeGear/p/6881181.html
Copyright © 2011-2022 走看看