rydmwh.pas
来自「日昌餐饮管理系统是用Delphi7+SQL写的管理系统」· PAS 代码 · 共 319 行
PAS
319 行
unit rydmwh;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls, Buttons, ExtCtrls, Mask,
DBCtrls, Excel2000, OleServer, DBTables, CheckLst;
type
TrywhForm = class(TForm)
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Panel2: TPanel;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
Panel4: TPanel;
BitBtn4: TBitBtn;
Panel1: TPanel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn7: TBitBtn;
BitBtn8: TBitBtn;
ExcelApplication1: TExcelApplication;
ExcelWorksheet1: TExcelWorksheet;
ExcelWorkbook1: TExcelWorkbook;
Panel3: TPanel;
Label1: TLabel;
Label3: TLabel;
DBEdit1: TDBEdit;
DBEdit3: TDBEdit;
Query1: TQuery;
UpdateSQL1: TUpdateSQL;
Label2: TLabel;
MaskEdit1: TMaskEdit;
Bevel1: TBevel;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
CheckBox5: TCheckBox;
CheckBox6: TCheckBox;
CheckBox7: TCheckBox;
CheckBox8: TCheckBox;
Query2: TQuery;
Query1id: TIntegerField;
Query1yhm: TStringField;
Query1yhmc: TStringField;
Query1mm: TStringField;
Query1jb: TStringField;
Query1twbh: TStringField;
Query1twmc: TStringField;
CheckListBox1: TCheckListBox;
Query3: TQuery;
Label4: TLabel;
DBComboBox1: TDBComboBox;
Query1lx: TStringField;
CheckBox9: TCheckBox;
Label5: TLabel;
DBLookupComboBox1: TDBLookupComboBox;
ADOQuery1: TADOQuery;
ADOQuery1id: TAutoIncField;
ADOQuery1mc: TStringField;
ADOQuery1bh: TStringField;
ADOQuery1bz: TStringField;
Query1szdd: TStringField;
DataSource2: TDataSource;
CheckBox10: TCheckBox;
procedure FormActivate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Formbtn;
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure BitBtn8Click(Sender: TObject);
procedure Query1AfterScroll(DataSet: TDataSet);
procedure DBEdit1Exit(Sender: TObject);
procedure CheckListBox1Click(Sender: TObject);
private
btn:string;
{ Private declarations }
public
{ Public declarations }
end;
var
rywhForm: TrywhForm;
func:string;
implementation
uses pass,rjsmain;
{$R *.dfm}
procedure TrywhForm.FormActivate(Sender: TObject);
begin
if btn<>'' then exit;
panel1.Enabled:=true;
panel2.Enabled:=false;
panel3.Enabled:=false;
dbgrid1.Enabled:=true;
adoquery1.Open;
query1.Open;
query3.Open;
checklistbox1.Items.Clear;
while not query3.Eof do
begin
checklistbox1.Items.Add(query3.FieldByName('twmc').AsString+'('+query3.FieldByName('twbh').AsString+')');
query3.Next;
end;
query3.Close;
end;
procedure TrywhForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
btn:='';
func:='';
query1.Close;
adoquery1.Close;
end;
procedure TrywhForm.BitBtn4Click(Sender: TObject);
begin
close;
end;
procedure TrywhForm.formBtn;
begin
dbgrid1.Enabled:=not dbgrid1.Enabled;
panel1.Enabled:=not panel1.Enabled;
panel2.Enabled:=not panel2.Enabled;
panel3.Enabled:=not panel3.Enabled;
if panel1.Enabled then bitbtn1.SetFocus else bitbtn5.SetFocus;
end;
procedure TrywhForm.BitBtn5Click(Sender: TObject);
begin
if (btn='add') or (btn='mod') then
begin
if query1.FieldByName('yhm').AsString='' then
begin
messagedlg('编码不能为空!!',mtwarning,[mbok],0);
dbedit1.SetFocus;
exit;
end;
if query1.FieldByName('yhmc').AsString='' then
begin
messagedlg('名称不能为空!!',mtwarning,[mbok],0);
exit;
end;
if checkbox1.Checked then query1jb.AsString:=checkbox1.Caption ELSE query1jb.AsString:='';
if checkbox2.Checked then query1jb.AsString:=query1jb.AsString+checkbox2.Caption+',';
if checkbox3.Checked then query1jb.AsString:=query1jb.AsString+checkbox3.Caption+',';
if checkbox4.Checked then query1jb.AsString:=query1jb.AsString+checkbox4.Caption+',';
if checkbox5.Checked then query1jb.AsString:=query1jb.AsString+checkbox5.Caption+',';
if checkbox6.Checked then query1jb.AsString:=query1jb.AsString+checkbox6.Caption+',';
if checkbox7.Checked then query1jb.AsString:=query1jb.AsString+checkbox7.Caption+',';
if checkbox8.Checked then query1jb.AsString:=query1jb.AsString+checkbox8.Caption+',';
if checkbox9.Checked then query1jb.AsString:=query1jb.AsString+checkbox9.Caption+',';
if checkbox10.Checked then query1jb.AsString:=query1jb.AsString+checkbox10.Caption+',';
QUERY1MM.AsString:=MaskEdit1.Text;
query1.Post;
pass.yhqx:=query1jb.AsString;
query1.ApplyUpdates;
end;
if btn='del' then begin
query1.Delete;
query1.ApplyUpdates;
end;
formBtn;
end;
procedure TrywhForm.BitBtn6Click(Sender: TObject);
begin
if (btn='add') or (btn='mod') then query1.Cancel;
formBtn;
end;
procedure TrywhForm.BitBtn2Click(Sender: TObject);
begin
formBtn;
btn:='mod';
query1.Edit;
dbedit1.SetFocus;
end;
procedure TrywhForm.BitBtn1Click(Sender: TObject);
begin
formBtn;
btn:='add';
query1.Append;
dbedit1.SetFocus;
end;
procedure TrywhForm.BitBtn3Click(Sender: TObject);
begin
formBtn;
btn:='del';
end;
procedure TrywhForm.FormCreate(Sender: TObject);
begin
func:='';
btn:='';
end;
procedure TrywhForm.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=chr(13) then perform($28,0,0);
end;
procedure TrywhForm.BitBtn8Click(Sender: TObject);
var
i,row,column:integer;
begin
Try
ExcelApplication1.Connect;
Except
MessageDlg('Excel 没有安装,无法报表!!',
mtError, [mbOk], 0);
Abort;
End;
ExcelApplication1.Visible[0]:=True;
ExcelApplication1.Caption:='Excel 报表';
ExcelApplication1.Workbooks.Add(Null,0);
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _Worksheet);
column:=1;
for i:=1 to query1.FieldCount do
begin
ExcelWorksheet1.Cells.Item[1,column]:=query1.fields[i-1].FieldName;
column:=column+1;
end;
row:=2;
query1.First;
While Not(query1.Eof) do
begin
column:=1;
for i:=1 to query1.FieldCount do
begin
ExcelWorksheet1.Cells.Item[row,column]:=query1.fields[i-1].AsString;
column:=column+1;
end;
query1.Next;
row:=row+1;
end;
ExcelApplication1.Visible[0]:=true;
ExcelApplication1.ActiveWorkbook.Save(0);
ExcelApplication1.Save('用户编码表.xls');
ExcelApplication1.Workbooks.Close(1);
ExcelApplication1.Visible[0]:=false;
ExcelApplication1.Quit;
end;
procedure TrywhForm.Query1AfterScroll(DataSet: TDataSet);
var ii,jj:integer;
sst:string;
begin
if pos(checkbox1.Caption,query1jb.asstring)>0 then checkbox1.Checked:=true else checkbox1.Checked:=false;
if pos(checkbox2.Caption,query1jb.asstring)>0 then checkbox2.Checked:=true else checkbox2.Checked:=false;
if pos(checkbox3.Caption,query1jb.asstring)>0 then checkbox3.Checked:=true else checkbox3.Checked:=false;
if pos(checkbox4.Caption,query1jb.asstring)>0 then checkbox4.Checked:=true else checkbox4.Checked:=false;
if pos(checkbox5.Caption,query1jb.asstring)>0 then checkbox5.Checked:=true else checkbox5.Checked:=false;
if pos(checkbox6.Caption,query1jb.asstring)>0 then checkbox6.Checked:=true else checkbox6.Checked:=false;
if pos(checkbox7.Caption,query1jb.asstring)>0 then checkbox7.Checked:=true else checkbox7.Checked:=false;
if pos(checkbox8.Caption,query1jb.asstring)>0 then checkbox8.Checked:=true else checkbox8.Checked:=false;
if pos(checkbox9.Caption,query1jb.asstring)>0 then checkbox9.Checked:=true else checkbox9.Checked:=false;
if pos('强制关机',query1jb.asstring)>0 then checkbox10.Checked:=true else checkbox10.Checked:=false;
maskedit1.Text:=query1mm.AsString;
for ii:=0 to checklistbox1.Items.Count -1 do
begin
jj:=pos('(',checklistbox1.Items[ii]);
sst:=copy(checklistbox1.Items[ii],1,jj -1);
if pos(sst,query1.FieldByName('twmc').AsString)>0 then checklistbox1.Checked[ii]:=true
else checklistbox1.Checked[ii]:=false;
end;
end;
procedure TrywhForm.DBEdit1Exit(Sender: TObject);
begin
if (btn='add') or ((btn='mod') and (query1.FieldByName('yhm').Value<>query1.FieldByName('yhm').OldValue)) then
begin
query2.Close;
query2.ParamByName('cs').AsString:=dbedit1.Text;
query2.Open;
if query2.RecordCount>0 then begin
showmessage('该编号已经存在,请另选');
dbedit1.Text:=query1.FieldByName('yhm').OldValue;
dbedit1.SetFocus;
end;
query2.Close;
end;
end;
procedure TrywhForm.CheckListBox1Click(Sender: TObject);
var ii,jj,kk:integer;
sst:string;
begin
query1.Edit;
query1.FieldByName('twbh').AsString:='';
query1.FieldByName('twmc').AsString:='';
for ii:=0 to checklistbox1.Items.Count -1 do
if checklistbox1.Checked[ii] then
begin
jj:=pos('(',checklistbox1.Items[ii]);
sst:=copy(checklistbox1.Items[ii],1,jj-1);
query1.FieldByName('twmc').AsString:=query1.FieldByName('twmc').AsString+sst+';';
kk:=pos(')',checklistbox1.Items[ii]);
kk:=kk - jj-1;
sst:=copy(checklistbox1.Items[ii],jj+1,kk);
query1.FieldByName('twbh').AsString:=query1.FieldByName('twbh').AsString+sst+';';
end;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?