📄 untbasic.pas
字号:
unit UntBasic;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBGridEh, StdCtrls, DBCtrls, Grids, DBCtrlsEh, DBLookupEh, Mask,
Buttons, ComCtrls, ExtCtrls,
untdmasset,selffunc, DB;
type
Tfrmbasic = class(TForm)
Panel1: TPanel;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
Panel8: TPanel;
GroupBox5: TGroupBox;
Label26: TLabel;
Edit3: TEdit;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
GroupBox6: TGroupBox;
Label27: TLabel;
Label28: TLabel;
Label29: TLabel;
Label30: TLabel;
Label31: TLabel;
Label32: TLabel;
Label33: TLabel;
Label34: TLabel;
Label35: TLabel;
Label36: TLabel;
Label37: TLabel;
Label39: TLabel;
DBEdit16: TDBEdit;
DBEdit23: TDBEdit;
DBEdit24: TDBEdit;
DBEdit25: TDBEdit;
DBEdit26: TDBEdit;
DBEdit27: TDBEdit;
DBEdit28: TDBEdit;
DBEdit29: TDBEdit;
DBEdit30: TDBEdit;
DBEdit31: TDBEdit;
DBLookupComboboxEh1: TDBLookupComboboxEh;
DBEdit33: TDBEdit;
GroupBox7: TGroupBox;
DBGridEh7: TDBGridEh;
DBNavigator7: TDBNavigator;
TabSheet2: TTabSheet;
Panel5: TPanel;
DBNavigator4: TDBNavigator;
GroupBox9: TGroupBox;
Label38: TLabel;
DBEdit32: TDBEdit;
GroupBox10: TGroupBox;
DBGridEh4: TDBGridEh;
TabSheet3: TTabSheet;
Panel6: TPanel;
GroupBox1: TGroupBox;
Label1: TLabel;
Edit1: TEdit;
BitBtn1: TBitBtn;
BitBtn5: TBitBtn;
GroupBox2: TGroupBox;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label40: TLabel;
Label41: TLabel;
Label44: TLabel;
Label45: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBLookupComboBox1: TDBLookupComboBox;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
DBEdit7: TDBEdit;
DBEdit8: TDBEdit;
DBEdit9: TDBEdit;
DBEdit10: TDBEdit;
DBLookupComboBox2: TDBLookupComboBox;
DBMemo2: TDBMemo;
DBLookupComboBox4: TDBLookupComboBox;
DBEdit35: TDBEdit;
DBNavigator5: TDBNavigator;
DBGridEh5: TDBGridEh;
TabSheet4: TTabSheet;
Panel4: TPanel;
DBNavigator3: TDBNavigator;
DBGridEh3: TDBGridEh;
GroupBox11: TGroupBox;
Label42: TLabel;
Label43: TLabel;
DBEdit34: TDBEdit;
DBLookupComboBox3: TDBLookupComboBox;
TabSheet5: TTabSheet;
Panel7: TPanel;
GroupBox3: TGroupBox;
Label13: TLabel;
Edit2: TEdit;
BitBtn2: TBitBtn;
BitBtn6: TBitBtn;
GroupBox4: TGroupBox;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
Label21: TLabel;
Label22: TLabel;
Label23: TLabel;
Label24: TLabel;
Label25: TLabel;
DBEdit11: TDBEdit;
DBEdit12: TDBEdit;
DBEdit13: TDBEdit;
DBEdit14: TDBEdit;
DBEdit15: TDBEdit;
DBEdit17: TDBEdit;
DBEdit18: TDBEdit;
DBEdit19: TDBEdit;
DBEdit20: TDBEdit;
DBEdit21: TDBEdit;
DBEdit22: TDBEdit;
DBMemo1: TDBMemo;
DBNavigator6: TDBNavigator;
GroupBox8: TGroupBox;
DBGridEh6: TDBGridEh;
TabSheet6: TTabSheet;
Panel3: TPanel;
TabSheet7: TTabSheet;
Panel2: TPanel;
DBNavigator1: TDBNavigator;
DBGridEh1: TDBGridEh;
TabSheet8: TTabSheet;
Panel9: TPanel;
DBNavigator8: TDBNavigator;
DBGridEh8: TDBGridEh;
TabSheet9: TTabSheet;
DBNavigator9: TDBNavigator;
DBGridEh9: TDBGridEh;
Panel10: TPanel;
GroupBox12: TGroupBox;
Label46: TLabel;
Label47: TLabel;
DBEdit36: TDBEdit;
DBLookupComboBox5: TDBLookupComboBox;
DBNavigator2: TDBNavigator;
DBGridEh2: TDBGridEh;
BitBtn7: TBitBtn;
Label48: TLabel;
Label49: TLabel;
DBLookupComboBox6: TDBLookupComboBox;
DBLookupComboBox7: TDBLookupComboBox;
DSModelNumber: TDataSource;
Panel11: TPanel;
Label50: TLabel;
DBLookupComboBox8: TDBLookupComboBox;
procedure DBGridEh1TitleClick(Column: TColumnEh);
procedure DBGridEh1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumnEh; State: TGridDrawState);
procedure FormDestroy(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure DBLookupComboBox6Click(Sender: TObject);
procedure DSModelNumberDataChange(Sender: TObject; Field: TField);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmbasic: Tfrmbasic;
implementation
uses shellapi;
{$R *.dfm}
procedure Tfrmbasic.DBGridEh1TitleClick(Column: TColumnEh);
begin
DBGridTitleSort(Column);
end;
procedure Tfrmbasic.DBGridEh1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumnEh;
State: TGridDrawState);
begin //画彩色格子
if gdSelected in State then Exit;
if (TDBGridEh(Sender).DataSource=nil)or(TDBGridEh(Sender).DataSource.DataSet=nil) then Exit;
if TDBGridEh(Sender).DataSource.DataSet.RecNo mod 2 = 0 then
TDBGridEh(Sender).Canvas.Brush.Color := clInfoBk
else
TDBGridEh(Sender).Canvas.Brush.Color := RGB(191, 255, 223);
TDBGridEh(Sender).DefaultDrawColumnCell(Rect,DataCol,Column,State);
TDBGridEh(Sender).Canvas.Pen.Color := $00C08000;
TDBGridEh(Sender).Canvas.MoveTo(Rect.Left, Rect.Bottom);
TDBGridEh(Sender).Canvas.LineTo(Rect.Right, Rect.Bottom);
TDBGridEh(Sender).Canvas.LineTo(Rect.Right, Rect.Top);
end;
procedure Tfrmbasic.FormDestroy(Sender: TObject);
var
i:integer;
begin
{关于SUMLIST的一个BUG问题:
如果你的DBGrideEH所连的TDataSet没有被打开且SumList.Active:=true ,退出程序时将会报错,且很难定位错误语句。
解决办法:在退出时手工将SumList.Active:=false;即可。}
for i:=0 to componentcount-1 do
begin
if components[i] is TDBGridEh then
TDBGridEh(components[i]).SumList.Active:=False ;
end;
end;
procedure Tfrmbasic.BitBtn4Click(Sender: TObject);
begin
DBGridEhToXLS(DBGridEh7);
end;
procedure Tfrmbasic.BitBtn3Click(Sender: TObject);
var
sql:string;
begin
sql:='SELECT M.* FROM queryModelNumber AS M WHERE 2>1';
if Edit3.Text<>'' then
begin
sql:=sql+' AND M.ModelNumberName like ' + '''%' + edit3.Text + '%''';
end;
if DBLookupComboBox8.KeyValue > 0 then
sql:=sql+' AND M.AssetCategoryID='+IntTOStr(DBLookupComboBox8.KeyValue);
sql:=sql+' order by M.ModelNumberName';
myquery(sql,DMAsset.ADOModelNumber);
end;
procedure Tfrmbasic.BitBtn1Click(Sender: TObject);
var
sql:string;
begin
if Edit1.Text<>'' then
begin
sql:='select * from Employee where 2>1 ';
sql:=sql+' AND FirstName like ' + '''%' + edit1.Text + '%''';
sql:=sql+' order by DepartmentID,FirstName';
myquery(sql,DMAsset.ADOEmployee);
end;
end;
procedure Tfrmbasic.BitBtn5Click(Sender: TObject);
begin
DBGridEhToXLS(DBGridEh5);
end;
procedure Tfrmbasic.BitBtn7Click(Sender: TObject);
var
str,email:string;
// tag:boolean;
i:integer;
begin
//发送邮件
email:=DMAsset.ADOEmployee.FieldByName('EmailName').AsString;
i := pos('@',email);
if (i > 0) and (email <>'') then
begin
str:='mailto:';
str:=str+email;
shellexecute(handle,nil,pchar(str),nil,nil,SW_SHOWnormal);
end
end;
procedure Tfrmbasic.BitBtn2Click(Sender: TObject);
var
sql:string;
begin
if Edit2.Text<>'' then
begin
sql:='select * from Vendor where 2>1 ';
sql:=sql+' AND VendorName like ' + '''%' + edit2.Text + '%''';
sql:=sql+' order by VendorName';
myquery(sql,DMAsset.ADOVendor);
end;
end;
procedure Tfrmbasic.BitBtn6Click(Sender: TObject);
begin
DBGridEhToXLS(DBGridEh6);
end;
procedure Tfrmbasic.DBLookupComboBox6Click(Sender: TObject);
var
sql:string;
begin//处理大类别点击,让类别都是这个大类别
sql:='select * from AssetCategory where TypeID= ';
sql:=sql+IntToStr(DBLookupComboBox6.KeyValue)+' ORDER BY AssetCategory';
myquery(sql,DMAsset.ADOAssetCategory);
end;
procedure Tfrmbasic.DSModelNumberDataChange(Sender: TObject;
Field: TField);
begin
if DSModelNumber.DataSet.RecordCount = 0 then
Panel11.Caption := '0 / 0'
else
panel11.Caption := IntToStr(DSModelNumber.DataSet.RecNo) + ' / ' +
IntToStr(DSModelNumber.DataSet.RecordCount);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -