📄 hi_draw.pas
字号:
unit Hi_draw;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, baseform, DB, ADODB, Buttons, ToolWin, ComCtrls, ActnList,
ImgList, StdCtrls, DBCtrls, dxCntner, dxEditor, dxExEdtr, dxEdLib,
dxDBELib, Mask, dxDBTLCl, dxGrClms, dxDBGrid, dxTL, dxDBCtrl, ExtCtrls;
type
TfHi_draw = class(Tfbaseform)
ImageList1: TImageList;
ActionList: TActionList;
actpirot1: TAction;
actnext: TAction;
actadd: TAction;
actdel: TAction;
actedit: TAction;
actquit: TAction;
actexcel: TAction;
actsave: TAction;
actfind: TAction;
actprerice: TAction;
baseSource: TDataSource;
ToolBar1: TToolBar;
SpeedButton5: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton8: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton6: TSpeedButton;
SpeedButton9: TSpeedButton;
SpeedButton7: TSpeedButton;
SpeedButton10: TSpeedButton;
SpeedButton1: TSpeedButton;
Qbaseinfo: TADOQuery;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
Qbaseinfoid: TAutoIncField;
QbaseinfoFcode: TWideStringField;
QbaseinfoDr_name: TWideStringField;
QbaseinfoDr_age: TIntegerField;
QbaseinfoDr_sex: TWideStringField;
QbaseinfoDr_born: TDateTimeField;
QbaseinfoDr_adds: TWideStringField;
QbaseinfoDr_tel: TWideStringField;
QbaseinfoDr_self: TWideStringField;
QbaseinfoDr_gm: TWideStringField;
QbaseinfoDr_jz: TWideStringField;
QbaseinfoDr_gr: TWideStringField;
QbaseinfoDr_jw: TWideStringField;
QbaseinfoDr_xb: TWideStringField;
QbaseinfoDr_result: TWideStringField;
QbaseinfoDr_transact: TWideStringField;
QbaseinfoDr_worker: TWideStringField;
QbaseinfoFdate: TDateTimeField;
Qbaseinfofmem: TWideStringField;
QbaseinfofSort: TWideStringField;
dxDBGrid1: TdxDBGrid;
dxDBGrid1Fcode: TdxDBGridColumn;
dxDBGrid1Dr_name: TdxDBGridColumn;
dxDBGrid1Dr_age: TdxDBGridMaskColumn;
dxDBGrid1Dr_sex: TdxDBGridColumn;
dxDBGrid1Dr_born: TdxDBGridDateColumn;
dxDBGrid1Dr_adds: TdxDBGridColumn;
dxDBGrid1Dr_tel: TdxDBGridColumn;
dxDBGrid1Dr_self: TdxDBGridColumn;
dxDBGrid1Dr_gm: TdxDBGridColumn;
dxDBGrid1Dr_jz: TdxDBGridColumn;
dxDBGrid1Dr_gr: TdxDBGridColumn;
dxDBGrid1Dr_jw: TdxDBGridColumn;
dxDBGrid1Dr_xb: TdxDBGridColumn;
dxDBGrid1Dr_result: TdxDBGridColumn;
dxDBGrid1Dr_transact: TdxDBGridColumn;
dxDBGrid1Dr_worker: TdxDBGridColumn;
dxDBGrid1Fdate: TdxDBGridDateColumn;
dxDBGrid1fmem: TdxDBGridColumn;
dxDBGrid2: TdxDBGrid;
Label1: TLabel;
DataSource1: TDataSource;
ADOQuery1: TADOQuery;
ADOQuery1id: TAutoIncField;
ADOQuery1fcode: TWideStringField;
ADOQuery1Op_date: TDateTimeField;
ADOQuery1Op_name: TWideStringField;
ADOQuery1Op_sex: TWideStringField;
ADOQuery1Op_age: TIntegerField;
ADOQuery1Op_allergy: TWideStringField;
ADOQuery1Op_inport: TWideStringField;
ADOQuery1Op_diagnose: TWideStringField;
ADOQuery1Op_xyf: TFloatField;
ADOQuery1Op_cyf: TFloatField;
ADOQuery1Op_zsf: TFloatField;
ADOQuery1Op_other: TFloatField;
ADOQuery1Op_worker: TWideStringField;
ADOQuery1Op_oddments: TFloatField;
ADOQuery1Op_checked: TIntegerField;
ADOQuery1fmem: TWideStringField;
ADOQuery1fSort: TWideStringField;
ADOQuery1op_zlf: TFloatField;
ADOQuery1Op_sum: TFloatField;
dxDBGrid2fcode: TdxDBGridColumn;
dxDBGrid2Op_date: TdxDBGridDateColumn;
dxDBGrid2Op_name: TdxDBGridColumn;
dxDBGrid2Op_sex: TdxDBGridColumn;
dxDBGrid2Op_age: TdxDBGridMaskColumn;
dxDBGrid2Op_inport: TdxDBGridColumn;
dxDBGrid2Op_diagnose: TdxDBGridColumn;
Panel1: TPanel;
lbl1: TLabel;
lbl2: TLabel;
lbl3: TLabel;
lbl4: TLabel;
lbl5: TLabel;
lbl6: TLabel;
lbl7: TLabel;
lbl8: TLabel;
lbl9: TLabel;
lbl10: TLabel;
lbl11: TLabel;
lbl12: TLabel;
lbl13: TLabel;
lbl14: TLabel;
lbl15: TLabel;
lbl16: TLabel;
dbedtcode: TDBEdit;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit4: TDBEdit;
DBComboBox1: TDBComboBox;
dxDBDateEdit1: TdxDBDateEdit;
dxDBDateEdit2: TdxDBDateEdit;
DBMemo1: TDBMemo;
DBMemo2: TDBMemo;
DBMemo3: TDBMemo;
DBMemo4: TDBMemo;
DBMemo5: TDBMemo;
DBMemo6: TDBMemo;
DBMemo7: TDBMemo;
DBMemo8: TDBMemo;
DBLookupComboBox1: TDBLookupComboBox;
ADOQuery1op_code: TWideStringField;
ADOQuery1asd: TStringField;
Qbaseinfodoctor: TStringField;
dxDBGrid3: TdxDBGrid;
xs_detail: TADOQuery;
sourcedetail: TDataSource;
xs_detailaid: TAutoIncField;
xs_detailafcode: TWideStringField;
xs_detailDe_pcode: TWideStringField;
xs_detailDe_pname: TWideStringField;
xs_detailDe_aveprice: TFloatField;
xs_detailDe_sprice: TFloatField;
xs_detailDe_qty: TFloatField;
xs_detailDe_sum: TFloatField;
xs_detailDe_utype: TWideStringField;
xs_detailDe_spec: TWideStringField;
xs_detailDe_jx: TWideStringField;
xs_detailDe_yield: TDateTimeField;
xs_detailafmem: TWideStringField;
xs_detailafSort: TWideStringField;
xs_detailDe_unit: TWideStringField;
xs_detailbid: TAutoIncField;
xs_detailbfcode: TWideStringField;
xs_detailOp_date: TDateTimeField;
xs_detailOp_name: TWideStringField;
xs_detailOp_sex: TWideStringField;
xs_detailOp_age: TIntegerField;
xs_detailOp_allergy: TWideStringField;
xs_detailOp_inport: TWideStringField;
xs_detailOp_diagnose: TWideStringField;
xs_detailOp_xyf: TFloatField;
xs_detailOp_cyf: TFloatField;
xs_detailOp_zsf: TFloatField;
xs_detailOp_other: TFloatField;
xs_detailOp_worker: TWideStringField;
xs_detailOp_oddments: TFloatField;
xs_detailOp_checked: TIntegerField;
xs_detailbfmem: TWideStringField;
xs_detailbfSort: TWideStringField;
xs_detailop_zlf: TFloatField;
xs_detailOp_sum: TFloatField;
xs_detailop_code: TWideStringField;
dxDBGrid3afcode: TdxDBGridColumn;
dxDBGrid3De_pcode: TdxDBGridColumn;
dxDBGrid3De_pname: TdxDBGridColumn;
dxDBGrid3De_qty: TdxDBGridMaskColumn;
dxDBGrid3De_utype: TdxDBGridColumn;
Label2: TLabel;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure actprericeExecute(Sender: TObject);
procedure actsaveExecute(Sender: TObject);
procedure actquitExecute(Sender: TObject);
procedure acteditExecute(Sender: TObject);
procedure actdelExecute(Sender: TObject);
procedure actaddExecute(Sender: TObject);
procedure actexcelExecute(Sender: TObject);
procedure actpirot1Execute(Sender: TObject);
procedure actnextExecute(Sender: TObject);
procedure actfindExecute(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fHi_draw: TfHi_draw;
implementation
uses dataform, Global, pubdata, draw_find;
{$R *.dfm}
procedure TfHi_draw.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
action:=caFree;
end;
procedure TfHi_draw.actprericeExecute(Sender: TObject);
begin
inherited;
if Qbaseinfo.State in [dsinsert,dsedit] then
if MessageBox(0, '要取消息当前操作吗?', '提示', MB_OKCANCEL + MB_ICONINFORMATION + MB_TOPMOST) = IDOK then
begin
Qbaseinfo.Cancel;
SpeedButton5.Enabled:=True;
SpeedButton3.Enabled:=True;
SpeedButton8.Enabled:=False;
SpeedButton4.Enabled:=False;
Panel1.Enabled:=False;
end;
end;
procedure TfHi_draw.actsaveExecute(Sender: TObject);
begin
inherited;
if (Qbaseinfo.State in [dsedit,dsinsert]) and ( not Qbaseinfo.FieldByName('fcode').IsNull) then
begin
Qbaseinfo.Post;
panel1.Enabled:=False;
SpeedButton5.Enabled:=True;
SpeedButton3.Enabled:=True;
SpeedButton8.Enabled:=False;
SpeedButton4.Enabled:=False;
end
else
MessageBox(0, '编号不能为空!', '提示', MB_OK + MB_ICONINFORMATION +
MB_TOPMOST);
end;
procedure TfHi_draw.actquitExecute(Sender: TObject);
begin
inherited;
if not (Qbaseinfo.State in [dsedit,dsinsert]) then
close;
if Qbaseinfo.State in [dsedit,dsinsert] then
if MessageBox(0, '尚未保存数据,是否退出?', '提示', MB_OKCANCEL +
MB_ICONINFORMATION + MB_TOPMOST) = IDOK then
begin
Close;
end;
end;
procedure TfHi_draw.acteditExecute(Sender: TObject);
begin
inherited;
if not (Qbaseinfo.State in [dsedit,dsinsert]) then
begin
Qbaseinfo.Edit;
SpeedButton5.Enabled:=False;
SpeedButton8.Enabled:=True;
SpeedButton4.Enabled:=True;
panel1.Enabled:=True;
end;
end;
procedure TfHi_draw.actdelExecute(Sender: TObject);
begin
inherited;
if Qbaseinfo.RecordCount=0 then
begin
Exit;
MessageBox(0, '已无记录!', '提示', MB_OK + MB_ICONQUESTION + MB_TOPMOST);
end;
if not (Qbaseinfo.State in [dsedit,dsinsert]) then
if MessageBox(0, '真的要删除这条记录吗?', '提示', MB_OKCANCEL + MB_ICONINFORMATION + MB_TOPMOST) = IDOK then
begin
Qbaseinfo.Delete;
end;
end;
procedure TfHi_draw.actaddExecute(Sender: TObject);
begin
inherited;
//添加
tmpname:='Hi_draw';
panel1.Enabled:=True;
Qbaseinfo.Append;
dbedtcode.SetFocus;
//Qbaseinfo.FieldByName('Fcode').Value:=getcode('HI');
Qbaseinfo.FieldByName('Fdate').Value:=FormatDateTime('YYYY-MM-DD',Date());
Qbaseinfo.FieldByName('Dr_worker').Value:=fData.Sqltmp['User_code'];
Qbaseinfo.FieldByName('Dr_sex').Value:='男';
SpeedButton5.Enabled:=False;
SpeedButton3.Enabled:=False;
SpeedButton8.Enabled:=True;
SpeedButton4.Enabled:=True;
end;
procedure TfHi_draw.actexcelExecute(Sender: TObject);
begin
inherited;
//导出
fdata.dlgSave.Filter := 'Microsoft Excel Workbook (*.xls)|*.XLS|xml(*.xml)|*.xml|HTML file (*.htm)|*.HTM';
fdata.dlgSave.DefaultExt:='xls';
fdata.dlgSave.FileName := FormatDateTime('YYYY-MM-DD',Date());
if fdata.dlgSave.Execute then
begin
case fdata.dlgSave.FilterIndex of
1: dxDBGrid1.SaveToxls(fdata.dlgSave.FileName,True);
2: dxDBGrid1.SaveToXML(fdata.dlgSave.FileName,true);
3: dxDBGrid1.SaveToHTML(fdata.dlgSave.FileName,true);
end;
end;
MessageBox(0, '导出完毕!', '提示', MB_OK + MB_ICONINFORMATION + MB_TOPMOST);
end;
procedure TfHi_draw.actpirot1Execute(Sender: TObject);
begin
inherited;
Qbaseinfo.Prior;
end;
procedure TfHi_draw.actnextExecute(Sender: TObject);
begin
inherited;
Qbaseinfo.Next;
end;
procedure TfHi_draw.actfindExecute(Sender: TObject);
begin
inherited;
fdraw_find:=Tfdraw_find.Create(Self);
fdraw_find.ShowModal;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -