125 lines
3.1 KiB
ObjectPascal
125 lines
3.1 KiB
ObjectPascal
|
unit U_PublicFunction;
|
|||
|
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,cxGridExportLink,
|
|||
|
ExtCtrls, Buttons,DBClient,RTComboBox,cxDropDownEdit,CXmemo;
|
|||
|
|
|||
|
function GetMaxBh(ADOQueryTmp:TADOQuery;
|
|||
|
var mMaxBh:string;
|
|||
|
mBhType:string;
|
|||
|
mFlag:string;
|
|||
|
mStatus:string;
|
|||
|
lsLen:integer=3):Boolean;
|
|||
|
procedure CreateAdoToCds(Ado1:TADOQuery; Cds1:TclientDataSet );
|
|||
|
procedure InitAdoToCds(Ado1:TADOQuery;Cds1:TclientDataSet);
|
|||
|
implementation
|
|||
|
|
|||
|
function GetMaxBh(ADOQueryTmp:TADOQuery;
|
|||
|
var mMaxBh:string;
|
|||
|
mBhType:string;
|
|||
|
mFlag:string;
|
|||
|
mStatus:string;
|
|||
|
lsLen:integer=3):Boolean;
|
|||
|
begin
|
|||
|
try
|
|||
|
with ADOQueryTmp do
|
|||
|
begin
|
|||
|
Close;
|
|||
|
sql.Clear ;
|
|||
|
sql.Add(' exec Get_SY_MaxBH ');
|
|||
|
sql.Add(' @BHstr='+quotedstr(mFlag));
|
|||
|
sql.Add(',@BHType='+quotedStr(mBhType));
|
|||
|
sql.Add(',@Len='+inttostr(LsLen));
|
|||
|
sql.Add(',@status='+quotedStr(mStatus));
|
|||
|
Open;
|
|||
|
|
|||
|
if RecordCount>0 then
|
|||
|
begin
|
|||
|
mMaxBh:=trim(fieldByName('MaxBH').AsString) ;
|
|||
|
if mMaxBh<>'' 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;
|
|||
|
|
|||
|
procedure CreateAdoToCds(Ado1:TADOQuery; Cds1:TclientDataSet );
|
|||
|
var
|
|||
|
i:integer;
|
|||
|
mfieldName:string;
|
|||
|
mSize:integer;
|
|||
|
begin
|
|||
|
mfieldName:='';
|
|||
|
Cds1.FieldDefs.Clear;
|
|||
|
with Ado1 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);
|
|||
|
Cds1.FieldDefs.Add(mfieldName,Fields[i].DataType,msize);
|
|||
|
end;
|
|||
|
end;
|
|||
|
Cds1.FieldDefs.Add('flag',ftString,1);
|
|||
|
Cds1.FieldDefs.Add('index',ftInteger,0);
|
|||
|
Cds1.Close;
|
|||
|
Cds1.CreateDataSet;
|
|||
|
end;
|
|||
|
procedure InitAdoToCds(Ado1:TADOQuery;Cds1:TclientDataSet);
|
|||
|
var
|
|||
|
i:integer;
|
|||
|
k:integer;
|
|||
|
begin
|
|||
|
Ado1.DisableControls;
|
|||
|
Cds1.DisableControls;
|
|||
|
Ado1.first;
|
|||
|
K:=1;
|
|||
|
while not Ado1.Eof do
|
|||
|
begin
|
|||
|
with Cds1 do
|
|||
|
begin
|
|||
|
Append;
|
|||
|
for i:=0 to Ado1.FieldCount-1 do
|
|||
|
begin
|
|||
|
fields[i].value:=Ado1.Fields[i].Value ;
|
|||
|
end;
|
|||
|
fieldByName('flag').AsString :='1';
|
|||
|
fieldByName('index').value :=k;
|
|||
|
inc(k);
|
|||
|
Post;
|
|||
|
end;
|
|||
|
Ado1.Next;
|
|||
|
end;
|
|||
|
if not Cds1.IsEmpty then
|
|||
|
begin
|
|||
|
Cds1.First ;
|
|||
|
end;
|
|||
|
Ado1.EnableControls;
|
|||
|
Cds1.EnableControls;
|
|||
|
end;
|
|||
|
|
|||
|
end.
|