📄 edit.pas
字号:
unit edit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, Buttons, Mask, DBCtrls, DB, ADODB, DBCtrlsEh;
type
TedtForm = class(TForm)
code: TLabel;
BtnPrior: TBitBtn;
BtnNext: TBitBtn;
BtnSave: TBitBtn;
Btnexit: TBitBtn;
Btnadd: TBitBtn;
chkStopUsed: TCheckBox;
DEno: TDBEdit;
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BtnSaveClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
ATableName,AFieldValue:string;
procedure CLS; //清除框体内的数据
procedure SetButtonPrior(dsname: TDataSource);//自定义程序,前笔。
procedure SetButtonNext(dsname: TDataSource); //自定义程序,后笔。
procedure SetButtonCancel(dsname: TDataSource); //自定义程序,取消。
procedure SetButtonSave(dsname: TDataSource); //自定义程序,保存。
procedure SetButtonAdd(dsname: TDataSource); //自定义程序,保存新增。
function checkcode:boolean;//自定义函数,检查DEno的值是否为空.
function GetID(Fieldname,TableName:string):integer;
end;
var
edtForm: TedtForm;
implementation
{$R *.dfm}
uses datamodule1;
function TedtForm.GetID(Fieldname,TableName:string):integer;
var
sSQL:string;
begin
sSQL:='select max('+FieldName+') as New_ID from '+TableName;
with DataE2.qryGet do
begin
close;
sql.clear;
sql.text:=sSQL;
open;
if FieldByName('new_ID').AsInteger >0 then
result:=FieldByName('new_ID').AsInteger+1
else
result:=1;
end;
end;
procedure TedtForm.SetButtonPrior(dsname: TDataSource);
begin
with DataE2 do
begin
dsname.DataSet.Prior;
BtnPrior.Enabled:=not dsname.DataSet.Bof;
BtnNext.Enabled:=not dsname.DataSet.Eof;
end;
end;
procedure TedtForm.SetButtonNext(dsname: TDataSource);
begin
with DataE2 do
begin
dsname.DataSet.Next;
BtnPrior.Enabled:=not dsname.DataSet.Bof;
BtnNext.Enabled:=not dsname.DataSet.Eof;
end;
end;
procedure TedtForm.SetButtonCancel(dsname: TDataSource);
begin
with DataE2 do
begin
dsname.DataSet.Cancel;
ModalResult := mrCancel;
end;
end;
procedure TedtForm.SetButtonSave(dsname: TDataSource);
begin
if checkcode then exit;
if (dsname.DataSet.State = dsinsert) then
begin
if ATableName<>'' then
if (DataE2.checkprimarykey(ATableName,AFieldValue,DEno.Text))
and (dsname.DataSet.State in [dsInsert]) then
begin
Application.MessageBox('此编已存在!','错误',64);
DEno.SetFocus;
exit;
end;
dsname.DataSet.Post;
end;
if (dsname.DataSet.State = dsEdit) then dsname.DataSet.Post;
close;
end;
procedure TedtForm.SetButtonAdd(dsname: TDataSource);
begin
with DataE2 do
begin
if checkcode then exit;
if ATableName<>'' then
if checkprimarykey(ATableName,AFieldValue,DEno.Text)
and (dsname.DataSet.State in [dsInsert]) then
begin
Application.MessageBox('此编已存在!','错误',64);
DEno.SetFocus;
exit;
end;
dsname.DataSet.Append;
DEno.SetFocus;
end;
end;
function TedtForm.checkcode:boolean;
var
lblcode:string;
begin
lblcode:=self.Caption+code.Caption;
if trim(DEno.text)='' then
begin
showmessage(lblcode+'不能为空!');
DEno.SetFocus;
result:=true;
end else result:=false;
end;
procedure TedtForm.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
key:= #0;
perform(WM_nextdlgctl,0,0);
end;
if key = #27 then Btnexit.Click;
end;
procedure TedtForm.FormShow(Sender: TObject);
begin
ATableName:='';
if self.caption='供应商资料' then
begin
ATableName:='Vendor';
AFieldValue:='VENDORNO';
end;
if self.caption='客户资料' then
begin
ATableName:='Client';
AFieldValue:='CLIENTNO';
end;
if self.caption='员工资料' then
begin
ATableName:='Employ';
AFieldValue:='Code';
end;
if self.caption='货品资料' then
begin
ATableName:='Goods';
AFieldValue:='Code';
end;
if self.caption='其它出入库类型' then
begin
ATableName:='IOTYPE';
AFieldValue:='Code';
end;
if self.caption='收付款方式' then
begin
ATableName:='PayType';
AFieldValue:='Code';
end;
if self.caption='现金银行' then
begin
ATableName:='Bank';
AFieldValue:='Code';
end;
if self.caption='收入支出类别' then
begin
ATableName:='IEType';
AFieldValue:='Code';
end;
if self.caption='操作员设置' then
begin
ATableName:='Operator';
AFieldValue:='number';
end;
end;
procedure TedtForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Btnexit.Click;
end;
procedure TedtForm.BtnSaveClick(Sender: TObject);
begin
// if trim(DEno.text)<>'' then close;
end;
procedure TedtForm.CLS;
var
i: Integer;
begin
for i := ComponentCount - 1 downto 0 do
begin // 清除所有的TEdit控件的内容
if (Components[i] is TDBEDITEh) then
TDBEDITEh(components[i]).Text:='';
if (Components[i] is TDBDateTimeEditEh) then
TDBDateTimeEditEh(components[i]).Text:='';
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -