📄 tcyydmwh.pas
字号:
unit tcyydmwh;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls, Buttons, ExtCtrls, Mask,
DBCtrls, Excel2000, OleServer, DBTables;
type
TtcyywhForm = 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;
Query2: TQuery;
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 DBEdit1Exit(Sender: TObject);
private
btn:string;
{ Private declarations }
public
{ Public declarations }
end;
var
tcyywhForm: TtcyywhForm;
func:string;
implementation
{$R *.dfm}
procedure TtcyywhForm.FormActivate(Sender: TObject);
begin
if btn<>'' then exit;
panel1.Enabled:=true;
panel2.Enabled:=false;
panel3.Enabled:=false;
dbgrid1.Enabled:=true;
query1.Open;
end;
procedure TtcyywhForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
btn:='';
func:='';
query1.Close;
end;
procedure TtcyywhForm.BitBtn4Click(Sender: TObject);
begin
close;
end;
procedure TtcyywhForm.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 TtcyywhForm.BitBtn5Click(Sender: TObject);
begin
if (btn='add') or (btn='mod') then
begin
if query1.FieldByName('tcbh').AsString='' then
begin
messagedlg('编码不能为空!!',mtwarning,[mbok],0);
dbedit1.SetFocus;
exit;
end;
if query1.FieldByName('tcmc').AsString='' then
begin
messagedlg('名称不能为空!!',mtwarning,[mbok],0);
exit;
end;
query1.Post;
query1.ApplyUpdates;
end;
if btn='del' then begin
query1.Delete;
query1.ApplyUpdates;
end;
formBtn;
end;
procedure TtcyywhForm.BitBtn6Click(Sender: TObject);
begin
if (btn='add') or (btn='mod') then query1.Cancel;
formBtn;
end;
procedure TtcyywhForm.BitBtn2Click(Sender: TObject);
begin
formBtn;
btn:='mod';
query1.Edit;
dbedit1.SetFocus;
end;
procedure TtcyywhForm.BitBtn1Click(Sender: TObject);
begin
formBtn;
btn:='add';
query1.Append;
dbedit1.SetFocus;
end;
procedure TtcyywhForm.BitBtn3Click(Sender: TObject);
begin
formBtn;
btn:='del';
end;
procedure TtcyywhForm.FormCreate(Sender: TObject);
begin
func:='';
btn:='';
end;
procedure TtcyywhForm.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=chr(13) then perform($28,0,0);
end;
procedure TtcyywhForm.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 TtcyywhForm.DBEdit1Exit(Sender: TObject);
begin
if (btn='add') or ((btn='mod') and (query1.FieldByName('tcbh').Value<>query1.FieldByName('tcbh').OldValue)) then
begin
query2.Close;
query2.ParamByName('cs').AsString:=dbedit1.Text;
query2.Open;
if query2.RecordCount>0 then begin
showmessage('该编号已经存在,请另选');
dbedit1.SetFocus;
end;
query2.Close;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -