D7zzCixin/应收应付/U_DataLink.pas

137 lines
3.9 KiB
ObjectPascal
Raw Permalink Normal View History

2025-09-30 15:00:54 +08:00
unit U_DataLink;
interface
uses
SysUtils, Classes, DB, ADODB, ImgList, Controls, cxStyles, cxLookAndFeels,
Windows, Messages, forms, OleCtnrs, DateUtils, ExtCtrls,SyncObjs,
cxClasses, dxSkinsCore, dxSkinBlack, dxSkinBlue, dxSkinBlueprint,
dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom, dxSkinDarkSide,
dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy,
dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian,
dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis,
dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black,
dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink,
dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue,
dxSkinOffice2010Silver, dxSkinOffice2013DarkGray,
dxSkinOffice2013LightGray, dxSkinOffice2013White, dxSkinPumpkin,
dxSkinSeven, dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus,
dxSkinSilver, dxSkinSpringTime, dxSkinStardust, dxSkinSummer2008,
dxSkinTheAsphaltWorld, dxSkinsDefaultPainters, dxSkinValentine,
dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue;
type
TMyThread = class(TThread)
protected
procedure Execute; override;
end;
var
DConString: string; <><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>}
server, dtbase, user, pswd: string; {<7B><><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>}
DCurHandle: hwnd; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DName: string; //#<23>û<EFBFBD><C3BB><EFBFBD>#//
DCode: string; //#<23>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>#//
Ddatabase: string; //#<23><><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD>#//
DTitCaption: string; //#<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#//
PicSvr: string;
DParameters1, DParameters2, DParameters3, DParameters4, DParameters5: string; // <20>ⲿ<EFBFBD><E2B2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DParameters6, DParameters7, DParameters8, DParameters9, DParameters10: string; //<2F>ⲿ<EFBFBD><E2B2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
OldDllApp: Tapplication; //<2F><><EFBFBD><EFBFBD>ԭ<EFBFBD>о<EFBFBD><D0BE><EFBFBD>
NewDllApp: Tapplication; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
MainApplication: Tapplication;
DFormCode: integer; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD>ں<EFBFBD>
IsDelphiLanguage: integer;
DServerDate: TdateTime; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
DCompany: string; //<2F><>˾
IpCall: Integer;
IpWLDZStr: string;
type
TDataLink_YSYF = class(TDataModule)
AdoDataLink: TADOQuery;
ADOLink: TADOConnection;
ThreeImgList: TImageList;
ThreeLookAndFeelCol: TcxLookAndFeelController;
ThreeColorBase: TcxStyleRepository;
SHuangSe: TcxStyle;
SkyBlue: TcxStyle;
Default: TcxStyle;
QHuangSe: TcxStyle;
Red: TcxStyle;
FontBlue: TcxStyle;
TextSHuangSe: TcxStyle;
FonePurple: TcxStyle;
FoneClMaroon: TcxStyle;
FoneRed: TcxStyle;
RowColor: TcxStyle;
handBlack: TcxStyle;
cxBlue: TcxStyle;
Green: TcxStyle;
tmr_link: TTimer;
procedure DataModuleDestroy(Sender: TObject);
procedure DataModuleCreate(Sender: TObject);
procedure tmr_linkTimer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
TMakebar = procedure(ucData: pchar; nDataLen: integer; nErrLevel: integer; nMask: integer; nBarEdition: integer; szBmpFileName: pchar; nScale: integer); stdcall;
TMixtext = procedure(szSrcBmpFileName: PChar; szDstBmpFileName: PChar; sztext: PChar; fontsize, txtheight, hmargin, vmargin, txtcntoneline: integer); stdcall;
var
DataLink_YSYF: TDataLink_YSYF;
CriticalSection: TCriticalSection; {<7B><><EFBFBD><EFBFBD><EFBFBD>ٽ<EFBFBD>}
implementation
{$R *.dfm}
procedure TMyThread.Execute;
begin
FreeOnTerminate := True;
CriticalSection.Enter;
try
with DataLink_YSYF.AdoDataLink do
begin
close;
sql.Clear;
sql.Add('select getdate()');
open;
end;
except
try
with DataLink_YSYF.ADOLink do
begin
Connected := false;
ConnectionString := DConString;
LoginPrompt := false;
Connected := true;
end;
except
end;
end;
CriticalSection.Leave;
end;
procedure TDataLink_YSYF.DataModuleDestroy(Sender: TObject);
begin
DataLink_YSYF := nil;
end;
procedure TDataLink_YSYF.DataModuleCreate(Sender: TObject);
begin
CriticalSection := TCriticalSection.Create;
end;
procedure TDataLink_YSYF.tmr_linkTimer(Sender: TObject);
begin
TMyThread.Create(False);
end;
end.