?? dothread.~pas
字號:
unit DoThread;
interface
uses
Windows,Forms,Messages, SysUtils, Classes, Graphics, Controls,StdCtrls,
SyncObjs,Dialogs,Variants,DateUtils,ActiveX,DTS;
type
TOnEndEvent = procedure(Actiontype:integer;filename: string;Path:String;item:integer) of object;
TDoThread = class(TThread)
private
FResult:boolean;
FMsg:string;
FOnEnd: TOnEndEvent;
protected
procedure Execute; override; { 執(zhí)行線程的方法 }
public
constructor Create(Owner : TComponent); virtual;{ 線程構造器 }
Destructor Destroy; override;
property OnEnd: TOnEndEvent read FOnEnd write FOnEnd;
property Msg: string read FMsg write FMsg;
end;
implementation
procedure TDoThread.Execute; { 執(zhí)行線程的方法 }
var a:TDTSUnit;
Datafile,SQLserverIP,DBname,Username,Password,M,ErrOutPutFile,msg:string;
begin
ActiveX.CoInitialize(nil);
FResult:=false;
Datafile:='D:\DTS2000\DTS6\depart.csv';
SQLserverIP:='127.0.01';
DBname:='JYT';
Username:='sa';
Password:='sa';
ErrOutPutFile:='D:\DTS2000\DTS6\depart.log';
a:=TDTSUnit.Create;
a.InitializeFromText(Datafile);
a.InitializeToSQL(SQLserverIP,DBname,Username,Password,'AccountTbdepart');
if a.Execute(ErrOutPutFile,'D:\DTS2000\DTS6\InsertDepart.bas',M) then
FMsg:='ok'
else
FMsg:= M;
a.Free;
if Assigned(FOnEnd) then
FOnEnd(0, FMsg,'',0);
FResult:=true;
ActiveX.CoUnInitialize;//必須使用
end;
constructor TDoThread.Create(Owner : TComponent);
begin
inherited Create(true);
Priority := tpNormal;
FreeOnTerminate := false;
FResult:=false;
end;
destructor TDoThread.Destroy;
begin
inherited destroy;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -