lydjunit.~pas
来自「本软件专门用于管理餐饮行业的点菜单、加菜单酒水单等重要票据的领用及回收情况」· ~PAS 代码 · 共 222 行
~PAS
222 行
unit lydjunit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, Grids, Wwdbigrd, Wwdbgrid, ImgList, ComCtrls,
ToolWin, SUIToolBar, ExtCtrls, StdCtrls, SUIForm, DBCtrls, SUIDBCtrls;
type
Tlydjform = class(TForm)
suiForm1: TsuiForm;
Label1: TLabel;
Shape1: TShape;
suiToolBar1: TsuiToolBar;
ToolButton2: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
image1: TImageList;
wwDBGrid1: TwwDBGrid;
DataSource1: TDataSource;
Table1: TTable;
Table1Lyperson: TStringField;
Table1Numbers: TStringField;
Table1Numbertype: TStringField;
Table1Lydate: TDateField;
Table1Numberto: TStringField;
suiDBLookupComboBox1: TsuiDBLookupComboBox;
Table2: TTable;
DataSource2: TDataSource;
Table2Numberid: TStringField;
Table2Numbertype: TStringField;
Table2Hxbz: TStringField;
Table2Djdate: TDateField;
Table2Lypername: TStringField;
Table1Postbz: TBooleanField;
Table2Lsid: TFloatField;
DataSource3: TDataSource;
Table3: TTable;
StringField1: TStringField;
StringField2: TStringField;
StringField3: TStringField;
StringField4: TStringField;
DateField1: TDateField;
BooleanField1: TBooleanField;
DataSource4: TDataSource;
Table4: TTable;
StringField5: TStringField;
StringField6: TStringField;
StringField7: TStringField;
DateField2: TDateField;
StringField8: TStringField;
FloatField2: TFloatField;
Table3Lsif: TFloatField;
Table1Lsid: TFloatField;
ToolButton3: TToolButton;
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Table2AfterInsert(DataSet: TDataSet);
procedure Table1AfterInsert(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
end;
var
lydjform: Tlydjform;
implementation
uses typeunit, pjmagagerunit, numberfwunit, unreciveunit;
{$R *.dfm}
function numberformat(slen:string):string;
var i:integer;
begin
i:=length(slen);
case i of
5: result:='00000';
6: result:='000000';
7: result:='0000000';
8: result:='00000000';
9: result:='000000000';
10: result:='0000000000';
else
result:='0000';
end;
end;
procedure Tlydjform.ToolButton2Click(Sender: TObject);
begin
if table1.Active=false then
table1.Open;
if table2.Active=false then
table2.Open;
if table3.Active=false then
table3.Open;
if table4.Active=false then
table4.Open;
table1.refresh;
if table1.State=dsbrowse then
begin
table1.Append;
numberfwform.showmodal;
ToolButton4Click(Sender);
end
else showmessage('系统异常。数据库被关闭,请退出系统后重新启动!')
end;
procedure Tlydjform.ToolButton3Click(Sender: TObject);
var
lyname,lytype,lynumberfrom,lynumberto:string;
begin
if (table1.State=dsbrowse) then
if (not table1.Bof) or (not table1.Eof) then
if messagedlg('确定要删除本条记录吗?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
lyname:=table1.fieldbyname('lyperson').AsString;
lytype:=table1.fieldbyname('numbertype').AsString;
lynumberfrom:=table1.fieldbyname('numbers').AsString;
lynumberto:=table1.fieldbyname('numberto').AsString;
unreciveform.Query1.SQL.Clear;
unreciveform.Query1.SQL.Add('delete from libnumber');
unreciveform.Query1.SQL.Add( 'where numberid>=:param0');
unreciveform.Query1.SQL.Add(' and numberid<=:param1');
unreciveform.Query1.SQL.Add(' and numbertype=:param2');
Unreciveform.Query1.SQL.Add(' and lypername=:param3');
Unreciveform.Query1.Prepare;
Unreciveform.Query1.Params[0].AsString:=lynumberfrom;
Unreciveform.Query1.Params[1].AsString:=lynumberto;
Unreciveform.Query1.Params[2].AsString:=lytype;
Unreciveform.Query1.Params[3].AsString:=lyname;
unreciveform.Query1.ExecSQL;
table1.Delete;
end
else
exit
else
showmessage('表已空或处于编辑状态!');
end;
procedure Tlydjform.ToolButton4Click(Sender: TObject);
var i:integer;
begin
if table1.State in [dsedit,dsinsert] then
begin
table1.Post;
if table2.Active=false then
table2.Open;
table2.Refresh;
for i:=strtoint(table1.fieldbyname('numbers').AsString) to strtoint(table1.fieldbyname('numberto').AsString) do
begin
table2.Append;
table2.FieldByName('numberid').AsString:=formatfloat(numberformat(table1.fieldbyname('numbers').AsString),i);
table2.Post;
end;
showmessage('数据保存成功!')
end
else
showmessage('没有未保存的数据!');
end;
procedure Tlydjform.ToolButton1Click(Sender: TObject);
begin
if table1.State in [dsedit,dsinsert] then
table1.Cancel
else
showmessage('没有要撤消的数据!');
end;
procedure Tlydjform.ToolButton5Click(Sender: TObject);
var lynames:string;
begin
inputQuery('友好对话','请输入领用人姓名',lynames);
if not table1.Locate('typename',lynames,[lopartialKey]) then
showmessage('记录没有找到!');
end;
procedure Tlydjform.ToolButton6Click(Sender: TObject);
begin
close;
end;
procedure Tlydjform.FormActivate(Sender: TObject);
begin
if typeform.Table1.Active=false then
typeform.Table1.Open;
if datasource1.DataSet.active=false then
datasource1.DataSet.Open;
end;
procedure Tlydjform.Table2AfterInsert(DataSet: TDataSet);
begin
if table4.Active=false then
table4.Open;
table4.Refresh;
table2.FieldByName('lsid').AsString:=inttostr(table4.RecordCount+1);
table2.FieldByName('djdate').AsDateTime:=date;
table2.FieldByName('numbertype').AsString:=table1.fieldbyname('numbertype').AsString;
table2.FieldByName('lypername').AsString:=table1.fieldbyname('lyperson').AsString;
end;
procedure Tlydjform.Table1AfterInsert(DataSet: TDataSet);
begin
if table3.Active=false then
table3.Active:=true;
table3.Refresh;
table1.FieldByName('lsid').AsInteger:=table3.RecordCount+1;
table1.FieldByName('lydate').AsDateTime:=date;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?