RtTool/Delphi7/开发档案/马国钢开发代码/ThreeFun/formPas/U_FormPas.pas

1949 lines
56 KiB
ObjectPascal
Raw Normal View History

2025-01-08 11:55:07 +08:00
unit U_FormPas;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ToolWin, StdCtrls, BtnEdit, cxStyles, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit,DBGrids, DB, cxDBData,
cxGridLevel, cxClasses, cxControls, cxGridCustomView, ADODB,StrUtils,
Midas,cxGridCustomTableView, cxGridTableView, cxGridDBTableView,cxTimeEdit,
cxGrid,cxDBLookupComboBox,cxCalendar, cxCurrencyEdit,cxExportGrid4Link,
ExtCtrls, Buttons,DBClient,FTComboBox,cxDropDownEdit;
type
TA = class(TComponent)
public
S:string;
end;
procedure ClearWinData(mParent:TWinControl);
procedure InitComBoxBySql(ADOQueryTmp:TADOQuery;cb: TComboBox;
sqlstr:string;Boxtype:integer;showMsg:string;emptyFlag:Boolean);
procedure SplitCtrName(ms:string;mvg:string;var mtable:string;var mfield:string);
procedure InitComBoxByCode(ADOQueryTmp:TADOQuery;
cb: TComboBox;FlagType:string;
Boxtype:integer;
showMsg:string;
emptyFlag:Boolean
);
procedure InitFtComBoxByCode(ADOQueryTmp:TADOQuery;
cb: TFtComboBox;FlagType:string;
Boxtype:integer;
showMsg:string;
emptyFlag:Boolean
);
procedure InitFtComBoxByCode10(ADOQueryTmp:TADOQuery;
cb: TFtComboBox;FlagType:string;
Boxtype:integer;
showMsg:string;
emptyFlag:Boolean;
isClearOld:boolean
);
procedure SetWinData(ADOQueryTmp:TADOQuery;mParent:TWinControl);
procedure SetWinData_CDS(mCDS:TclientDataset;mParent:TWinControl);
procedure CreateCDS(SADOqry:TADOQuery; mClientDataset:TclientDataSet);
procedure CreateCDS20(SADOQry:TADOQuery; mClientDataset:TclientDataSet );
procedure InitCDSData(fromADO:TADOQuery;toCDS:TclientDataSet);
procedure InitCDSData20(fromADO:TADOQuery;toCDS:TclientDataSet);
procedure CreateCxGridCol(ADOQueryTmp:TADOQuery;tv1:TcxGridDBTableView;HasFooter:Boolean);
procedure CreateFooterCol(tv1:TcxGridTableView;tcol:TcxGriddbColumn;mcolName:string;FooterType:string);
function getCombIdx(cobBox:TComboBox;k:integer;vv:string):integer;
procedure SaveTocxGridColSet(ADOQueryCmd:TADOQuery;winCode:string;gridName:string;cxGrid:TcxGridTableView);
procedure SaveToQrycxGridColSet(ADOQueryCmd:TADOQuery;winCode:string;cxGrid:TcxGridTableView);
procedure SaveTodbGridColSet(ADOQueryCmd:TADOQuery;winCode:string;gridName:string;dbGrid:TDbgrid);
procedure SaveToQrydbGridColSet(ADOQueryCmd:TADOQuery;winCode:string;dbGrid:TDbgrid);
procedure CreateCxGridCol10(ADOQueryTmp:TADOQuery;
tv1:TcxGridDBTableView;
HasFooter:Boolean);
procedure TcxGridToExcel(mfileName:string;gridName:TcxGrid);
function GetMaxNo(ADOStoredProc1:TADOStoredProc;
var mMaxNo:string;
mFlag:string):Boolean;
function GetMaxNo20(ADOQueryTmp:TADOQuery;
var mMaxNo:string;
mTable:string;
mFlag:string;
hasTp:integer;lsLen:integer=3):Boolean;
function GetMaxGangNo(ADOQueryTmp:TADOQuery;
var mMaxNo:string;
mTable:string;
mFlag:string;
hasTp:integer;
lsLen:integer=3;
BhType:integer=0):Boolean;
procedure InitComBoxByUnit(ADOQueryTmp:TADOQuery;
cb: TComboBox;FlagType:string;
Boxtype:integer;
showMsg:string;
emptyFlag:Boolean
);
procedure InitComBoxByUnit10(ADOQueryTmp:TADOQuery;
cb: TComboBox;FlagType:string;
Boxtype:integer;
showMsg:string;
emptyFlag:Boolean
);
procedure InitFtComBoxByUnit(ADOQueryTmp:TADOQuery;
cb: TFtComboBox;FlagType:string;
Boxtype:integer;
showMsg:string;
emptyFlag:Boolean
);
procedure InitFtComBoxByUnit10(ADOQueryTmp:TADOQuery;
cb: TFtComboBox;FlagType:string;
Boxtype:integer;
showMsg:string;
emptyFlag:Boolean
);
procedure InitFtComBoxBySql(ADOQueryTmp:TADOQuery;
cb: TFtComboBox;FlagType:string;
Boxtype:integer;
showMsg:string;
emptyFlag:Boolean;
mSql:string
);
procedure GetServerTime(ADOQueryTmp:TADOQuery);
function GetNameByBh(ADOQueryTmp:TADOQuery;mBhType:string;
mValue:string;var mCode:string;var mName:string):Boolean;
function GetNameByBh10(ADOQueryTmp:TADOQuery;mBhType:string;mValue:string):Boolean;
function GetServerTime10(ADOQueryTmp:TADOQuery):TdateTime;
procedure InitCxGridComboBoxByCode(ADOQueryTmp:TADOQuery;c3:TcxGriddbColumn;FlagType:string);
procedure GetDll(DllName:string;StrFormid:integer;Str:string);
procedure GetDll10(DllName:string;sFormid:integer;sDatabase:string;sTitle:string;sDef1:string;sDef2:string);
function KillNoFuncWinForm(formName:string;formTitle:string;formId:integer=0):boolean;
function GetMaxPlanNo(ADOQueryTmp:TADOQuery;
var mMaxNo:string;
mTable:string;
mFlag:string;
hasTp:integer;
lsLen:integer=3;
BhType:integer=0):Boolean;
procedure Dofilter(ADOQry:TADOQuery;FilterStr:string);
procedure DisableCtrl(mParent:TWinControl);
procedure DofilterNew(ADOQry:TADOQuery;FilterStr:string);
function GetNoDateMaxNo(ADOQueryTmp:TADOQuery;
var mMaxNo:string;
mTable:string;
mFlag:string;
lsLen:integer=3):Boolean;
procedure DofilterCDS(Cds_Sub:TClientDataSet;FilterStr:string);
var
newh:hwnd;
implementation
uses U_global;
//////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>մ<EFBFBD><D5B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//////////////////////////////////////////////////////
procedure ClearWinData(mParent:TWinControl);
var
i:integer;
begin
with mParent do
begin
for i:=0 to ControlCount-1 do
begin
if Controls[i] is TLabel then continue;
//EDIT
if Controls[i] is TEdit then
begin
TEdit(Controls[i]).Text:='';
end
//combobox
else if Controls[i] is TComboBox then
begin
TComboBox(Controls[i]).Text:='';
end
//checkBox
else if Controls[i] is TCheckBox then
begin
TCheckBox(Controls[i]).Checked :=false;
end
//TBtnEdit
else if (Controls[i] is TBtnEditA) or (Controls[i] is TBtnEditB)
or (Controls[i] is TBtnEditC) then
begin
TBtnEditA(Controls[i]).text:='';
end
else if Controls[i] is TdateTimePicker then
TdateTimePicker(Controls[i]).DateTime :=Date()
else if Controls[i] is Tmemo then
Tmemo(Controls[i]).Text :=''
else if Controls[i] is TcxDateEdit then
begin
TcxDateEdit(Controls[i]).Clear ;
end
else if Controls[i] is TcxTimeEdit then
begin
TcxTimeEdit(Controls[i]).Clear ;
end
else if Controls[i] is TcxCurrencyEdit then
begin
TcxCurrencyEdit(Controls[i]).Clear;
end;
end;
end;
end;
//////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD><EFBFBD>޸<EFBFBD>
//////////////////////////////////////////////////////
procedure DisableCtrl(mParent:TWinControl);
var
i:integer;
begin
with mParent do
begin
for i:=0 to ControlCount-1 do
begin
if Controls[i] is TLabel then continue;
if Controls[i] is Tmemo then
Tmemo(Controls[i]).ReadOnly :=true
else
Controls[i].Enabled :=false;
end;
end;
end;
/////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:<3A><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/////////////////////////////////////////////////////
procedure SetWinData(ADOQueryTmp:TADOQuery;mParent:TWinControl);
var
i,idx:integer;
mfield:string;
ma:TA;
begin
with ADOQueryTmp do
begin
if isEmpty then exit;
with mParent do
begin
for i:=0 to ControlCount-1 do
begin
if Controls[i] is TLabel then continue;
if Controls[i].Tag >=999 then continue;
mfield:=Controls[i].Name;
///////////////////////////
//EDIT
if Controls[i] is TEdit then
begin
if Controls[i].Tag =999 then
continue
else
TEdit(Controls[i]).Text:=trim(fieldByName(mfield).AsString);
end
//ftcombobox
else if Controls[i] is TFTComboBox then
begin
if Controls[i].Tag =99 then
begin
idx:=TftComboBox(Controls[i]).Items.IndexOf(trim(fieldByName(mfield).AsString));
TComboBox(Controls[i]).ItemIndex:=idx;
end
else
begin
idx:=TftComboBox(Controls[i]).IndexOfItem2(trim(fieldByName(mfield).AsString));
TComboBox(Controls[i]).ItemIndex:=idx;
end;
end
//combobox
else if Controls[i] is TComboBox then
begin
if TComboBox(Controls[i]).Items.Count>0 then
begin
idx:=getCombIdx(TComboBox(Controls[i]),i,trim(fieldByName(mfield).AsString));
end
else
idx:=-1;
TComboBox(Controls[i]).ItemIndex:=idx;
end
else if Controls[i] is TBtnEditA then
begin
if TBtnEditA(Controls[i]).Tag=1 then
begin
TBtnEditA(Controls[i]).TxtCode := trim(fieldByName(mfield).AsString);
TBtnEditA(Controls[i]).text:= trim(fieldByName(mfield+'Name').AsString);
end
else
begin
TBtnEditA(Controls[i]).TxtCode := trim(fieldByName(mfield).AsString);
TBtnEditA(Controls[i]).text:= trim(fieldByName(mfield).AsString);
end;
end
else if Controls[i] is TBtnEditC then
begin
if TBtnEditC(Controls[i]).Tag=1 then
begin
TBtnEditC(Controls[i]).TxtCode := trim(fieldByName(mfield).AsString);
TBtnEditC(Controls[i]).text:= trim(fieldByName(mfield+'Name').AsString);
end
else
begin
TBtnEditC(Controls[i]).TxtCode := trim(fieldByName(mfield).AsString);
TBtnEditC(Controls[i]).text:= trim(fieldByName(mfield).AsString);
end
end
else if Controls[i] is TDateTimePicker then
begin
if IsEmpty or fieldByName(mfield).IsNull then
begin
if TDateTimePicker(Controls[i]).Checked then
TDateTimePicker(Controls[i]).Date:=strToDate('1990-01-01');
end
else
TDateTimePicker(Controls[i]).Date:=fieldByName(mfield).AsDateTime;
end
else if Controls[i] is Tmemo then
begin
Tmemo(Controls[i]).Text :=trim(fieldByName(mfield).AsString);
end
else if Controls[i] is TcxDateEdit then
begin
if not IsEmpty and not fieldByName(mfield).IsNull then
TcxDateEdit(Controls[i]).text :=fieldByName(mfield).AsString;
end
else if Controls[i] is TcxTimeEdit then
begin
if not IsEmpty and ( fieldByName(mfield).AsString<>'') then
TcxTimeEdit(Controls[i]).text :=fieldByName(mfield).AsString;
end
else if Controls[i] is TcxCurrencyEdit then
begin
TcxCurrencyEdit(Controls[i]).Text:=fieldByName(mfield).AsString;
end
else if Controls[i] is TcheckBox then
begin
TcheckBox(Controls[i]).Checked:=fieldByName(mfield).asBoolean;
end;
end; // end for
end; // end with
end; //end for with
end;
/////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:<3A><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>ԴΪTclientDataset
/////////////////////////////////////////////////////
procedure SetWinData_CDS(mCDS:TclientDataset;mParent:TWinControl);
var
i,idx:integer;
mfield:string;
ma:TA;
begin
with mCDS do
begin
with mParent do
begin
for i:=0 to ControlCount-1 do
begin
if Controls[i] is TLabel then continue;
if Controls[i].Tag =999 then
continue ;
mfield:=Controls[i].Name;
///////////////////////////
//EDIT
if Controls[i] is TEdit then
begin
TEdit(Controls[i]).Text:=trim(fieldByName(mfield).AsString);
end
//ftcombobox
else if Controls[i] is TFTComboBox then
begin
if Controls[i].Tag =99 then
begin
idx:=TftComboBox(Controls[i]).Items.IndexOf(trim(fieldByName(mfield).AsString));
TComboBox(Controls[i]).ItemIndex:=idx;
end
else
begin
idx:=TftComboBox(Controls[i]).IndexOfItem2(trim(fieldByName(mfield).AsString));
TComboBox(Controls[i]).ItemIndex:=idx;
end;
end
//combobox
else if Controls[i] is TComboBox then
begin
if TComboBox(Controls[i]).Items.Count>0 then
begin
idx:=getCombIdx(TComboBox(Controls[i]),i,trim(fieldByName(mfield).AsString));
end
else
idx:=-1;
TComboBox(Controls[i]).ItemIndex:=idx;
end
else if Controls[i] is TBtnEditA then
begin
if TBtnEditA(Controls[i]).Tag=1 then
begin
TBtnEditA(Controls[i]).TxtCode := trim(fieldByName(mfield).AsString);
TBtnEditA(Controls[i]).text:= trim(fieldByName(mfield+'Name').AsString);
end
else
begin
TBtnEditA(Controls[i]).TxtCode := trim(fieldByName(mfield).AsString);
TBtnEditA(Controls[i]).text:= trim(fieldByName(mfield).AsString);
end; end
else if Controls[i] is TBtnEditC then
begin
if TBtnEditC(Controls[i]).Tag=1 then
begin
TBtnEditC(Controls[i]).TxtCode := trim(fieldByName(mfield).AsString);
TBtnEditC(Controls[i]).text:= trim(fieldByName(mfield+'Name').AsString);
end
else
begin
TBtnEditC(Controls[i]).TxtCode := trim(fieldByName(mfield).AsString);
TBtnEditC(Controls[i]).text:= trim(fieldByName(mfield).AsString);
end
end
else if Controls[i] is Tmemo then
begin
Tmemo(Controls[i]).Text :=trim(fieldByName(mfield).AsString);
end
else if Controls[i] is TDateTimePicker then
begin
if IsEmpty or fieldByName(mfield).IsNull then
TDateTimePicker(Controls[i]).Date:=strToDate('1990-01-01')
else
TDateTimePicker(Controls[i]).Date:=fieldByName(mfield).AsDateTime;
end
else if Controls[i] is TcxDateEdit then
begin
if not IsEmpty and not fieldByName(mfield).IsNull then
TcxDateEdit(Controls[i]).text :=fieldByName(mfield).AsString;
end
else if Controls[i] is TcxTimeEdit then
begin
if not IsEmpty and ( fieldByName(mfield).AsString<>'') then
TcxTimeEdit(Controls[i]).text :=fieldByName(mfield).AsString;
end
else if Controls[i] is TcxCurrencyEdit then
begin
TcxCurrencyEdit(Controls[i]).Text:=fieldByName(mfield).AsString;
end;
end; // end for
end; // end with
end; //end for with
end;
//////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:<3A><><EFBFBD><EFBFBD>combobox objects <20><> idx
//////////////////////////////////////////
function getCombIdx(cobBox:TComboBox;k:integer;vv:string):integer;
var
i:integer;
mm:string;
rv:integer;
begin
rv:=-1;
for i:=0 to cobBox.Items.Count-1 do
begin
if TA(cobBox.Items.Objects[i])=nil then
begin
rv:=cobBox.Items.IndexOf(vv);
break;
end;
mm:=trim(TA(cobBox.Items.Objects[i]).s);
if mm=vv then
begin
rv:=i;
break;
end;
end;
result:=rv;
end;
//////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD>combox<6F>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
//Boxtype:0: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;1:<3A><>;
//////////////////////////////////////////////
procedure InitComBoxBySql(ADOQueryTmp:TADOQuery;
cb: TComboBox;sqlstr:string;
Boxtype:integer;
showMsg:string;
emptyFlag:Boolean
);
var
A:TA;
begin
cb.Items.Clear ;
with ADOQueryTmp do
begin
close;
sql.clear;
sql.Add(sqlstr);
Open;
if isEmpty then
begin
application.MessageBox(pChar(<>ҵ<EFBFBD><D2B5><EFBFBD>'+showMsg),'',0);
exit;
end;
while not EOF do
begin
if Boxtype=0 then
begin
cb.Items.Add(trim(fieldByName('Name').AsString));
end
else
begin
A := TA.Create(Nil);
A.s:= trim(fieldByName('code').AsString);
cb.Items.AddObject(trim(fieldByName('Name').AsString),TObject(a));
end;
next;
end;
if not emptyFlag then
cb.Items.Add('');
if emptyFlag and (cb.Items.Count >0) then
cb.ItemIndex :=0;
end;
end;
//////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD>combox<6F>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
//<2F><>XC_Code<64><65><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//Boxtype:0; <20><><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>1;
//////////////////////////////////////////////
procedure InitComBoxByCode(ADOQueryTmp:TADOQuery;
cb: TComboBox;FlagType:string;
Boxtype:integer;
showMsg:string;
emptyFlag:Boolean
);
var
A:TA;
begin
cb.Items.Clear ;
with ADOQueryTmp do
begin
close;
sql.clear;
sql.Add('exec P_Get_XC_code');
sql.Add(quotedStr(trim(flagType)));
Open;
if isEmpty then
begin
application.MessageBox(pChar(<>ҵ<EFBFBD><D2B5><EFBFBD>'+showMsg),'',0);
exit;
end;
while not EOF do
begin
if Boxtype=0 then
begin
cb.Items.Add(trim(fieldByName('<27><><EFBFBD><EFBFBD>').AsString));
end
else
begin
A := TA.Create(Nil);
A.s:= trim(fieldByName('<27><><EFBFBD><EFBFBD>').AsString);
cb.Items.AddObject(trim(fieldByName('<27><><EFBFBD><EFBFBD>').AsString),TObject(a));
end;
next;
end;
if not emptyFlag then
cb.Items.Add('');
if emptyFlag and (cb.Items.Count >0) then
cb.ItemIndex :=0;
end;
end;
//////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD>combox<6F>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
//<2F><>XC_Code<64><65><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//Boxtype:0; <20><><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>1;
//////////////////////////////////////////////
procedure InitFtComBoxByCode(ADOQueryTmp:TADOQuery;
cb: TFtComboBox;FlagType:string;
Boxtype:integer;
showMsg:string;
emptyFlag:Boolean
);
var
A:TA;
begin
cb.Items.Clear ;
with ADOQueryTmp do
begin
close;
sql.clear;
sql.Add('exec P_Get_XC_code');
sql.Add(quotedStr(trim(flagType)));
Open;
if isEmpty then
begin
application.MessageBox(pChar('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>'+showMsg),'',0);
exit;
end;
while not EOF do
begin
if Boxtype=0 then
begin
cb.Items.Add(trim(fieldByName('<27><><EFBFBD><EFBFBD>').AsString));
end
else
begin
//A := TA.Create(Nil);
//A.s:= trim(fieldByName('<27><><EFBFBD><EFBFBD>').AsString);
//cb.Items.AddObject(trim(fieldByName('<27><><EFBFBD><EFBFBD>').AsString),TObject(a));
cb.AddItem2(trim(fieldByName('<27><><EFBFBD><EFBFBD>').AsString),nil,trim(fieldByName('<27><><EFBFBD><EFBFBD>').AsString));
end;
next;
end;
if not emptyFlag then
cb.Items.Add('');
if emptyFlag and (cb.Items.Count >0) then
cb.ItemIndex :=0;
end;
end;
//////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD>combox<6F>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
//<2F><>XC_Code<64><65><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//Boxtype:0; <20><><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>1;
//emptyFlag<61><67><EFBFBD>Ƿ<EFBFBD>Ĭ<EFBFBD><C4AC>Ϊ<EFBFBD><CEAA>
//isClearOld:<3A><><EFBFBD><EFBFBD>ԭ<EFBFBD>е<EFBFBD><D0B5><EFBFBD>Ŀ
//////////////////////////////////////////////
procedure InitFtComBoxByCode10(ADOQueryTmp:TADOQuery;
cb: TFtComboBox;FlagType:string;
Boxtype:integer;
showMsg:string;
emptyFlag:Boolean;
isClearOld:boolean
);
var
A:TA;
begin
if isClearOld then
cb.Items.Clear ;
with ADOQueryTmp do
begin
close;
sql.clear;
sql.Add('exec P_Get_XC_code');
sql.Add(quotedStr(trim(flagType)));
Open;
if isEmpty then
begin
application.MessageBox(pChar('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>'+showMsg),'',0);
exit;
end;
while not EOF do
begin
if Boxtype=0 then
begin
cb.Items.Add(trim(fieldByName('<27><><EFBFBD><EFBFBD>').AsString));
end
else
begin
//A := TA.Create(Nil);
//A.s:= trim(fieldByName('<27><><EFBFBD><EFBFBD>').AsString);
//cb.Items.AddObject(trim(fieldByName('<27><><EFBFBD><EFBFBD>').AsString),TObject(a));
cb.AddItem2(trim(fieldByName('<27><><EFBFBD><EFBFBD>').AsString),nil,trim(fieldByName('<27><><EFBFBD><EFBFBD>').AsString));
end;
next;
end;
if not emptyFlag then
cb.Items.Add('');
if emptyFlag and (cb.Items.Count >0) then
cb.ItemIndex :=0;
end;
end;
//////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD>combox<6F>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
//<2F><>XC_Code<64><65><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//Boxtype:0; <20><><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>1;
//emptyFlag<61><67><EFBFBD>Ƿ<EFBFBD>Ĭ<EFBFBD><C4AC>Ϊ<EFBFBD><CEAA>
//mSql:sql<71><6C><EFBFBD>
//////////////////////////////////////////////
procedure InitFtComBoxBySql(ADOQueryTmp:TADOQuery;
cb: TFtComboBox;FlagType:string;
Boxtype:integer;
showMsg:string;
emptyFlag:Boolean;
mSql:string
);
var
A:TA;
begin
with ADOQueryTmp do
begin
close;
sql.clear;
sql.Add(mSql);
Open;
if isEmpty then
begin
application.MessageBox(pChar('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>'+showMsg),'',0);
exit;
end;
while not EOF do
begin
if Boxtype=0 then
begin
cb.Items.Add(trim(fieldByName('Name').AsString));
end
else
begin
cb.AddItem2(trim(fieldByName('Name').AsString),nil,trim(fieldByName('code').AsString));
end;
next;
end;
if not emptyFlag then
cb.Items.Add('');
if emptyFlag and (cb.Items.Count >0) then
cb.ItemIndex :=0;
end;
end;
//////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD>combox<6F>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
//<2F><>XC_unit<69><74><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//Boxtype:1; <20><><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
//////////////////////////////////////////////
procedure InitComBoxByUnit(ADOQueryTmp:TADOQuery;
cb: TComboBox;FlagType:string;
Boxtype:integer;
showMsg:string;
emptyFlag:Boolean
);
var
A:TA;
begin
cb.Items.Clear ;
with ADOQueryTmp do
begin
close;
sql.clear;
sql.Add('exec P_Get_XC_Unit');
sql.Add(quotedStr(trim(flagType)));
Open;
if isEmpty then
begin
application.MessageBox(pChar(<>ҵ<EFBFBD><D2B5><EFBFBD>'+showMsg),'',0);
exit;
end;
while not EOF do
begin
if Boxtype=0 then
begin
cb.Items.Add(trim(fieldByName('<27><><EFBFBD><EFBFBD>').AsString));
end
else
begin
A := TA.Create(Nil);
A.s:= trim(fieldByName('<27><><EFBFBD><EFBFBD>').AsString);
cb.Items.AddObject(trim(fieldByName('<27><><EFBFBD><EFBFBD>').AsString),TObject(a));
end;
next;
end;
if emptyFlag and (cb.Items.Count >0) then
cb.ItemIndex :=0;
end;
end;
//////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD>combox<6F>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>,<2C>ӵ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>ȡ
//<2F><>XC_unit<69><74><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//Boxtype:1; <20><><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
//////////////////////////////////////////////
procedure InitComBoxByUnit10(ADOQueryTmp:TADOQuery;
cb: TComboBox;FlagType:string;
Boxtype:integer;
showMsg:string;
emptyFlag:Boolean
);
var
A:TA;
begin
cb.Items.Clear ;
with ADOQueryTmp do
begin
close;
sql.clear;
sql.Add('exec P_Get_XC_Unit');
sql.Add(quotedStr(trim(flagType)));
sql.Add(',9');
Open;
if isEmpty then
begin
application.MessageBox(pChar(<>ҵ<EFBFBD><D2B5><EFBFBD>'+showMsg),'',0);
exit;
end;
while not EOF do
begin
if Boxtype=0 then
begin
cb.Items.Add(trim(fieldByName('<27><><EFBFBD><EFBFBD>').AsString));
end
else
begin
A := TA.Create(Nil);
A.s:= trim(fieldByName('<27><><EFBFBD><EFBFBD>').AsString);
cb.Items.AddObject(trim(fieldByName('<27><><EFBFBD><EFBFBD>').AsString),TObject(a));
end;
next;
end;
if emptyFlag and (cb.Items.Count >0) then
cb.ItemIndex :=0;
end;
end;
//////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD>combox<6F>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
//<2F><>XC_unit<69><74><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//Boxtype:1; <20><><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
//////////////////////////////////////////////
procedure InitFtComBoxByUnit(ADOQueryTmp:TADOQuery;
cb: TFtComboBox;FlagType:string;
Boxtype:integer;
showMsg:string;
emptyFlag:Boolean
);
var
A:TA;
begin
cb.Items.Clear ;
with ADOQueryTmp do
begin
close;
sql.clear;
sql.Add('exec P_Get_XC_Unit');
sql.Add(quotedStr(trim(flagType)));
Open;
if isEmpty then
begin
application.MessageBox(pChar(<>ҵ<EFBFBD><D2B5><EFBFBD>'+showMsg),'',0);
exit;
end;
while not EOF do
begin
if Boxtype=0 then
begin
cb.Items.Add(trim(fieldByName('<27><><EFBFBD><EFBFBD>').AsString));
end
else
begin
cb.AddItem2(trim(fieldByName('<27><><EFBFBD><EFBFBD>').AsString),nil,trim(fieldByName('<27><><EFBFBD><EFBFBD>').AsString));
end;
next;
end;
if emptyFlag and (cb.Items.Count >0) then
cb.ItemIndex :=0;
end;
end;
//////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD>combox<6F>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
//<2F><>XC_unit<69><74><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ӵ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>ȡ
//Boxtype:1; <20><><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
//////////////////////////////////////////////
procedure InitFtComBoxByUnit10(ADOQueryTmp:TADOQuery;
cb: TFtComboBox;FlagType:string;
Boxtype:integer;
showMsg:string;
emptyFlag:Boolean
);
var
A:TA;
begin
cb.Items.Clear ;
with ADOQueryTmp do
begin
close;
sql.clear;
sql.Add('exec P_Get_XC_Unit');
sql.Add(quotedStr(trim(flagType)));
sql.Add(',9');
Open;
if isEmpty then
begin
application.MessageBox(pChar(<>ҵ<EFBFBD><D2B5><EFBFBD>'+showMsg),'',0);
exit;
end;
while not EOF do
begin
if Boxtype=0 then
begin
cb.Items.Add(trim(fieldByName('<27><><EFBFBD><EFBFBD>').AsString));
end
else
begin
cb.AddItem2(trim(fieldByName('<27><><EFBFBD><EFBFBD>').AsString),nil,trim(fieldByName('<27><><EFBFBD><EFBFBD>').AsString));
end;
next;
end;
if emptyFlag and (cb.Items.Count >0) then
cb.ItemIndex :=0;
end;
end;
////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>ClientDataSet
///////////////////////////////////////////
procedure CreateCDS(SADOQry:TADOQuery; mClientDataset:TclientDataSet );
var
i:integer;
mfieldName:string;
mSize:integer;
begin
mfieldName:='';
mClientDataset.FieldDefs.Clear;
with SADOQry do
begin
for i:=0 to fieldCount-1 do //
begin
if (Fields[i].DataType=ftString) and (Fields[i].Size=0) then
begin
msize:=1;
end
else
msize:=Fields[i].Size;
mfieldName:=trim(fields[i].FieldName);
mClientDataset.FieldDefs.Add(mfieldName,
Fields[i].DataType,msize);
end;
end;
mClientDataset.FieldDefs.Add('flag',ftString,1);
mClientDataset.FieldDefs.Add('index',ftInteger,0);
mClientDataset.Close;
mClientDataset.CreateDataSet;
end;
////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>ClientDataSet,<2C><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD>
///////////////////////////////////////////
procedure CreateCDS20(SADOQry:TADOQuery; mClientDataset:TclientDataSet );
var
i:integer;
mfieldName:string;
mSize:integer;
begin
mfieldName:='';
mClientDataset.FieldDefs.Clear;
SADOQry.DisableControls;
with SADOQry do
begin
for i:=0 to fieldCount-1 do //
begin
if (Fields[i].DataType=ftString) and (Fields[i].Size=0) then
begin
msize:=1;
end
else
msize:=Fields[i].Size;
mfieldName:=trim(fields[i].FieldName);
mClientDataset.FieldDefs.Add(mfieldName,
Fields[i].DataType,msize);
end;
end;
SADOQry.EnableControls;
mClientDataset.FieldDefs.Add('flag',ftString,1);
mClientDataset.FieldDefs.Add('index',ftInteger,0);
mClientDataset.FieldDefs.Add('sel',ftBoolean,0);
mClientDataset.FieldDefs.Add('DefNote',ftString,50);
mClientDataset.Close;
mClientDataset.CreateDataSet;
end;
/////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//FooterType:
/////////////////////////////////////////////////////
procedure CreateFooterCol(tv1:TcxGridTableView;
tcol:TcxGridDBColumn;
mcolName:string;
FooterType:string);
begin
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
with tv1.DataController.Summary do
begin
BeginUpdate;
try
with FooterSummaryItems.Add as TcxGridDBTableSummaryItem do
begin
Column := tcol;
//Column.Styles.Footer:=cxstyle1;
fieldName:=trim(mcolName);
if lowerCase(trim(FooterType))='sum' then
Kind := skSum
else if lowerCase(trim(FooterType))='max' then
kind:=skMax
else if lowerCase(trim(FooterType))='min' then
kind:=skMin
else if lowerCase(trim(FooterType))='avg' then
kind:=skAverage
else if lowerCase(trim(FooterType))='count' then
kind:=skCount
else
kind:=skNone;
Position:=spFooter;
end;
finally
EndUpdate;
end;
end;
end;
///////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>CxGrid<69><64>
///////////////////////////////////////////////////////////
procedure CreateCxGridCol(ADOQueryTmp:TADOQuery;
tv1:TcxGridDBTableView;
HasFooter:Boolean);
var
ADBColumn: TcxGridDBColumn;
strField,strCaption:string;
begin
with ADOQueryTmp do
begin
if recordCount>0 then
tv1.ClearItems;
while not EOF do
begin
if trim(fieldByName('fieldName').AsString)='' then
begin
next;
continue;
end;
ADBColumn := tv1.CreateColumn;
ADBColumn.DataBinding.FieldName :=trim(fieldByName('fieldName').AsString);
ADBColumn.Caption:=trim(fieldByName('Caption').AsString);
//if fieldByName('width').AsInteger>5 then
// ADBColumn.Width :=fieldByName('width').AsInteger;
ADBColumn.Visible:=fieldByName('visible').AsBoolean;
ADBColumn.HeaderAlignmentHorz:=taCenter;
ADBColumn.Name :='tv1'+trim(fieldByName('fieldName').AsString);
ADBColumn.Options.Editing :=not fieldByName('ReadOnly').AsBoolean;
ADBColumn.Options.Focusing :=not fieldByName('ReadOnly').AsBoolean;
////////////////
//<2F><><EFBFBD><EFBFBD>footer
if HasFooter then
begin
if fieldByName('FooterFlag').AsBoolean then
begin
CreateFooterCol(tv1,ADBColumn,ADBColumn.DataBinding.FieldName
,trim(fieldByName('FooterType').AsString));
end;
end;
Next;
end;
tv1.OptionsView.Footer:=HasFooter;
close;
end;
end;
///////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>CxGrid<69><64> (<28><>ѯģ<D1AF><C4A3><EFBFBD><EFBFBD>cxgrid<69><64><EFBFBD><EFBFBD>)
///////////////////////////////////////////////////////////
procedure CreateCxGridCol10(ADOQueryTmp:TADOQuery;
tv1:TcxGridDBTableView;
HasFooter:Boolean);
var
ADBColumn: TcxGridDBColumn;
strField,strCaption:string;
begin
with ADOQueryTmp do
begin
if recordCount>0 then
tv1.ClearItems;
while not EOF do
begin
if trim(fieldByName('fieldName').AsString)='' then
begin
next;
continue;
end;
ADBColumn := tv1.CreateColumn;
ADBColumn.DataBinding.FieldName :=trim(fieldByName('fieldName').AsString);
ADBColumn.Caption:=trim(fieldByName('Caption').AsString);
if fieldByName('width').AsInteger>5 then
ADBColumn.Width :=fieldByName('width').AsInteger;
ADBColumn.Visible:=fieldByName('visible').AsBoolean;
ADBColumn.HeaderAlignmentHorz:=taCenter;
ADBColumn.Name :=tv1.Name+trim(fieldByName('fieldName').AsString);
ADBColumn.Options.Editing :=not fieldByName('ReadOnly').AsBoolean;
ADBColumn.Options.Focusing :=not fieldByName('ReadOnly').AsBoolean;
////////////////
//<2F><><EFBFBD><EFBFBD>footer
if HasFooter then
begin
if fieldByName('FooterFlag').AsBoolean then
begin
CreateFooterCol(tv1,ADBColumn,ADBColumn.DataBinding.FieldName
,trim(fieldByName('FooterType').AsString));
end;
end;
Next;
end;
tv1.OptionsView.Footer:=HasFooter;
close;
end;
end;
////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
///////////////////////////////////////////////////
procedure SplitCtrName(ms:string;mvg:string;
var mtable:string;
var mfield:string);
var
ps:integer;
begin
if (trim(ms)='') or (trim(mvg)='') then
begin
mtable:='';
mfield:='';
exit;
end;
ps:=Pos(mvg,ms);
if ps<=0 then
begin
mtable:='';
mfield:=ms;
exit;
end;
mtable:=leftStr(ms,ps-1);
mfield:=MidStr(ms,ps+1,length(ms));
end;
///////////////////////////////////////////////////////////
//
//////////////////////////////////////////////////////////
procedure InitCDSData(fromADO:TADOQuery;toCDS:TclientDataSet);
var
i:integer;
k:integer;
begin
fromADO.first;
K:=1;
while not fromADO.Eof do
begin
with toCDS do
begin
Append;
for i:=0 to fromADO.FieldCount-1 do
begin
fields[i].value:=fromADO.Fields[i].Value ;
end;
fieldByName('flag').AsString :='1';
fieldByName('index').value :=k;
inc(k);
Post;
end;
fromADO.Next;
end;
if not toCDS.IsEmpty then
begin
toCDS.First ;
end;
end;
///////////////////////////////////////////////////////////
//<2F><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD>
//////////////////////////////////////////////////////////
procedure InitCDSData20(fromADO:TADOQuery;toCDS:TclientDataSet);
var
i:integer;
k:integer;
begin
if fromADO.IsEmpty then exit;
fromADO.DisableControls;
fromADO.first;
K:=1;
try
toCDS.DisableControls;
toCDS.Filtered:=false;
while not fromADO.Eof do
begin
with toCDS do
begin
Append;
for i:=0 to fromADO.FieldCount-1 do
begin
fields[i].value:=fromADO.Fields[i].Value ;
end;
fieldByName('flag').AsString :='1';
fieldByName('index').value :=k;
fieldByName('sel').value :=false;
inc(k);
Post;
end;
fromADO.Next;
end;
if not toCDS.IsEmpty then
begin
toCDS.First ;
end;
finally
toCDS.EnableControls;
end;
fromADO.EnableControls;
end;
///////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3>ӱ<EFBFBD><D3B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>
///////////////////////////////////////////////////
function GetMaxNo(ADOStoredProc1:TADOStoredProc;
var mMaxNo:string;
mFlag:string):Boolean;
begin
try
with ADOStoredProc1 do
begin
Close;
Parameters.ParamByName('@sysclass').Value :=mFlag;
Prepared;
ExecProc;
if (trim(Parameters.ParamByName('@theCoder').Value) = 'ERROR')
or (Trim(Parameters.ParamByName('@theCoder').Value) = '') then
begin
application.MessageBox(Pchar('<27>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>('+mflag+')'),'<27><>ʾ<EFBFBD><CABE>Ϣ',MB_ICONINFORMATION);
Close;
result:=false;
Exit;
end;
mMaxNo := trim(Parameters.ParamByName('@theCoder').Value);
Close;
end;
result:=true;
Except
result:=false;
end;
end;
///////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>µı<C2B5><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>
//hasTp:<3A>Ƿ<EFBFBD><C7B7><EFBFBD>ǰ׺<C7B0><D7BA>mTable:<3A><><EFBFBD><EFBFBD>
//lsLen:<3A><>ˮ<EFBFBD>ų<EFBFBD><C5B3><EFBFBD>
///////////////////////////////////////////////////
function GetMaxNo20(ADOQueryTmp:TADOQuery;
var mMaxNo:string;
mTable:string;
mFlag:string;
hasTp:integer;
lsLen:integer=3):Boolean;
begin
try
with ADOQueryTmp do
begin
Close;
sql.Clear ;
sql.Add('exec XC_TableDH10 ');
sql.Add(intTostr(hasTp));
sql.Add(','+quotedStr(mTable));
sql.Add(','+quotedStr(mFlag));
sql.Add(','+intTostr(LsLen));
//ShowMessage(SQL.Text);
Open;
if RecordCount>0 then
begin
mMaxNo:=trim(fieldByName('DepotShow').AsString) ;
if mMaxNo<>'' then
result:=true
else
Result:=false;
end
else
begin
result:=false;
end;
end;
if not Result then
application.MessageBox(Pchar('<27>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>('+mflag+')'),'<27><>ʾ<EFBFBD><CABE>Ϣ',MB_ICONINFORMATION);
Except
result:=false;
application.MessageBox(Pchar('<27>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>('+mflag+')'),'<27><>ʾ<EFBFBD><CABE>Ϣ',MB_ICONINFORMATION);
end;
end;
///////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>µı<C2B5><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>
//hasTp:<3A>Ƿ<EFBFBD><C7B7><EFBFBD>ǰ׺<C7B0><D7BA>mTable:<3A><><EFBFBD><EFBFBD>
//lsLen:<3A><>ˮ<EFBFBD>ų<EFBFBD><C5B3><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD>˱<EFBFBD><CBB1>Ÿ<EFBFBD>ʽ --0:yyyy-MM-dd,1:yy-mm
///////////////////////////////////////////////////
function GetMaxGangNo(ADOQueryTmp:TADOQuery;
var mMaxNo:string;
mTable:string;
mFlag:string;
hasTp:integer;
lsLen:integer=3;
BhType:integer=0):Boolean;
begin
try
with ADOQueryTmp do
begin
Close;
sql.Clear ;
sql.Add('exec P_GET_GangNo');
sql.Add(intTostr(hasTp));
sql.Add(','+quotedStr(mTable));
sql.Add(','+quotedStr(mFlag));
sql.Add(','+intTostr(LsLen));
sql.Add(','+intTostr(BhType));
Open;
if RecordCount>0 then
begin
mMaxNo:=trim(fieldByName('DepotShow').AsString) ;
if mMaxNo<>'' then
result:=true
else
Result:=false;
end
else
begin
result:=false;
end;
end;
if not Result then
application.MessageBox(Pchar('<27>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>('+mflag+')'),'<27><>ʾ<EFBFBD><CABE>Ϣ',MB_ICONINFORMATION);
Except
result:=false;
application.MessageBox(Pchar('<27>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>('+mflag+')'),'<27><>ʾ<EFBFBD><CABE>Ϣ',MB_ICONINFORMATION);
end;
end;
///////////////////////////////////////////////////
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ļƻ<C4BC><C6BB><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>µı<C2B5><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>
//hasTp:<3A>Ƿ<EFBFBD><C7B7><EFBFBD>ǰ׺<C7B0><D7BA>mTable:<3A><><EFBFBD><EFBFBD>
//lsLen:<3A><>ˮ<EFBFBD>ų<EFBFBD><C5B3><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD>˱<EFBFBD><CBB1>Ÿ<EFBFBD>ʽ --0:yyyy-MM-dd,1:yy-mm
///////////////////////////////////////////////////
function GetMaxPlanNo(ADOQueryTmp:TADOQuery;
var mMaxNo:string;
mTable:string;
mFlag:string;
hasTp:integer;
lsLen:integer=3;
BhType:integer=0):Boolean;
begin
try
with ADOQueryTmp do
begin
Close;
sql.Clear ;
sql.Add('exec P_GET_MaxPlanNo');
sql.Add(intTostr(hasTp));
sql.Add(','+quotedStr(mTable));
sql.Add(','+quotedStr(mFlag));
sql.Add(','+intTostr(LsLen));
sql.Add(','+intTostr(BhType));
Open;
if RecordCount>0 then
begin
mMaxNo:=trim(fieldByName('DepotShow').AsString) ;
if mMaxNo<>'' then
result:=true
else
Result:=false;
end
else
begin
result:=false;
end;
end;
if not Result then
application.MessageBox(Pchar('<27>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>('+mflag+')'),'<27><>ʾ<EFBFBD><CABE>Ϣ',MB_ICONINFORMATION);
Except
result:=false;
application.MessageBox(Pchar('<27>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>('+mflag+')'),'<27><>ʾ<EFBFBD><CABE>Ϣ',MB_ICONINFORMATION);
end;
end;
//////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>cxgrid<69>е<EFBFBD><D0B5><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD>
//////////////////////////////////////////////
procedure SaveTocxGridColSet(ADOQueryCmd:TADOQuery;winCode:string;gridName:string;cxGrid:TcxGridTableView);
var
mgridName:string;
mCaption:string;
mfieldName:string;
i:integer;
begin
mgridName:=trim(cxGrid.Name) ;
with ADOQueryCmd do
begin
close;
sql.Clear ;
sql.Add('select * from XD_GridCustomSet');
sql.Add('where winCode='''+winCode+'''');
sql.Add('and GridName='''+mgridName+'''');
Open;
for i:=0 to cxGrid.ColumnCount-1 do
begin
//mCaption:=trim(cxGrid.Columns[i].Caption);
mfieldName:=TcxGridDBColumn(cxGrid.Columns[i]).DataBinding.FieldName;
filtered:=false;
filter:='fieldName='''+mfieldName+'''';
filtered:=true;
if RecordCount>0 then
Edit
else
begin
Append;
fieldByName('winCode').value:=winCode;
fieldByName('GridName').value:=mgridName;
end;
fieldByName('GridIndex').value:=1;
fieldByName('FieldName').value:=trim(TcxGridDBColumn(cxGrid.Columns[i]).DataBinding.FieldName);
fieldByName('Caption').value:=mCaption;
fieldByName('ColType').value:=trim(TcxGridDBColumn(cxGrid.Columns[i]).DataBinding.ValueType);
fieldByName('Visible').value:=1;
fieldByName('Width').value:=cxGrid.Columns[i].Width;
fieldByName('IsOrder').value:=1;
fieldByName('FieldOrder').value:=intTostr(i);
fieldByName('Valid').value:=1;
Post;
end;
end;
end;
//////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯģ<D1AF><C4A3>cxgrid<69>е<EFBFBD><D0B5><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD>
//////////////////////////////////////////////
procedure SaveToQrycxGridColSet(ADOQueryCmd:TADOQuery;winCode:string;cxGrid:TcxGridTableView);
var
mgridName:string;
mCaption:string;
mfieldName:string;
i:integer;
begin
mgridName:=trim(cxGrid.Name) ;
try
ADOQueryCmd.Connection.BeginTrans ;
with ADOQueryCmd do
begin
close;
sql.Clear ;
sql.Add('select * from XD_QryGridCustomSet');
sql.Add('where winCode='''+winCode+'''');
sql.Add('and GridName='''+mgridName+'''');
Open;
for i:=0 to cxGrid.ColumnCount-1 do
begin
mfieldName:=TcxGridDBColumn(cxGrid.Columns[i]).DataBinding.FieldName;
//mCaption:=trim(cxGrid.Columns[i].DataBinding);
filtered:=false;
filter:='fieldName='''+mfieldName+'''';
filtered:=true;
if RecordCount>0 then
Edit
else
begin
Append;
fieldByName('winCode').value:=winCode;
fieldByName('GridName').value:=mgridName;
end;
fieldByName('GridIndex').value:=1;
fieldByName('FieldName').value:=trim(TcxGridDBColumn(cxGrid.Columns[i]).DataBinding.FieldName);
fieldByName('Caption').value:=mCaption;
fieldByName('ColType').value:=trim(TcxGridDBColumn(cxGrid.Columns[i]).DataBinding.ValueType);
fieldByName('Visible').value:=1;
fieldByName('Width').value:=cxGrid.Columns[i].Width;
fieldByName('IsOrder').value:=1;
fieldByName('FieldOrder').value:=intTostr(i);
fieldByName('Valid').value:=1;
post;
end;
end;
ADOQueryCmd.Connection.CommitTrans ;
except
ADOQueryCmd.Connection.RollbackTrans ;
end;
end;
//////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>dbgrid<69>е<EFBFBD><D0B5><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD>
//////////////////////////////////////////////
procedure SaveTodbGridColSet(ADOQueryCmd:TADOQuery;winCode:string;gridName:string;dbGrid:TDbgrid);
var
mgridName:string;
mFieldName:string;
i:integer;
begin
mgridName:=trim(dbGrid.Name) ;
with ADOQueryCmd do
begin
close;
sql.Clear ;
sql.Add('select * from XD_GridCustomSet');
sql.Add('where winCode='''+winCode+'''');
sql.Add('and GridName='''+mgridName+'''');
Open;
for i:=0 to dbGrid.Columns.Count -1 do
begin
mFieldName:=trim(dbGrid.Columns[i].FieldName);
filtered:=false;
filter:='fieldName='''+mFieldName+'''';
filtered:=true;
if RecordCount>0 then
Edit
else
begin
Append;
fieldByName('winCode').value:=winCode;
fieldByName('GridName').value:=mgridName;
end;
fieldByName('GridIndex').value:=1;
fieldByName('FieldName').value:=mFieldName;
fieldByName('Caption').value:=trim(dbGrid.Columns[i].Title.Caption) ;
fieldByName('ColType').value:=dbGrid.Columns[i].Field.DataType;
fieldByName('Visible').value:=dbGrid.Columns[i].Visible ;
fieldByName('Width').value:=dbGrid.Columns[i].Width;
fieldByName('IsOrder').value:=1;
fieldByName('FieldOrder').value:=intTostr(i);
fieldByName('Valid').value:=1;
Post;
end;
end;
end;
//////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>dbgrid<69>е<EFBFBD><D0B5><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD>
//////////////////////////////////////////////
procedure SaveToQrydbGridColSet(ADOQueryCmd:TADOQuery;winCode:string;dbGrid:TDbgrid);
var
mgridName:string;
mFieldName:string;
i:integer;
begin
mgridName:=trim(dbGrid.Name) ;
with ADOQueryCmd do
begin
close;
sql.Clear ;
sql.Add('select * from XD_QryGridCustomSet');
sql.Add('where winCode='''+winCode+'''');
sql.Add('and GridName='''+mgridName+'''');
Open;
for i:=0 to dbGrid.Columns.Count -1 do
begin
mFieldName:=trim(dbGrid.Columns[i].FieldName);
filtered:=false;
filter:='fieldName='''+mFieldName+'''';
filtered:=true;
if RecordCount>0 then
Edit
else
begin
Append;
fieldByName('winCode').value:=winCode;
fieldByName('GridName').value:=mgridName;
end;
fieldByName('GridIndex').value:=1;
fieldByName('FieldName').value:=mFieldName;
fieldByName('Caption').value:=trim(dbGrid.Columns[i].Title.Caption) ;
fieldByName('ColType').value:=dbGrid.Columns[i].Field.DataType;
fieldByName('Visible').value:=dbGrid.Columns[i].Visible ;
fieldByName('Width').value:=dbGrid.Columns[i].Width;
fieldByName('IsOrder').value:=1;
fieldByName('FieldOrder').value:=intTostr(i);
fieldByName('Valid').value:=1;
Post;
end;
end;
end;
//////////////////////////////////////////////////
//
///////////////////////////////////////////////////
procedure GetServerTime(ADOQueryTmp:TADOQuery);
begin
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
with ADOQueryTmp do
begin
close;
sql.Clear;
sql.Add('select getDate()as dt');
open;
end;
gServerDate:=ADOQueryTmp.fieldByName('dt').AsDatetime;
end;
//////////////////////////////////////////////////
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
///////////////////////////////////////////////////
function GetServerTime10(ADOQueryTmp:TADOQuery):TdateTime;
begin
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
try
with ADOQueryTmp do
begin
close;
sql.Clear;
sql.Add('select getDate()as dt');
open;
result:=fieldByName('dt').AsDatetime;
close;
end;
except
application.MessageBox('<27><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><E4B7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
end;
end;
///////////////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>cxGrid<69>Դ<EFBFBD><D4B4>Ĺ<EFBFBD><C4B9>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD>excel<65><6C>
//////////////////////////////////////////////////////////////////
procedure TcxGridToExcel(mfileName:string;gridName:TcxGrid);
var
saveDialog:TSaveDialog;
begin
try
saveDialog:=TSaveDialog.Create(nil);
saveDialog.Filter:='xls(*.xls)|*.xls|ȫ<><C8AB>(*.*)|*.*';
saveDialog.Options:=[ofOverwritePrompt];
saveDialog.FileName:=mfileName;
if saveDialog.Execute then
if Assigned(gridName) then
begin
try
ExportGrid4ToExcel(saveDialog.FileName,gridName);
except
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7><>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ܴ<EFBFBD><DCB4>ڱ༭״̬!','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
exit;
end;
application.MessageBox('<27>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
end
else
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
finally
saveDialog.Free;
end;
end;
//////////////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1>Ż<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
//////////////////////////////////////////////////////////////////
function GetNameByBh(ADOQueryTmp:TADOQuery;mBhType:string;mValue:string;var mCode:string;var mName:string):Boolean;
begin
try
with ADOQuerytmp do
begin
close;
sql.Clear ;
sql.Add('exec P_get_NameByBh');
sql.Add(quotedStr(mBhType));
sql.Add(','+quotedStr(mValue));
Open;
if RecordCount>0 then
begin
mName:=trim(fieldByName('Name').AsString);
mCode:=trim(fieldByName('code').AsString);
end;
close;
end;
Result:=true;
except
Result:=false;
end;
end;
//////////////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1>Ż<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
//////////////////////////////////////////////////////////////////
function GetNameByBh10(ADOQueryTmp:TADOQuery;mBhType:string;mValue:string):Boolean;
begin
try
with ADOQuerytmp do
begin
close;
sql.Clear ;
sql.Add('exec P_get_NameByBh');
sql.Add(quotedStr(mBhType));
sql.Add(','+quotedStr(mValue));
Open;
end;
Result:=true;
except
Result:=false;
end;
end;
//////////////////////////////////////////////////////////////
//
//////////////////////////////////////////////////////////////
procedure InitCxGridComboBoxByCode(ADOQueryTmp:TADOQuery;c3:TcxGriddbColumn;FlagType:string);
var
A:TA;
begin
{
(c3.Properties as TcxComboBoxProperties).Items.Clear ;
with ADOQueryTmp do
begin
close;
sql.clear;
sql.Add(' select * from XC_Code '+
' where Flag='''+trim(FlagType)+''' '+
' order by orderno ');
Open;
if isEmpty then
begin
exit;
end;
while not EOF do
begin
A := TA.Create(Nil);
A.s:= trim(fieldByName('Code').AsString);
(c3.Properties as TcxComboBoxProperties).Items.AddObject(trim(fieldByName('name').AsString),TObject(a));
//fieldByName(mField).value:=TA(c3.Properties as TcxComboBoxProperties).Items.Objects[idx]).s;
next;
end;
end;
}
end;
/////////////////////////////////////////////////////////////
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>DLL
/////////////////////////////////////////////////////////////
procedure GetDll(DllName:string;StrFormid:integer;Str:string);
type
TMyFunc = function(App: Tapplication; FormH: hwnd; FormID: Integer; Language: integer; WinStyle: integer;
UserID: String; UserName: String; dataBase:string): HWND; stdcall;
var
Tf: TMyFunc;
Tp: TFarProc;
Th:Thandle;
begin
Th := LoadLibrary(Pchar(trim(DllName)));
if Th > 0 then
begin
try
Tp := GetProcAddress(Th, 'GetForm');
if Tp <> nil then
begin
Tf := TMyFunc(Tp);
newh:=Tf(Application,0,StrFormid,0,0,
gUserID,gUserName,trim(Str));
end
else
begin
end;
finally
//<2F>ͷŴ<CDB7><C5B4><EFBFBD>FreeLibrary(Th);
end;
end
else
begin
application.MessageBox(Pchar('<27>Ҳ<EFBFBD><D2B2><EFBFBD> '+trim(DllName)+' <20>ļ<EFBFBD><C4BC><EFBFBD>'),'<27><>ʾ');
end;
end;
////////////////////////////////////////////////
//<2F><><EFBFBD>ܣ<EFBFBD>ɾ<EFBFBD><C9BE>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>title<6C>Ĵ<EFBFBD><C4B4><EFBFBD>
//formId:<3A><><EFBFBD><EFBFBD>
////////////////////////////////////////////////
function KillNoFuncWinForm(formName:string;formTitle:string;formId:integer=0):boolean;
var
bFound:boolean;
i:integer;
begin
bFound := FALSE;
try
for i := (application.MainForm.MDIChildCount - 1) downto 0 do
begin
//<2F>Ѵ<EFBFBD><D1B4><EFBFBD>
if (application.MainForm.MDIChildren[i].Name =formName) and
(application.MainForm.MDIChildren[i].Caption = formTitle) then
begin
bFound:=true;
application.MainForm.MDIChildren[i].BringToFront;
break;
end;
//ͬ<><CDAC><EFBFBD><EFBFBD>ͬtitle
if (application.MainForm.MDIChildren[i].Name =formName) and
(application.MainForm.MDIChildren[i].Caption <> formTitle) then
begin
application.MainForm.MDIChildren[i].Free;
//application.MainForm.MDIChildren[i]:=nil;
break;
end;
end;
finally
result:=bFound;
end;
end;
////////////////////////////////////////////////////////////
//<2F><><EFBFBD>ù<EFBFBD><C3B9>˺<EFBFBD><CBBA><EFBFBD>
////////////////////////////////////////////////////////////
procedure Dofilter(ADOQry:TADOQuery;FilterStr:string);
begin
try
ADOQry.DisableControls;
with ADOQry do
begin
if Trim(FilterStr)='' then
begin
Filtered:=False;
end else
begin
Filtered:=False;
Filter:=FilterStr;
Filtered:=True;
end;
end;
finally
ADOQry.EnableControls;
end;
end;
////////////////////////////////////////////////////////////
//<2F><><EFBFBD>ù<EFBFBD><C3B9>˺<EFBFBD><CBBA><EFBFBD>
////////////////////////////////////////////////////////////
procedure DofilterNew(ADOQry:TADOQuery;FilterStr:string);
begin
try
ADOQry.DisableControls;
with ADOQry do
begin
if Trim(FilterStr)='' then
begin
Filtered:=False;
end else
begin
Filtered:=False;
Filter:=FilterStr;
Filtered:=True;
end;
end;
finally
ADOQry.EnableControls;
end;
end;
procedure DofilterCDS(Cds_Sub:TClientDataSet;FilterStr:string);
begin
try
Cds_Sub.DisableControls;
with Cds_Sub do
begin
if Trim(FilterStr)='' then
begin
Filtered:=False;
end else
begin
Filtered:=False;
Filter:=FilterStr;
Filtered:=True;
end;
end;
finally
Cds_Sub.EnableControls;
end;
end;
///////////////////////////////////////////////////////
// //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>DLL <20>½ӿ<C2BD> getForm10
///////////////////////////////////////////////////////
procedure GetDll10(DllName:string;sFormid:integer;sDatabase:string;sTitle:string;sDef1:string;sDef2:string);
type
TMyFunc = function(App:Tapplication; FormH:hwnd; FormID:integer;
Language: integer; WinStyle:integer;
UID: String; UName: String; dataBase:String;
Title:String;Def1: String;Def2: String):HWND; stdcall;
var
Tf: TMyFunc;
Tp: TFarProc;
Th:Thandle;
begin
Th := LoadLibrary(Pchar(trim(DllName)));
if Th > 0 then
begin
try
Tp := GetProcAddress(Th, 'GetForm10');
if Tp <> nil then
begin
Tf := TMyFunc(Tp);
newh:=Tf(Application,0,SFormid,0,0,
gUserID,gUserName,trim(sdatabase),trim(sTitle),trim(sDef1),trim(sDef2));
end
else
begin
end;
finally
//<2F>ͷŴ<CDB7><C5B4><EFBFBD>FreeLibrary(Th);
end;
end
else
begin
application.MessageBox(Pchar('<27>Ҳ<EFBFBD><D2B2><EFBFBD> '+trim(DllName)+' <20>ļ<EFBFBD><C4BC><EFBFBD>'),'<27><>ʾ');
end;
end;
function GetNoDateMaxNo(ADOQueryTmp:TADOQuery;
var mMaxNo:string;
mTable:string;
mFlag:string;
lsLen:integer=3):Boolean;
begin
try
with ADOQueryTmp do
begin
Close;
sql.Clear ;
sql.Add('exec XC_TableNoDateDH');
sql.Add(quotedStr(mTable));
sql.Add(','+quotedStr(mFlag));
sql.Add(','+intTostr(LsLen));
Open;
if RecordCount>0 then
begin
mMaxNo:=trim(fieldByName('DepotShow').AsString) ;
if mMaxNo<>'' then
result:=true
else
Result:=false;
end
else
begin
result:=false;
end;
end;
if not Result then
application.MessageBox(Pchar('<27>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>('+mflag+')'),'<27><>ʾ<EFBFBD><CABE>Ϣ',MB_ICONINFORMATION);
Except
result:=false;
application.MessageBox(Pchar('<27>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>('+mflag+')'),'<27><>ʾ<EFBFBD><CABE>Ϣ',MB_ICONINFORMATION);
end;
end;
end.