📄 cdwh.pas
字号:
unit cdwh;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls, Buttons, ExtCtrls, Mask,
DBCtrls, Excel2000, OleServer, DBTables;
type
TgjsswhForm = class(TForm)
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Panel3: TPanel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
Label1: TLabel;
Label3: TLabel;
Label4: TLabel;
DataSource2: TDataSource;
DBGrid2: TDBGrid;
RadioButton1: TRadioButton;
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;
Query2: TQuery;
UpdateSQL2: TUpdateSQL;
Label2: TLabel;
DBEdit4: TDBEdit;
Label5: TLabel;
DBEdit5: TDBEdit;
DBCheckBox1: TDBCheckBox;
BitBtn9: TBitBtn;
Query3: TQuery;
UpdateSQL3: TUpdateSQL;
SpeedButton1: TSpeedButton;
DBLookupComboBox1: TDBLookupComboBox;
Query4: TQuery;
DataSource3: TDataSource;
DBCheckBox2: TDBCheckBox;
DBCheckBox3: TDBCheckBox;
DBCheckBox4: TDBCheckBox;
Label6: TLabel;
DBEdit6: TDBEdit;
Label7: TLabel;
Bevel1: TBevel;
Bevel2: TBevel;
Label8: TLabel;
DBEdit7: TDBEdit;
Label9: TLabel;
Label10: TLabel;
DBEdit8: TDBEdit;
Label11: TLabel;
Query5: TQuery;
Query2id: TIntegerField;
Query2zcbh: TStringField;
Query2pcbh: TStringField;
Query2pclb: TStringField;
Query2sl: TIntegerField;
Query3id: TIntegerField;
Query3zcbh: TStringField;
Query3pcbh: TStringField;
Query3pclb: TStringField;
Query3sl: TIntegerField;
DBCheckBox5: TDBCheckBox;
Label12: TLabel;
Query1: TADOQuery;
Label13: TLabel;
ADOQuery1: TADOQuery;
ADOQuery1bh: TStringField;
ADOQuery1port: TStringField;
ADOQuery1name: TStringField;
DataSource4: TDataSource;
DBComboBox1: TDBComboBox;
DBComboBox2: TDBComboBox;
Query1bh: TStringField;
Query1lbbm: TStringField;
Query1mc: TStringField;
Query1ywmc: TStringField;
Query1gg: TStringField;
Query1dj: TBCDField;
Query1tcbz: TBooleanField;
Query1zt: TBooleanField;
Query1sfkj: TBooleanField;
Query1zkdl: TBooleanField;
Query1zkl: TIntegerField;
Query1fwfdl: TBooleanField;
Query1fwfl: TIntegerField;
Query1shuilu: TIntegerField;
Query1cfdy: TBooleanField;
Query1cfdyjhm: TStringField;
Query1ccjdyjhm: TStringField;
ADOQuery1type: TStringField;
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 BitBtn7Click(Sender: TObject);
procedure BitBtn8Click(Sender: TObject);
procedure Query1tcbzChange(Sender: TField);
procedure BitBtn9Click(Sender: TObject);
procedure Query1AfterScroll(DataSet: TDataSet);
procedure Query1AfterPost(DataSet: TDataSet);
procedure DBEdit1Exit(Sender: TObject);
procedure DBEdit11KeyPress(Sender: TObject; var Key: Char);
procedure Query1cfdyChange(Sender: TField);
private
btn:string;
{ Private declarations }
public
{ Public declarations }
end;
var
gjsswhForm: TgjsswhForm;
func:string;
implementation
uses rjsmain, tcdmwh;
{$R *.dfm}
procedure TgjsswhForm.FormActivate(Sender: TObject);
begin
gjsswhForm.Left:=0;
gjsswhForm.Top:=82;
if btn<>'' then exit;
panel1.Enabled:=true;
panel2.Enabled:=false;
panel3.Enabled:=false;
query4.Open;
query2.Open;
query1.Open;
dbcombobox1.Items.Clear;
dbcombobox2.Items.Clear;
dbcombobox1.Items.Add('');
dbcombobox2.Items.Add('');
adoquery1.Open;
while not adoquery1.Eof do
begin
if adoquery1.FieldByName('type').AsString='C' then dbcombobox1.Items.Add(adoquery1.FieldValues['bh']+'->'+adoquery1.FieldValues['name']);
if adoquery1.FieldByName('type').AsString='P' then dbcombobox2.Items.Add(adoquery1.FieldValues['bh']+'->'+adoquery1.FieldValues['name']);
adoquery1.Next;
end;
adoquery1.Close;
end;
procedure TgjsswhForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
func:='';
btn:='';
query1.Close;
query2.Close;
query4.Close;
end;
procedure TgjsswhForm.BitBtn4Click(Sender: TObject);
begin
close;
end;
procedure TgjsswhForm.formBtn;
begin
radiobutton1.Enabled:=not radiobutton1.Enabled;
dbgrid1.Enabled:=not dbgrid1.Enabled;
dbgrid2.Enabled:=not dbgrid2.Enabled;
panel1.Enabled:=not panel1.Enabled;
panel2.Enabled:=not panel2.Enabled;
panel3.Enabled:=not panel3.Enabled;
if panel1.Enabled then
begin
bitbtn1.SetFocus;
end
else
begin
bitbtn5.SetFocus;
end;
end;
procedure TgjsswhForm.BitBtn5Click(Sender: TObject);
begin
if (btn='add') or (btn='mod') then
begin
if dbcheckbox5.Checked then
if trim(dbedit1.Text)='' then
begin
messagebox(0,'编码不能为空!!','提示信息',mb_ok);
dbedit1.SetFocus;
exit;
end;
if trim(dbedit2.Text)='' then
begin
messagedlg('名称不能为空!!',mtwarning,[mbok],0);
dbedit2.SetFocus;
exit;
end;
query1.Post;
end;
if btn='mod' then
begin
query3.Close;
query3.ParamByName('cs').AsString:=query1bh.OldValue;
query3.Open;
while not query3.Eof do
begin
Query3.Edit;
Query3.FieldByName('pcbh').Value:=query1bh.Value;
// Query3.FieldByName('sl').AsInteger:=1;
Query3.Post;
query3.Next;
end;
query3.ApplyUpdates;
query3.Close;
end;
if btn='del' then query1.Delete;
// query1.ApplyUpdates;
formBtn;
end;
procedure TgjsswhForm.BitBtn6Click(Sender: TObject);
begin
if (btn='add') or (btn='mod') then query1.Cancel;
formBtn;
end;
procedure TgjsswhForm.BitBtn2Click(Sender: TObject);
begin
formBtn;
btn:='mod';
query1.edit;
dbedit1.SetFocus;
end;
procedure TgjsswhForm.BitBtn1Click(Sender: TObject);
begin
formBtn;
btn:='add';
query1.Append;
query1tcbz.Value:=false;
query1sfkj.Value:=false;
query1zkdl.Value:=false;
query1fwfdl.Value:=false;
query1cfdy.Value:=false;
dbedit1.SetFocus;
end;
procedure TgjsswhForm.BitBtn3Click(Sender: TObject);
begin
formBtn;
btn:='del';
end;
procedure TgjsswhForm.FormCreate(Sender: TObject);
begin
func:='';
btn:='';
end;
procedure TgjsswhForm.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=chr(13) then perform($28,0,0);
end;
procedure TgjsswhForm.BitBtn7Click(Sender: TObject);
var xx:string;
begin
xx:=inputbox('请输入名称:','按名称查询','');
if xx='' then exit;
query1.Locate('mc',xx,[loPartialKey]);
// else query2.Locate('名称',xx,[loPartialKey]);
end;
procedure TgjsswhForm.BitBtn8Click(Sender: TObject);
var
i,row,column:integer;
qry:TADOquery;
nm:string;
begin
nm:='菜单明细表.xls';
qry:=TADOquery.Create(self);
qry:=query1;
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 qry.FieldCount do
begin
ExcelWorksheet1.Cells.Item[1,column]:=qry.fields[i-1].FieldName;
column:=column+1;
end;
row:=2;
qry.First;
While Not(qry.Eof) do
begin
column:=1;
for i:=1 to qry.FieldCount do
begin
ExcelWorksheet1.Cells.Item[row,column]:=qry.fields[i-1].AsString;
column:=column+1;
end;
qry.Next;
row:=row+1;
end;
// qry.close;
qry:=nil;
qry.Free;
ExcelApplication1.Visible[0]:=true;
ExcelApplication1.ActiveWorkbook.Save(0);
ExcelApplication1.Save(nm);
ExcelApplication1.Workbooks.Close(1);
ExcelApplication1.Visible[0]:=false;
ExcelApplication1.Quit;
end;
procedure TgjsswhForm.Query1tcbzChange(Sender: TField);
begin
bitbtn9.Enabled:=query1tcbz.AsBoolean;
end;
procedure TgjsswhForm.BitBtn9Click(Sender: TObject);
begin
fjdmwhForm:=TfjdmwhForm.Create(Self);
fjdmwhForm.showmodal;
fjdmwhForm.Free;
query2.close;
query2.open;
end;
procedure TgjsswhForm.Query1AfterScroll(DataSet: TDataSet);
begin
bitbtn9.Enabled:=query1tcbz.AsBoolean;
end;
procedure TgjsswhForm.Query1AfterPost(DataSet: TDataSet);
begin
bitbtn9.Enabled:=query1tcbz.AsBoolean;
end;
procedure TgjsswhForm.DBEdit1Exit(Sender: TObject);
begin
if (btn='add') or ((btn='mod') and (query1bh.Value<>query1bh.OldValue)) then
begin
query5.Close;
query5.ParamByName('cs').AsString:=dbedit1.Text;
query5.Open;
if query5.RecordCount>0 then begin
showmessage('该编号已经存在,请另选');
dbedit1.SetFocus;
end;
query5.Close;
end;
end;
procedure TgjsswhForm.DBEdit11KeyPress(Sender: TObject; var Key: Char);
begin
if key=chr(13) then exit;
if not (key in ['0'..'9',':']) then key:=#0;
end;
procedure TgjsswhForm.Query1cfdyChange(Sender: TField);
begin
if DBCheckBox5.Checked then
begin
label12.Visible:=true;
label13.Visible:=true;
end
else
begin
label12.Visible:=false;
label13.Visible:=false;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -