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

📄 uform_custom_input.pas

📁 Delphi应用婚纱系统 Delphi应用婚纱系统
💻 PAS
字号:
unit Uform_custom_input;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls, DB, ADODB, ComCtrls, ImgList;

type
  Tform_custom_input = class(TForm)
    Panel1: TPanel;
    Image1: TImage;
    Image2: TImage;
    Bevel1: TBevel;
    Label2: TLabel;
    Label1: TLabel;
    Edit1: TEdit;
    Label3: TLabel;
    Edit2: TEdit;
    Label4: TLabel;
    Edit3: TEdit;
    Label5: TLabel;
    Edit4: TEdit;
    Label6: TLabel;
    Edit5: TEdit;
    Label7: TLabel;
    Edit6: TEdit;
    Label8: TLabel;
    Button1: TButton;
    Label9: TLabel;
    Edit7: TEdit;
    Label10: TLabel;
    Edit8: TEdit;
    Button2: TButton;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    recordset_temp: TADOQuery;
    ImageList1: TImageList;
    Panel2: TPanel;
    Label11: TLabel;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    listview1: TListView;
    ImageList2: TImageList;
    Panel3: TPanel;
    Label12: TLabel;
    BitBtn5: TBitBtn;
    BitBtn6: TBitBtn;
    ListView2: TListView;
    procedure Edit1KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit2KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit3KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit5KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit6KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit7KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit8KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit4KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormShow(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit8KeyPress(Sender: TObject; var Key: Char);
    procedure Edit5KeyPress(Sender: TObject; var Key: Char);
    procedure Edit7KeyPress(Sender: TObject; var Key: Char);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    bYesno:boolean;
    string_custom_id:string;
    string_mname:string;
    string_fname:string;
    string_tel:string;
    int_area:integer;
    int_area_index:integer;
    string_address:string;
    int_from:integer;
    int_from_index:integer;
    string_postcode:string;
  end;

var
  form_custom_input: Tform_custom_input;

implementation

{$R *.dfm}

procedure Tform_custom_input.Edit1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (key=13)then edit2.SetFocus ;
end;

procedure Tform_custom_input.Edit2KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (key=13)then edit3.SetFocus ;
end;

procedure Tform_custom_input.Edit3KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (key=13)then edit4.SetFocus ;
end;

procedure Tform_custom_input.Edit5KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
   p:^integer;
begin
  if (key=13)then
  begin
    edit6.SetFocus ;
    exit;
  end
  else
  begin
    if (key=38) then
    begin
      int_area_index:=int_area_index-1;
      if int_area_index=0 then int_area_index:=listview1.Items.Count ;
      edit5.Text :=listview1.Items[int_area_index-1].Caption ;
      p:=listview1.Items[int_area_index-1].Data;
      int_area:=p^;
    end
    else
    begin
      int_area_index:=int_area_index+1;
      if int_area_index=listview1.Items.Count+1 then int_area_index:=1;
      edit5.Text :=listview1.Items[int_area_index-1].Caption ;
      p:=listview1.Items[int_area_index-1].Data;
      int_area:=p^;
    end;
  end;
end;

procedure Tform_custom_input.Edit6KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (key=13)then edit7.SetFocus ;
end;

procedure Tform_custom_input.Edit7KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
   p:^integer;
begin
  if (key=13)then
  begin
    edit8.SetFocus ;
  end
  else
  begin
    if (key=38) then
    begin
      int_from_index:=int_from_index-1;
      if int_from_index=0 then int_from_index:=listview2.Items.Count ;
      edit7.Text :=listview2.Items[int_from_index-1].Caption ;
      p:=listview2.Items[int_from_index-1].Data;
      int_from:=p^;
    end
    else
    begin
      int_from_index:=int_from_index+1;
      if int_from_index=listview2.Items.Count+1 then int_from_index:=1;
      edit7.Text :=listview2.Items[int_from_index-1].Caption ;
      p:=listview2.Items[int_from_index-1].Data;
      int_from:=p^;
    end;
  end;
end;

procedure Tform_custom_input.Edit8KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (key=13)then BitBtn1.SetFocus ;
end;

procedure Tform_custom_input.Edit4KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (key=13)then edit5.SetFocus ;
end;

procedure Tform_custom_input.FormShow(Sender: TObject);
var
  int_i:integer;
  ListItem: TListItem;
  p:^integer;
begin
  edit1.SetFocus ;
  bYesno:=false;

  recordset_temp.SQL.Clear;
  listview1.Clear ;
  listview2.Clear ;

  recordset_temp.SQL.Add('select * from [AREA]');
  recordset_temp.Open;
  for int_i:=1 to recordset_temp.RecordCount do
  begin

    if ((int_i=1) and (int_area=0)) then
    begin
      int_area_index:=int_i;
      int_area:=recordset_temp.Fields[0].AsInteger ;
      edit5.Text :=recordset_temp.Fields[1].AsString;
    end;
    if (int_area=recordset_temp.Fields[0].AsInteger ) then
    begin
      int_area_index:=int_i;
      int_area:=recordset_temp.Fields[0].AsInteger ;
      edit5.Text :=recordset_temp.Fields[1].AsString ;
    end;
    listitem:=listview1.Items.Add ;
    listitem.Caption :=recordset_temp.Fields[1].AsString ;
    listitem.ImageIndex :=0;
    new(p);
    p^ := recordset_temp.Fields[0].AsInteger ;
    listitem.Data :=p;
    recordset_temp.Next;
  end;
  recordset_temp.Close ;

  recordset_temp.SQL.Clear ;
  recordset_temp.SQL.Add('select * from [FROM]');
  recordset_temp.Open;
  for int_i:=1 to recordset_temp.RecordCount do
  begin
    if ((int_i=1) and (int_from=0)) then
    begin
      int_from_index:=int_i;
      int_from:=recordset_temp.Fields[0].AsInteger ;
      edit7.Text :=recordset_temp.Fields[1].AsString;
    end;
    if (int_from=recordset_temp.Fields[0].AsInteger ) then
    begin
      int_from_index:=int_i;
      int_from:=recordset_temp.Fields[0].AsInteger ;
      edit7.Text :=recordset_temp.Fields[1].AsString ;
    end;

    listitem:=listview2.Items.Add ;
    listitem.Caption :=recordset_temp.Fields[1].AsString ;
    listitem.ImageIndex :=0;
    new(p);
    p^ := recordset_temp.Fields[0].AsInteger ;
    listitem.Data :=p;
    recordset_temp.Next;
  end;
  recordset_temp.Close ;

  //各个EDIT复制
  edit1.text :=string_custom_id;
  edit2.Text :=string_mname;
  edit3.Text :=string_fname;
  edit4.Text :=string_tel;
  edit6.Text :=string_address;
  edit8.Text :=string_postcode;

end;

procedure Tform_custom_input.BitBtn2Click(Sender: TObject);
begin
  close;
end;
procedure Tform_custom_input.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if ((ord(key)>96) and (ord(key)<123))then
  begin
    key:=chr(ord(key)-32);
  end;
  if not((Ord(key)>47) and (Ord(key)<58))
    and not((Ord(key)>64) and (Ord(key)<91))
    and (Ord(key)<>8) then
  begin
    key:=#0;
  end;
end;

procedure Tform_custom_input.Edit8KeyPress(Sender: TObject; var Key: Char);
begin
  if not((Ord(key)>47) and (Ord(key)<58))
    and (Ord(key)<>8) then
  begin
    key:=#0;
  end;
end;

procedure Tform_custom_input.Edit5KeyPress(Sender: TObject; var Key: Char);
begin
  key:=#0;
end;

procedure Tform_custom_input.Edit7KeyPress(Sender: TObject; var Key: Char);
begin
  key:=#0;
end;

procedure Tform_custom_input.BitBtn1Click(Sender: TObject);
begin
  if length(edit1.Text )=0 then
  begin
    messagebox(self.Handle ,'请输入客户号!','提示',MB_OK or MB_ICONASTERISK);
    edit1.SetFocus ;
    exit;
  end;
  if
    (length(trim(edit2.Text ))=0 )
    and
    (length(trim(edit3.Text ))=0)
    then
  begin
    messagebox(self.Handle ,'必须输入一个客户的名称!','提示',MB_OK or MB_ICONASTERISK);
    edit2.SetFocus ;
    exit;
  end;
  if
    (length(trim(edit8.Text ))<>6 )
    then
  begin
    messagebox(self.Handle ,'邮政编码位数不正确!','提示',MB_OK or MB_ICONASTERISK);
    edit8.SetFocus ;
    exit;
  end;

  string_custom_id:=trim(edit1.Text);
  string_mname:=trim(edit2.Text);
  string_fname:=trim(edit3.Text);
  string_tel:=trim(edit4.Text);
  string_address:=trim(edit6.Text);
  string_postcode:=trim(edit8.Text);
  bYesno:=true;
  close;
end;

procedure Tform_custom_input.BitBtn4Click(Sender: TObject);
begin
  Panel2.Visible :=false;
end;

procedure Tform_custom_input.BitBtn3Click(Sender: TObject);
var
   p:^integer;
begin
  if listview1.Selected =nil then exit ;
  int_area_index:=listview1.Selected.Index;
  p:=listview1.Selected.Data ;
  int_area:=p^;
  edit5.Text :=trim(listview1.Selected.Caption) ;
  Panel2.Visible :=false;
  edit5.SetFocus ;
end;

procedure Tform_custom_input.Button1Click(Sender: TObject);
begin
  Panel2.Visible :=true;
end;

procedure Tform_custom_input.BitBtn6Click(Sender: TObject);
begin
  Panel3.Visible :=false;
end;

procedure Tform_custom_input.BitBtn5Click(Sender: TObject);
var
   p:^integer;
begin
  if listview2.Selected =nil then exit ;
  int_from_index:=listview2.Selected.Index;
  p:=listview2.Selected.Data ;
  int_from:=p^;
  edit7.Text :=trim(listview2.Selected.Caption) ;
  Panel3.Visible :=false;
  edit7.SetFocus ;
end;

procedure Tform_custom_input.Button2Click(Sender: TObject);
begin
  Panel3.Visible :=true;
end;

end.

⌨️ 快捷键说明

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