📄 inc.pas
字号:
unit inc;
interface
uses
Classes,Windows,Dialogs,nb30,StrUtils,Registry,Forms,Grids;
type
//定义一个集合的数据类型,用于判断产品的级别
TProductType=(ProductSort,ProductSeries,Products,ProductSpec);
//定义一个集合的数据类型,用于判断帐单的类型
TAccountType=(BuyIn,SellOut,InHandBack,OutHandBack);
//方款的方式
TPayMode =(vCheckOut,vPayOut);
//定义一个记录的数据类型,用于记录一个帐单的信息
TOrder= record
SeriesNO : String;
EmpName : String;
OrderDate: TDateTime;
OID : String;
end;
//记录一个产品的信息
TProduct=record
PSort :string;
PSeries :string;
PProduct:string;
PSpec :string;
end;
//记录帐单的细目信息
TAccountPro=record
PID :string;
PName :string;
PPrice :string;
PNum :string;
PAgio :string;
PCName :string;
PCID :string;
end;
//记录单项产品的进、销价格的差异
TPProfit=record
PSC_ID :string;
S_O_SERIAL :string;
PST_NAME :string;
PSE_NAME :string;
P_NAME :string;
PSC_SPEC :string;
AL_PRICE :Extended;
AL_NUMBER :integer;
T_AL_NUMBER:integer;
T_AL_PRICE :Extended;
AL_AGIO :Extended;
E_NAME :string;
C_NAME :string;
S_O_DATE :TDateTime;
end;
//TITLE FOR FORM
var
UserID:string;
UserName:string;
Popedom:string;
connStr:string;
attr:string;
stitle:string;
str888:string;
str888_1:integer;
checklogin :integer;
SelName:string;
m_Sort :string; //排序
m_RecNum:integer; //选择
RID:integer;
NumberOut:integer;
check: array[1..24] of integer;
ProType:TProductType;
AccountPro:TAccountPro;
AccountType:TAccountType;
PName:array[1..24] of string;
Field:array[1..24] of string;
MyOrder:TOrder;
MyPayMode:TPayMode;
vT_AL_PRICE:Extended;
LeastDay:string;
edit3_audit,edit4_audit,edit5_audit:string;
remainZero:bool=false;//余额为零不导出
ProName:string;
procedure StringGridClear(var vStringGrid:TStringGrid);
procedure SetLogs(vOperate:string);
procedure RegOrNot;
implementation
uses SysUtils,DBM;
procedure StringGridClear(var vStringGrid:TStringGrid);
var
I, J : Integer;
begin
//用于清空vStringGrid组件,相当于刷新组件
with vStringGrid do begin
for I := 0 to ColCount - 1 do
for J:= 0 to RowCount - 1 do
Cells[I,J]:='';
RowCount:=2;
end;
end;
procedure SetLogs(vOperate:string);
var
sqlStr:string;
begin
//日志记录
sqlStr:='insert into Logs (E_NAME,L_DATE,L_OPERATE) values ('''+UserName+''','''+DateTimeToStr(Now)+''','''+vOperate+''')';
with DM.LogADOQuery do begin
Close;
SQL.Clear;
SQL.Add(sqlStr);
ExecSQL;
end;
end;
procedure RegOrNot;
var
vReg:TRegistry;
begin
try
vReg:=TRegistry.Create;
vReg.RootKey :=HKEY_LOCAL_MACHINE;
vReg.OpenKey('SoftWare\Microsoft\Access Registry',False);
if vReg.ValueExists('Borland') then begin
if vReg.ReadString('Borland')='usa911' then
LeastDay:='合同管理-V2.0(正式版)';
end else
try
vReg.CloseKey;
vReg.OpenKey('SoftWare\Microsoft\Run Date',True);
if vReg.ValueExists('A1B1C1')=False then begin
vReg.WriteInteger('A1B1C1',200);
LeastDay:='合同管理-V2.0(试用版)还有200次';
end
else begin
if (vReg.ReadInteger('A1B1C1')>=1) and (vReg.ReadInteger('A1B1C1')<=200) then begin
vReg.WriteInteger('A1B1C1',vReg.ReadInteger('A1B1C1')-1);
LeastDay:='合同管理-V2.0(试用版)还有'+IntToStr(vReg.ReadInteger('A1B1C1'))+'次';
end;
end;
if vReg.ReadInteger('A1B1C1')>200 then begin
Application.Terminate;
Application.Run;
end;
if vReg.ReadInteger('A1B1C1')=0 then begin
with DM.vADOQuery do begin
Close;
SQL.Clear;
SQL.Add('DELETE users');
ExecSQL;
end;
Application.Terminate;
Application.Run;
end;
finally
end;
vReg.CloseKey;
vReg.Free;
finally;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -