⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 u_web_input.pas

📁 以前写的一个利用P2P 技术的一个通讯的例子。里面用到了 DBISAM 、INDY 控件。
💻 PAS
字号:
unit U_WEB_INPUT;

interface

uses
   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
   ExtCtrls, StdCtrls, TFlatEditUnit, TFlatButtonUnit;

type
   TF_WEB_INPUT = class(TForm)
      Panel1: TPanel;
      Panel2: TPanel;
      Panel3: TPanel;
      LB_HINT: TLabel;
      ED_INPUT: TFlatEdit;
      BN_QD: TFlatButton;
      BN_QX: TFlatButton;
      procedure FormCreate(Sender: TObject);
      procedure BN_QXClick(Sender: TObject);
      procedure BN_QDClick(Sender: TObject);
      procedure FormClose(Sender: TObject; var Action: TCloseAction);
      procedure FormKeyDown(Sender: TObject; var Key: Word;
         Shift: TShiftState);
      procedure ED_INPUTKeyPress(Sender: TObject; var Key: Char);
      procedure ED_INPUTExit(Sender: TObject);
   private
      { Private declarations }
   public
      { Public declarations }
   end;

var
   F_WEB_INPUT: TF_WEB_INPUT;

implementation
uses pub_program, ncp;
var
   m_str: string;
   m_diff: integer;

   {$R *.DFM}

procedure TF_WEB_INPUT.FormCreate(Sender: TObject);
begin
   m_str := tran_str;
   m_diff := g_diff;
   tncp.create(self);
   Caption := '  ' + analy_str('caption', m_str);
   lb_hint.Caption := analy_str('hint', m_str);
   ed_input.Text := analy_str('default', m_str);
   case m_diff of
      1: ed_input.MaxLength := 11;
      5: ed_input.MaxLength := 5;
      2, 3: ed_input.MaxLength := 10;
   end;
end;

procedure TF_WEB_INPUT.BN_QXClick(Sender: TObject);
begin
   g_bsel := false;
   tran_str := '';
   close;
end;

procedure TF_WEB_INPUT.BN_QDClick(Sender: TObject);
begin
   g_bsel := true;
   tran_str := trim(ed_input.text);
   close;
end;

procedure TF_WEB_INPUT.FormClose(Sender: TObject;
   var Action: TCloseAction);
begin
   action := cafree;
end;

procedure TF_WEB_INPUT.FormKeyDown(Sender: TObject; var Key: Word;
   Shift: TShiftState);
begin
   case Key of
      VK_RETURN, VK_DOWN:
         Perform(WM_NEXTDLGCTL, 0, 0);
      VK_UP:
         Perform(WM_NEXTDLGCTL, 1, 0);
      VK_Escape:
         bn_qxclick(sender);
      VK_F2:
         bn_qdclick(sender);
   end;
end;

procedure TF_WEB_INPUT.ED_INPUTKeyPress(Sender: TObject; var Key: Char);
begin
   case m_diff of
      1, 8: key := only_num(key);
      2: key := only_mon(key);
      3: key := only_dat(key);
      4: key := only_chr(key);
      5: key := only_tim(key);
      6:
         if key <> ',' then
            key := only_num(key);
   end;
end;

procedure TF_WEB_INPUT.ED_INPUTExit(Sender: TObject);
begin
   case m_diff of
      3:
         if not verifydate(sender) then
            (sender as TFlatEdit).setfocus
         else
            (sender as TFlatEdit).Text := datetostr(strtodate((sender as TFlatEdit).Text));
      9:
         begin
            ed_input.text := uppercase_wy(ed_input.text);
            if length(ed_input.text) = 3 then
               ed_input.text := getremarktext(ed_input.text, 1);
         end;
   end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -