📄 input.pas
字号:
unit Input;
{输入界面,用ShowInputFrm调用,包括增加及修改资料}
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, Mask, ExtCtrls,TinyDB;
type
TFrmInput = class(TForm)
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
CmdOK: TButton;
CmdExit: TButton;
ComboBox1: TComboBox;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Memo1: TMemo;
Memo2: TMemo;
procedure CmdExitClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure CmdOKClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmInput: TFrmInput;
TTAb:TTinyTable;
SName:string;
TPList:Tstringlist;
TmpType:string; //用来判断是否修改过了通信录类型用的临时变量
TmpModify:boolean; //用来判断是否新增或更新过类型、姓名资料;
function ShowInputFrm(Title:string;ModifyName:string):boolean;
implementation
uses Main;
{$R *.dfm}
function ShowInputFrm(Title:string;ModifyName:string):boolean;
//根据Title来判断是新录入数据还是修改数据
var
Frm:TFrmInput;
begin
Frm:=TFrmInput.Create(Application);
Frm.Caption:=Title;
SName:=Trim(ModifyName);
Result:=Frm.ShowModal=mrOk;
Frm.Free;
end;
procedure TFrmInput.CmdExitClick(Sender: TObject);
begin
Close;
end;
procedure TFrmInput.FormCreate(Sender: TObject);
begin
TPList:=Tstringlist.Create;
TmpModify:=False;
TTAB:=TTinyTable.Create(self);
FrmMain.DBOpen_AdTypes(TTAB);
while not TTAB.Eof do
begin
TPList.Append(TTAB.FieldValues['TypeName']);
TTAB.Next;
end;
FrmMain.DBOpen_ADBK(TTAB);
end;
procedure TFrmInput.FormActivate(Sender: TObject);
var
i:integer;
begin
ComboBox1.Items.Clear;
for i:=0 to TPList.Count-1 do Combobox1.Items.Add(TPList[i]);
ComboBox1.ItemIndex:=0;
if Length(SName)<>0 then //即提供姓名,为修改模式
begin
TTAB.Locate('Name',SName,[]);
for i:=0 to ComboBox1.Items.Count-1 do
if Trim(comboBox1.Items.Strings[i])=Trim(TTAB.FieldValues ['ADType'])
then ComboBox1.ItemIndex:=i;
TmpType:=Trim(TTAB.FieldValues['ADType']); //临时变量--通信录类型
Edit1.Text:=TTAB.FieldValues['Name'];
Edit2.Text:=TTAB.FieldValues['Mobile'];
Edit3.Text:=TTAB.FieldValues['Email'];
Edit4.Text:=TTAB.FieldValues['QQ'];
Edit5.Text:=TTAB.FieldValues['OffTel'];
Edit6.Text:=TTAB.FieldValues['HomeTel'];
Edit7.Text:=TTAB.FieldValues['Fax'];
Edit8.Text:=TTAB.FieldValues['ZipCode'];
Memo1.Lines.Text:=TTAB.FieldValues['ContAdd'];
Memo2.Lines.Text:=TTAB.FieldValues['Memo'];
end;
end;
procedure TFrmInput.FormKeyPress(Sender: TObject; var Key: Char);
begin
if (key=#13) and
((ActiveControl is TEdit) or
(ActiveControl is TComboBox) or
(ActiveControl is TMemo)) then
begin
key:=#0;
SendMessage(handle,wm_nextdlgctl,0,0);
end;
end;
procedure TFrmInput.CmdOKClick(Sender: TObject);
begin
if Length(SName)<>0 then //修改模式
if Length(Trim(Edit1.Text))<>0 then //姓名不为空
with TTAB do
try
Edit;
FieldValues['ADType']:=Trim(ComboBox1.Text);
FieldValues['Name']:=Trim(Edit1.Text);
FieldValues['Mobile']:=Trim(Edit2.Text);
FieldValues['Email']:=Trim(Edit3.Text);
FieldValues['QQ']:=Trim(Edit4.Text);
FieldValues['OffTel']:=Trim(Edit5.Text);
FieldValues['HomeTel']:=Trim(Edit6.Text);
FieldValues['Fax']:=Trim(Edit7.Text);
FieldValues['ZipCode']:=Trim(Edit8.Text);
FieldValues['ContAdd']:=Trim(Memo1.Text);
FieldValues['Memo']:=Trim(Memo2.Text);
Post;
showmessage('修改 ['+Trim(Edit1.Text)+'] 资料成功!');
if (Trim(Edit1.Text)=SName) and
(Trim(ComboBox1.Text)=TmpType) then
TmpModify:=False else TmpModify:=true;
{ 假如没修改过姓名或类型,无需刷新FrmMain下的Treeview
如TmpModify:=true,ModalResult:=mrOk
当ModalResult=mrOk时,ShowInputFrm函数返回True
根据返回的Boolean值,返回True表示要刷新TreeView }
CmdExitClick(Sender);
except
showmessage('数据库写入资料不成功,请检查!');
end
else //姓名为空
showmessage('没名字?不可以的哦!');
if Length(SName)=0 then //新增模式
if Length(Trim(Edit1.Text))<>0 then
try
TTAB.AppendRecord([Trim(ComboBox1.Text),
Trim(Edit1.Text),
Trim(Edit2.Text),
Trim(Edit3.Text),
Trim(Edit4.Text),
Trim(Edit5.Text),
Trim(Edit6.Text),
Trim(Edit7.Text),
Trim(Edit8.Text),
Trim(Memo1.Text),
Trim(Memo2.Text)]);
ShowMessage('新增 ['+Trim(Edit1.Text)+'] 资料成功!');
TmpModify:=True;
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
Edit4.Clear;
Edit5.Clear;
Edit6.Clear;
Edit7.Clear;
Edit8.Clear;
Memo1.Clear;
Memo2.Clear;
ComboBox1.SetFocus;
except
ShowMessage('数据库写入资料不成功,请检查!');
end
else ShowMessage('没名字?不可以的哦!');
end;
procedure TFrmInput.FormClose(Sender: TObject; var Action: TCloseAction);
begin
TPList.Free;
TTAB.Close;
TTAB.Free;
if TmpModify then ModalResult:=mrOk
else ModalResult:=mrCancel;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -