📄 custype.pas
字号:
unit custype;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, DBCtrls, Db, DBTables, Grids, DBGrids, StdCtrls, Mask;
type
Tfwtypeform = class(TForm)
Label1: TLabel;
Label2: TLabel;
Bevel3: TBevel;
Bevel4: TBevel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
q1: TQuery;
xfdl: TRadioButton;
xfxl: TRadioButton;
xftype: TComboBox;
Label3: TLabel;
Bevel1: TBevel;
xfno: TMaskEdit;
xfmc: TMaskEdit;
q2: TQuery;
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure xfdlClick(Sender: TObject);
procedure xfxlClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure xftypeClick(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fwtypeform: Tfwtypeform;
implementation
uses dataproc;
{$R *.DFM}
var
but,xfoldno:string ;
procedure seedata;
begin
with fwtypeform do
begin
q1.Active :=false;
q1.sql.clear;
q1.sql.add('select custype,cusname from custype where parentcode=:pcode ');
if xfdl.Checked =true then
q1.ParamByName('pcode').asstring:='0';
if xfxl.Checked =true then
q1.ParamByName('pcode').asstring:=trim(copy(xftype.items[xftype.itemindex],1,4));
q1.Prepare;
q1.open;
chinesegrid(dbgrid1);
q1.active:=true;
end
end;
procedure formini;
begin
with fwtypeform do
begin
xfno.text:='';
xfmc.text:='';
if xfno.Enabled =false then
xfno.Enabled :=true;
if xfmc.Enabled =false then
xfmc.Enabled :=true;
button1.Enabled :=true;
button2.Enabled :=true;
button3.Enabled :=true;
button4.Enabled :=false;
button5.Enabled :=false;
end
end;
procedure butunset;
begin
with fwtypeform do
begin
button1.Enabled :=false;
button2.Enabled :=false;
button3.Enabled :=false;
button4.Enabled :=true;
button5.Enabled :=true;
end
end;
procedure datatoctr;
begin
with fwtypeform do
begin
xfno.text:=q1.fieldbyname('custype').asstring;
xfmc.text:=q1.fieldbyname('cusname').asstring;
end
end;
procedure Tfwtypeform.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then
selectnext(activecontrol,true,true);
end;
procedure Tfwtypeform.FormClose(Sender: TObject; var Action: TCloseAction);
begin
q1.free;
q2.free;
end;
procedure Tfwtypeform.xfdlClick(Sender: TObject);
begin
if xfdl.Checked =true then
begin
xftype.Enabled :=false;
seedata;
end
end;
procedure Tfwtypeform.xfxlClick(Sender: TObject);
begin
if xfxl.Checked =true then
begin
xftype.Enabled :=true;
comadd(fwtypeform.xftype,2,'select custype,cusname from custype where parentcode="0" ');
seedata;
end
end;
procedure Tfwtypeform.FormCreate(Sender: TObject);
begin
formini;
seedata;
end;
procedure Tfwtypeform.Button6Click(Sender: TObject);
begin
fwtypeform.Close;
end;
procedure Tfwtypeform.Button1Click(Sender: TObject);
begin
but:='1';
butunset;
xfno.SetFocus ;
end;
procedure Tfwtypeform.Button2Click(Sender: TObject);
begin
but:='2';
if q1.RecordCount >0 then
begin
datatoctr;
xfoldno:=trim(xfno.text);
butunset;
xfno.SetFocus ;
end
else
showmessage('无记录,不能修改');
end;
procedure Tfwtypeform.Button3Click(Sender: TObject);
begin
but:='3';
butunset;
if q1.RecordCount >0 then
begin
datatoctr;
xfoldno:=trim(xfno.text);
xfno.Enabled :=false;
xfmc.Enabled :=false;
butunset;
end
else
showmessage('无记录,不能修改');
end;
procedure Tfwtypeform.Button5Click(Sender: TObject);
begin
formini;
end;
procedure Tfwtypeform.xftypeClick(Sender: TObject);
begin
seedata;
end;
procedure Tfwtypeform.Button4Click(Sender: TObject);
begin
if length(trim(xfno.text))=0 then
begin
showmessage('消费类型编号不能为空');
xfno.setfocus;
exit;
end;
if length(trim(xfmc.text))=0 then
begin
showmessage('消费类型名称不能为空');
xfmc.setfocus;
exit;
end;
if but='1' then
try
q2.Active :=false;
q2.sql.clear;
q2.sql.add('insert into custype values(:pxfno,:pxfmc,:pparentno)');
q2.ParamByName('pxfno').asstring:=trim(xfno.text);
q2.ParamByName('pxfmc').asstring:=trim(xfmc.text);
if xfdl.Checked =true then
q2.ParamByName ('pparentno').asstring:='0';
if xfxl.Checked =true then
q2.ParamByName ('pparentno').asstring:=trim(copy(xftype.items[xftype.itemindex],1,4));
q2.Prepare;
q2.ExecSQL;
formini;
seedata;
except
showmessage('编号已存在');
end;
if but='2' then
try
q2.Active :=false;
q2.sql.clear;
q2.sql.add('update custype set custype=:pxfno,cusname=:pxfmc,parentcode=:pparentno where custype=:poldno ');
q2.ParamByName('pxfno').asstring:=trim(xfno.text);
q2.ParamByName('pxfmc').asstring:=trim(xfmc.text);
if xfdl.Checked =true then
q2.ParamByName ('pparentno').asstring:='0';
if xfxl.Checked =true then
q2.ParamByName ('pparentno').asstring:=trim(copy(xftype.items[xftype.itemindex],1,4));
q2.ParamByName ('poldno').asstring:=trim(xfoldno);
q2.Prepare;
q2.ExecSQL;
q2.Active :=false;
q2.sql.clear;
q2.sql.add('update custype set parentcode=:pparentcode where parentcode=:pxfoldno');
q2.ParamByName ('pparentcode').asstring:=trim(xfno.text);
q2.ParamByName ('pxfoldno').asstring:=trim(xfoldno);
q2.Prepare;
q2.execsql;
formini;
seedata;
except
showmessage('编号已存在');
end;
if but='3' then
try
if messagedlg('确实删除吗?',mtWarning,[mbyes,mbno],1)=mryes then
begin
q2.Active :=false;
q2.sql.clear;
q2.sql.add('delete custype where custype=:pcustype');
q2.ParamByName('pcustype').asstring:=trim(xfoldno);
q2.Prepare;
q2.execsql;
q2.Active :=false;
q2.sql.clear;
q2.sql.add('delete custype where parentcode=:pxfno');
q2.ParamByName('pxfno').asstring:=trim(xfoldno);
q2.Prepare;
q2.execsql;
end;
finally
formini;
seedata;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -