📄 main.pas
字号:
unit main;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, OutlookBtn, Menus, Db,
StdCtrls, Mask, DBCtrls, TransBtn, jpeg;
//控件1: Ehlib 1.56
type
TMainForm = class(TForm)
Image1: TImage;
ExitOutlookBtn: TOutlookBtn;
CreateProjectOutlookBtn: TOutlookBtn;
OutlookBtn1: TOutlookBtn;
OutlookBtn2: TOutlookBtn;
OutlookBtn3: TOutlookBtn;
OutlookBtn4: TOutlookBtn;
OutlookBtn5: TOutlookBtn;
OutlookBtn6: TOutlookBtn;
OutlookBtn7: TOutlookBtn;
OutlookBtn8: TOutlookBtn;
OutlookBtn9: TOutlookBtn;
OutlookBtn10: TOutlookBtn;
IDDBEdit: TDBEdit;
ProjectDBEdit: TDBEdit;
Create_dDBEdit: TDBEdit;
CreatorDBEdit: TDBEdit;
NameDBEdit: TDBEdit;
InfoOutlookBtn: TOutlookBtn;
DelPopupMenu1: TPopupMenu;
deleteN1: TMenuItem;
DelPopupMenu2: TPopupMenu;
DelPopupMenu3: TPopupMenu;
DelPopupMenu4: TPopupMenu;
DelPopupMenu5: TPopupMenu;
DelPopupMenu6: TPopupMenu;
DelPopupMenu7: TPopupMenu;
DelPopupMenu8: TPopupMenu;
DelPopupMenu9: TPopupMenu;
DelPopupMenu10: TPopupMenu;
deleteN7: TMenuItem;
deleteN2: TMenuItem;
deleteN3: TMenuItem;
deleteN4: TMenuItem;
deleteN5: TMenuItem;
deleteN6: TMenuItem;
deleteN8: TMenuItem;
deleteN9: TMenuItem;
deleteN10: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure ExitOutlookBtnClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure CreateProjectOutlookBtnClick(Sender: TObject);
Function ProjectName(Pn:TOutLookBtn;PnStr:String):Boolean;
procedure OriCall(DBFullName:string;ExecPN:String);
Function DeleteOutLookBtn(DBFullName:string;ExecPN:String):Boolean;
procedure GetOutLookBtnVisible(Sender:TObject);
procedure SetDirectory(Dir:string);
function MemoLinesShowingLong(Memo:TMemo):Integer;
procedure SetOutLookBtnPos(OutLook:TOutLookBtn;PosMark,x,y:Integer);
{ //按钮名,0,1,2,3:左上,左下,右上,右下,x,y:距离}
procedure SetTBtnPos(TBtn:TTransparentButton;PosMark,x,y:Integer);
procedure SetOutLookCaption;
//取得按钮名,即项目名
procedure OutlookBtn1Click(Sender: TObject);
procedure OutlookBtn2Click(Sender: TObject);
procedure OutlookBtn3Click(Sender: TObject);
procedure OutlookBtn4Click(Sender: TObject);
procedure OutlookBtn5Click(Sender: TObject);
procedure OutlookBtn6Click(Sender: TObject);
procedure OutlookBtn7Click(Sender: TObject);
procedure OutlookBtn8Click(Sender: TObject);
procedure OutlookBtn9Click(Sender: TObject);
procedure OutlookBtn10Click(Sender: TObject);
procedure InfoOutlookBtnClick(Sender: TObject);
procedure deleteN1Click(Sender: TObject);
procedure deleteN2Click(Sender: TObject);
procedure deleteN3Click(Sender: TObject);
procedure deleteN4Click(Sender: TObject);
procedure deleteN5Click(Sender: TObject);
procedure deleteN6Click(Sender: TObject);
procedure deleteN7Click(Sender: TObject);
procedure deleteN8Click(Sender: TObject);
procedure deleteN9Click(Sender: TObject);
procedure deleteN10Click(Sender: TObject);
procedure OpenSys_Operators;
procedure OpenEstate_c;
procedure OpenDevelop_c;
procedure OpenEsate_cDevelop_c;
procedure OpenHouse;
procedure OpenDirection_c;
procedure OpenDirection_cChoose;
procedure OpenUse_c;
procedure OpenType_c;
procedure OpenHouseEsate_c;
procedure OpenCustomer_c;
procedure OpenSex_c;
procedure OpenSale_c;
procedure OpenConfirmed_book;
procedure OpenPay_c;
procedure OpenContract_book;
procedure OpenPay_detail;
procedure OpenAllK;
private
{ Private declarations }
public
{ Public declarations }
end;
const
MaxUseNum=3;
sys_operatorsSQL='select * from sys_operators';
estate_cSQL='select * from estate_c';
develop_cSQL='select * from develop_c';
estate_cdevelop_cSQL='select estate_c.物业代码,estate_c.物业名称,develop_c.销售商代码,develop_c.销售商名称 from estate_c,develop_c where estate_c.销售商代码=develop_c.销售商代码';
HouseSQL='Select 房号,物业代码,朝向,销售状态,用途,类型,建筑面积,实用面积,房价 from House';
HouseEstate_cSQL='Select House.房号,House.物业代码,House.朝向,House.销售状态,House.用途,House.类型,House.建筑面积,House.实用面积,House.房价 from House,estate_c where House.物业代码=estate_c.物业代码';
direction_cSQL='Select * from Direction_c';
Use_cSQL='Select * from Use_c';
Type_cSQL='Select * from Type_c';
Customer_cSQL='Select * from Customer_c';
Sex_cSQL='select * from Sex_c';
Sale_cSQL='select * from Sale_c';
Confirmed_bookSQL='Select * from Confirmed_book';
Pay_cSQL='Select 付款方式代码 As 代码,百分比,天数,是否在使用 As 使用 from Pay_c';
Contract_bookSQL='Select * from Contract_book';
Pay_detailSQL='Select * from Pay_detail';
var
MainForm: TMainForm;
RegistryVersion:Boolean=False;//False=非注册版
UseNum:Integer=0;//非注册版的使用次数限制
HaveRunNum:Integer;
CreateProjectName:String;//新项目的项目名
DataBaseName:String;//要打开的各个项目的数据库名
ExecProjectName:string;//要进入的项目名字
Success:Boolean=False;//调用成功标志
AllDBFullName:string;//要打开的数据库全名(路径+库名)
AllExecPN:String;//ExecPN:要进入的项目名字
estate_c:string;//物业代码的全程变量
develop_c:string;//销售商的全程变量
Datafilename:string;
implementation
uses udm,CreateProject,Password,CallProgram,CreateData,
CreateWYList,EditRecord,About;
{$R *.DFM}
procedure TMainForm.OpenAllK;//打开库中所有的表
begin
OpenSys_Operators;
OpenEstate_c;
OpenDevelop_c;
OpenEsate_cDevelop_c;
OpenHouse;
OpenDirection_c;
OpenDirection_cChoose;
OpenUse_c;
OpenType_c;
OpenHouseEsate_c;
OpenCustomer_c;
OpenSex_c;
OpenSale_c;
OpenConfirmed_book;
OpenPay_c;
OpenContract_book;
OpenPay_detail;
end;
procedure TMainForm.OpenSys_Operators;
begin
with DM do
begin
sys_operators.Close;
sys_operators.SQL.Clear;
sys_operators.SQL.Add(sys_operatorsSQL);
sys_operators.Open;
end;
end;
procedure TMainForm.OpenEstate_c;
begin
with DM do
begin
Estate_c.Close;
estate_c.SQL.Clear;
estate_c.SQL.Add(estate_cSQL);
Estate_c.Open;
end;
end;
procedure TMainForm.OpenDevelop_c;
begin
with DM do
begin
Develop_c.Close;
develop_c.SQL.Clear;
develop_c.SQL.Add(develop_cSQL);
develop_c.Open;
end;
end;
procedure TMainForm.OpenEsate_cDevelop_c;
begin
with DM do
begin
Estate_cDevelop_c.Close;
Estate_cDevelop_c.SQL.Clear;
Estate_cDevelop_c.SQL.Add(estate_cdevelop_cSQL);
Estate_cDevelop_c.Open;
end;
end;
procedure TMainForm.OpenHouse;
begin
with DM do
begin
House.Close;
House.SQL.Clear;
House.SQL.Add(HouseSQL);
House.Open;
end;
end;
procedure TMainForm.OpenDirection_c;
begin
with DM do
begin
Direction_c.Close;
Direction_c.SQL.Clear;
Direction_c.SQL.Add(direction_cSQL);
Direction_c.Open;
end;
end;
procedure TMainForm.OpenDirection_cChoose;
begin
with DM do
begin
Direction_cChoose.Close;
Direction_cChoose.SQL.Clear;
Direction_cChoose.SQL.Add(HouseEstate_cSQL);
Direction_cChoose.Open;
end;
end;
procedure TMainForm.OpenUse_c;
begin
with DM do
begin
Use_c.Close;
Use_c.SQL.Clear;
Use_c.SQL.Add(Use_cSQL);
Use_c.Open;
end;
end;
procedure TMainForm.OpenType_c;
begin
with DM do
begin
Type_c.Close;
Type_c.SQL.Clear;
Type_c.SQL.Add(Type_cSQL);
Type_c.Open;
end;
end;
procedure TMainForm.OpenHouseEsate_c;
begin
with DM do
begin
HouseEstate_c.Close;
HouseEstate_c.SQL.Clear;
HouseEstate_c.SQL.Add(HouseEstate_cSQL);
HouseEstate_c.Open;
end;
end;
procedure TMainForm.OpenCustomer_c;
begin
with DM do
begin
Customer_c.Close;
Customer_c.SQL.Clear;
// Customer_c.SQL.Add('select 客户代码,姓名,性别,法定代表人,电话 from Customer_c');
Customer_c.SQL.Add(Customer_cSQL);
Customer_c.Open;
end;
end;
procedure TMainForm.OpenSex_c;
begin
with DM do
begin
Sex_c.Close;
Sex_c.SQL.Clear;
Sex_c.SQL.Add(Sex_cSQL);
Sex_c.Open;
end;
end;
procedure TMainForm.OpenSale_c;
begin
with DM do
begin
Sale_c.Close;
Sale_c.SQL.Clear;
Sale_c.SQL.Add(Sale_cSQL);
Sale_c.Open;
end;
end;
procedure TMainForm.OpenConfirmed_book;
begin
with DM do
begin
Confirmed_book.Close;
Confirmed_book.SQL.Clear;
Confirmed_book.SQL.Add(Confirmed_bookSQL);
Confirmed_book.Open;
end;
end;
procedure TMainForm.OpenPay_c;
begin
with DM do
begin
Pay_c.Close;
Pay_c.SQL.Clear;
Pay_c.SQL.Add(Pay_cSQL);
Pay_c.Open;
end;
end;
procedure TMainForm.OpenContract_book;
begin
with DM do
begin
Contract_book.Close;
Contract_book.SQL.Clear;
Contract_book.SQL.Add(Contract_bookSQL);
Contract_book.Open;
end;
end;
procedure TMainForm.OpenPay_detail;
begin
with DM do
begin
Pay_detail.Close;
Pay_detail.SQL.Clear;
Pay_detail.SQL.Add(Pay_detailSQL);
Pay_detail.Open;
end;
end;
procedure HideTaskBar;
Var
wndHandle:THandle;
wndClass:array [0..50] of Char;
begin
StrPCopy(@wndClass[0],'Shell_TrayWnd');
wndHandle:=FindWindow(@wndClass[0],nil);
ShowWindow(wndHandle,SW_HIDE);
end;
procedure ShowTaskBar;
Var
wndHandle:THandle;
wndClass:array [0..50] of Char;
begin
StrPCopy(@wndClass[0],'Shell_TrayWnd');
wndHandle:=FindWindow(@wndClass[0],nil);
ShowWindow(wndHandle,SW_RESTORE);
end;
function TMainForm.MemoLinesShowingLong(Memo:TMemo):Integer;
var
oldfont:HFont;
DC:THandle;
Tm:TTExtMetric;
TheRect:TRect;
begin
DC:=GetDC(Memo.Handle);
Try
oldfont:=SelectObject(DC,Memo.Font.Handle);
Try
GetTextMetrics(DC,Tm);
Memo.Perform(EM_GETRECT,0,longint(@TheRect));
Result:=(TheRect.Bottom-TheRect.Top) div (Tm.tmHeight-Tm.tmExternalLeading);
Finally
SelectObject(DC,oldfont);
end;
Finally
ReleaseDC(Memo.Handle,DC);
end;
end;
procedure TMainForm.GetOutLookBtnVisible(Sender:TObject);
var
SearchRec: TSearchRec;
s,s1:string;
Creator,Create_d,Name:string;
begin
if FindFirst(ExtractFilePath(Application.Exename)+'Data\*.jsh', faAnyFile, SearchRec)=0 then
begin
Repeat
{ DM.sys_operatorsDAO.DatabaseName:=ExtractFilePath(Application.Exename)+'Data\'+SearchRec.Name;
DM.sys_operatorsDAO.Connected:=True;}
dataFileName:= ExtractFilePath(Application.Exename)+'Data\'+SearchRec.Name;
try
mainform.Refresh;
DM.ADOC.Connected:=False;
DM.ADOC.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
Datafilename+'; Persist Security Info=False';
DM.ADOC.LoginPrompt :=false;
DM.ADOC.Connected:=true;
except
MessageBox(Application.Handle,PChar('不能正常连接数据文件。请重新选择打开文件!'),Pchar('错误提示'),mb_OK or MB_ICONERROR);
exit;
end;
DM.sys_operators.open;
s:=IDDBEdit.EditText;
s1:=ProjectDBEdit.EditText;
Creator:=CreatorDBEdit.EditText;
Create_d:=create_dDBEdit.EditText;
Name:=NameDBEdit.EditText;
if not OutLookBtn1.Visible then
begin
OutLookBtn1.Visible:=True;
OutLookBtn1.Caption:=s1;
OutLookBtn1.Hint:='创建人:'+Creator+' 创建日期:'+Create_d+'登录代码:'+Name;
end
else
if not OutLookBtn2.Visible then
begin
OutLookBtn2.Visible:=True;
OutLookBtn2.Caption:=s1;
OutLookBtn2.Hint:='创建人:'+Creator+' 创建日期:'+Create_d+'登录代码:'+Name;
end
else
if not OutLookBtn3.Visible then
begin
OutLookBtn3.Visible:=True;
OutLookBtn3.Caption:=s1;
OutLookBtn3.Hint:='创建人:'+Creator+' 创建日期:'+Create_d+'登录代码:'+Name;
end
else
if not OutLookBtn4.Visible then
begin
OutLookBtn4.Visible:=True;
OutLookBtn4.Caption:=s1;
OutLookBtn4.Hint:='创建人:'+Creator+' 创建日期:'+Create_d+'登录代码:'+Name;
end
else
if not OutLookBtn5.Visible then
begin
OutLookBtn5.Visible:=True;
OutLookBtn5.Caption:=s1;
OutLookBtn5.Hint:='创建人:'+Creator+' 创建日期:'+Create_d+'登录代码:'+Name;
end
else
if not OutLookBtn6.Visible then
begin
OutLookBtn6.Visible:=True;
OutLookBtn6.Caption:=s1;
OutLookBtn6.Hint:='创建人:'+Creator+' 创建日期:'+Create_d+'登录代码:'+Name;
end
else
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -