📄 uform_custom_input.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 + -