unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls, Buttons, Menus,StrUtils;type TForm1 = class(TForm) DataSource1: TDataSource; DBGrid1: TDBGrid; ADOConnection1: TADOConnection; ADODataSet1: TADODataSet; Button1: TButton; Button2: TButton; Edit1: TEdit; Button3: TButton; OpenDialog1: TOpenDialog; ADOCommand1: TADOCommand; ADOQuery1: TADOQuery; procedure RePrint1PrintTitle(Row: Integer; Text: String); procedure FormCreate(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } l_path :string; public { Public declarations } end;var Form1: TForm1;implementation uses UMyFun; {$R *.dfm}procedure TForm1.RePrint1PrintTitle(Row: Integer; Text: String); begin if row=2 then begin end else begin end; end; procedure TForm1.FormCreate(Sender: TObject); var path :string; begin l_path:=ExtractFilePath(Application.ExeName); showmessage(path); ADOConnection1.ConnectionString:='DBQ='+path+'012003.adb;DefaultDir='+path+';Driver={Microsoft Access Driver (*.mdb)};DriverId=281;FIL=MS Access;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UID=admin;password=gasfdeveloper;UserCommitSync=Yes'; ADOConnection1.Connected:=true; ADODataSet1.CommandText:='SELECT * FROM PreDVouch where v_Month is null and trashed=False ORDER BY CopyMonth DESC , DV_No DESC;'; ADODataSet1.Open; end;procedure TForm1.Button2Click(Sender: TObject); var f1:textfile; file1,mem:string; handle:integer; copymonth,dv_no,dv_date,acctype,accid,user,jine,bankname,bankaccount:string; subunitid,subbankname,subbankaccount,dept_id :string; amount:real; begin ADODataSet1.First; if ADODataSet1.Eof then exit; file1:=l_path+'导出横向联网结果.txt'; if not fileexists(file1) then begin handle:=filecreate(file1); fileclose(handle); end; assignfile(f1,file1); Rewrite(f1); //mem:='纳税人识别号,属期,发票代码,发票号码,金额,税额,开票日期,销方识别号'; //writeln(f1,mem); ADODataSet1.first; while ADODataSet1.eof<>true do begin copymonth:=ADODataSet1.fieldbyname('copymonth').asstring; dv_no:=ADODataSet1.fieldbyname('dv_no').asstring; dv_date:=ADODataSet1.fieldbyname('dv_date').asstring; dv_date:=copy(dv_date,1,4)+copy(dv_date,6,2)+copy(dv_date,9,2); acctype:=ADODataSet1.fieldbyname('acctype').asstring; accid:=ADODataSet1.fieldbyname('accid').asstring; user:=ADODataSet1.fieldbyname('use').asstring; amount:=ADODataSet1.fieldbyname('amount').asfloat; jine:=Format('%14.2f', [amount]); bankname:=ADODataSet1.fieldbyname('bankname').asstring; bankaccount:=ADODataSet1.fieldbyname('bankaccount').asstring; subunitid:=ADODataSet1.fieldbyname('subunitid').asstring; subbankname:=ADODataSet1.fieldbyname('subbankname').asstring; subbankaccount:=ADODataSet1.fieldbyname('subbankaccount').asstring; dept_id:=ADODataSet1.fieldbyname('dept_id').asstring; mem:=copymonth+','+dv_no+','+dv_date+','+acctype+','+accid+','+user+','+jine+','+bankname+','+bankaccount;//+','+trim(shuie)+','+kprq+','+xfsh; mem:=mem+','+subunitid+','+subbankname+','+subbankaccount+','+dept_id ; writeln(f1,mem); ADODataSet1.Next; end; closefile(f1); showmessage('拨款书文件'+file1+'已生成,请导入横向联网系统!'); end;procedure TForm1.Button3Click(Sender: TObject); begin if opendialog1.Execute then edit1.Text:=opendialog1.FileName; end;procedure TForm1.Button1Click(Sender: TObject); var f:textfile; file1,s:string; recnum,i,k,j,n:integer; sd:array[1..13] of string; sqltext,nsrbm,shuqi,bz:string; begin file1:=trim(edit1.Text); if length(file1)=0 then begin showmessage('请选择从横向联网系统导出的预算拨款凭证文件!'); edit1.SetFocus; exit; end; assignfile(f,file1); Reset(F); Readln(F, S); j:=0;//共导入记录数 repeat if GetStrLen(s)=12 then begin for k:=1 to 13 do sd[k]:=getip(s,k); sqltext:='insert into PreDVouch (copymonth,dv_no,dv_date,acctype,accid,use,Amount,bankname,bankaccount,subunitid,subbankname,subbankaccount,dept_id) values('; sqltext:=sqltext+''''+sd[1]+''''+','; //凭证月份 sqltext:=sqltext+sd[2]+','; //拨款书凭证号 sqltext:=sqltext+''''+rqzh(sd[3])+''''+','; //拨款日期 sqltext:=sqltext+sd[4]+','; //预算类型 sqltext:=sqltext+''''+sd[5]+''''+','; //预算科目(类款项) sqltext:=sqltext+''''+sd[6]+''''+','; //用途 sqltext:=sqltext+sd[7]+','; //拨款金额 sqltext:=sqltext+''''+sd[8]+''''+','; //付款单位开户银行名称 sqltext:=sqltext+''''+sd[9]+''''+','; //付款单位帐号 sqltext:=sqltext+''''+sd[10]+''''+','; //收款单位编码(通用会计编码) sqltext:=sqltext+''''+sd[11]+''''+','; //收款单位开户银行 sqltext:=sqltext+''''+sd[12]+''''+','; //收款单位帐号 sqltext:=sqltext+''''+sd[13]+''''+')'; //部门编码 edit1.Text:=sqltext; ADOCommand1.Close; ADOCommand1.sql.Clear; ADOCommand1.SQL.Add(sqltext); try ADOCommand1.ExecSQL; j:=j+1; except raise Exception.Create(sqltext+'运行出错!'); closefile(f); exit; end; end; Readln(F, S); until trim(s)=''; closefile(f); showmessage('共复库记录'+inttostr(j)+'条!'); end;end.
2.pas unit UMyFun;interface uses Windows, SysUtils, Classes,messages,filectrl,StrUtils; function getfield(s:string;i:integer):string; function getip(s:string;i:integer):string; function rqzh(s:string):string; function GetStr2(SourceStr:string;index:integer):string; function DoCopyDir(sDirName:String;sToDirName:String):Boolean; procedure writelog(log:string); //记录日志文件 function GetOSVersion(): integer; function GetStrLen(s:string): integer; var p_dwmc: string; //单位名称 p_sh: string; //纳税号 p_czy: string; //操作员名称 p_ver:integer; //版本号 p_password:string;//远程认证口令 P_web:string; p_path:string;//程序运行路径 p_winpath:string; implementationfunction rqzh(s:string):string; begin result:=copy(s,1,4)+'/'+copy(s,5,2)+'/'+copy(s,7,2); end; function getfield(s:string;i:integer):string; var wz1,wz2:integer; k:integer; begin wz1:=1; if i = 1 then begin wz1:=pos('~~',s); result:=copy(s,1,wz1-1); end else begin for k:=1 to i-1 do begin wz1:=pos('~~',s); s[wz1]:='_'; s[wz1+1]:='_'; end; wz2:=pos('~~',s); if wz2>0 then result:=copy(s,wz1+2,wz2-wz1-2) else result:=copy(s,wz1+2,length(s)-wz1-1); end; end; function getip(s:string;i:integer):string; var wz1,wz2:integer; k:integer; begin wz1:=1; if i = 1 then begin wz1:=pos(',',s); result:=copy(s,1,wz1-1); end else begin for k:=1 to i-1 do begin wz1:=pos(',',s); s[wz1]:='_'; end; wz2:=pos(',',s); if wz2>0 then result:=copy(s,wz1+1,wz2-wz1-1) else result:=copy(s,wz1+1,length(s)-wz1); end; end; function GetStrLen(s:string): integer; var i,wz1:integer; begin i:=0; wz1:=pos(',',s); if wz1>0 then begin repeat s[wz1]:='_'; wz1:=pos(',',s); i:=i+1; until wz1=0; end; Result := i; end;//************************************** // 记录上传下载时日志 //****************************************** procedure writelog(log:string); var file2:string; f1:textfile; handle:integer; present:Tdatetime; Year,Month,Day:word; begin present:=now; DecodeDate(Present, Year, Month, Day); file2:=p_path+'\bak\log'+inttostr(year)+inttostr(month)+'.ini'; if not fileexists(file2) then begin try handle:=filecreate(file2); except exit; end; fileclose(handle); end; try assignfile(f1,file2); Append(f1); log:=DateToStr(Date)+':'+log; writeln(f1,log); closefile(f1); except exit; end; end; function GetOSVersion(): integer; var sysVI: TosversionInfo; begin sysVI.dwOSVersionInfoSize := SizeOf(sysVI); GetVersionEx(sysVI); with sysVI do begin case dwPlatFormID of 0: Result := 0; 1: begin case dwMinorVersion of 0: Result := 1; 10: Result := 1; else Result := 0; end; end; else Result := 0; end; end; end; function GetStr2(SourceStr:string;index:integer):string; //分析批量文本字符串,过滤掉空格 //SourceStr:要分析的字符串 //Index:要分析的第几个位置 var i:integer; j:integer; TmpStr:string; begin Result:=' '; TmpStr:=Trim(SourceStr)+',Nothing'; for i:=1 to index do begin j:=Pos(',',TmpStr); Result:=LeftStr(TmpStr,j); TmpStr:=Trim(Midstr(TmpStr,j,length(TmpStr)-j)); end; end; function DoCopyDir(sDirName:String;sToDirName:String):Boolean; var sr: TSearchRec; t,tfile:String; FileAttrs:integer; begin FileAttrs := faAnyFile; //messagebox(0,pchar(inttostr(FindFirst(sDirName, 0, sr))),'sr.name',MB_OK); if FindFirst(sDirName+'*.*', 0, sr) = 0 then begin repeat try //messagebox(0,pchar(sr.name),'sr.name',MB_OK); CopyFile(PChar(sDirName+sr.name),PChar(sToDirName+sr.name),false); except result:=false; end; until FindNext(sr) <> 0; FindClose(sr); end else begin messagebox(0,pchar(sr.name+'中没有文件'),'提示',MB_OK); result:=false; end; end; end.
object Form1: TForm1 Left = 214 Top = 146 Width = 714 Height = 359 Caption = 'Form1' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] OldCreateOrder = False OnCreate = FormCreate PixelsPerInch = 96 TextHeight = 13 object DBGrid1: TDBGrid Left = 10 Top = 38 Width = 687 Height = 291 DataSource = DataSource1 TabOrder = 0 TitleFont.Charset = DEFAULT_CHARSET TitleFont.Color = clWindowText TitleFont.Height = -11 TitleFont.Name = 'MS Sans Serif' TitleFont.Style = [] Columns = < item Expanded = False FieldName = 'copymonth' Visible = True end item Expanded = False FieldName = 'DV_No' Visible = True end item Expanded = False FieldName = 'dv_date' Visible = True end item Expanded = False FieldName = 'acctype' Visible = True end item Expanded = False FieldName = 'accid' Visible = True end item Expanded = False FieldName = 'use' Visible = True end item Expanded = False FieldName = 'amount' Visible = True end item Expanded = False FieldName = 'bankname' Visible = True end item Expanded = False FieldName = 'bankaccount' Visible = True end item Expanded = False FieldName = 'subunitid' Visible = True end item Expanded = False FieldName = 'subbankname' Visible = True end item Expanded = False FieldName = 'subbankaccount' Visible = True end item Expanded = False FieldName = 'dept_id' Visible = True end> end object Button1: TButton Left = 502 Top = 4 Width = 75 Height = 25 Caption = #23548#20837#25320#27454#20070 TabOrder = 1 OnClick = Button1Click end object Button2: TButton Left = 600 Top = 4 Width = 75 Height = 25 Caption = #23548#20986#21040#25991#26412 TabOrder = 2 OnClick = Button2Click end object Edit1: TEdit Left = 24 Top = 8 Width = 345 Height = 21 TabOrder = 3 end object Button3: TButton Left = 376 Top = 8 Width = 65 Height = 25 Caption = #27983#35272'...' TabOrder = 4 OnClick = Button3Click end object DataSource1: TDataSource DataSet = ADODataSet1 Left = 80 Top = 196 end object ADOConnection1: TADOConnection LoginPrompt = False Provider = 'MSDASQL.1' Left = 54 Top = 196 end object ADODataSet1: TADODataSet Connection = ADOConnection1 CursorType = ctStatic CommandText = 'select id as '#24207#21495','#33258#26377#25110#21512#21516', '#32500#20462#20225#19994#21517#31216', '#31867#21035', '#21512#21516#36215#35755#24180#38480', '#21512#21516#21495', '#35774#22791#21488#25968', '#24180#32500#20462', '#22266#23450#36164#20135' ' + 'from '#32500#20462#20225#19994#26723#26696 Parameters = <> Left = 110 Top = 196 end object OpenDialog1: TOpenDialog DefaultExt = 'txt' Filter = '(*.txt)|*.txt' Left = 456 Top = 8 end object ADOCommand1: TADOCommand Connection = ADOConnection1 Parameters = <> Left = 48 Top = 152 end object ADOQuery1: TADOQuery Connection = ADOConnection1 Parameters = <> Left = 152 Top = 136 end end
为什么用delphi啊?不用DTS?
自己写循环吧
procedure TForm1.Button2Click(Sender: TObject);
var
SL: TStringlist;
lp: integer;
Str1: string;
begin
SL := TStringlist.Create;
try
Query1.Close;
Query1.SQL.Text := 'select * from table1';
Query1.Open;
Query1.first;
while not Query1.eof do
begin
Str1 := '';
for lp := 0 to Query1.Fields.Count - 1 do
Str1 := Str1 + Query1.Fields[lp].AsString + ' ';
SL.Add(Str1);
Query1.Next;
end;
SL.SaveToFile('d:\aa.txt');
finally
SL.Free;
end;
end;
再sql中用BCP命令
如下:
bcp ''数据库名.dbo.表名'' out ''c:\文件名'' -c -u ''登陆用户名'' -p ''密码''
再用delphi其他控件执行一下!
ADoTable的SaveToFile()函数
轻松的实现你的导出功能麻烦点的用huojiehai(海天子) 的也可以另外第三方控件Ems快速的导入导出功能,可以导出任一种格式
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls, Buttons, Menus,StrUtils;type
TForm1 = class(TForm)
DataSource1: TDataSource;
DBGrid1: TDBGrid;
ADOConnection1: TADOConnection;
ADODataSet1: TADODataSet;
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
Button3: TButton;
OpenDialog1: TOpenDialog;
ADOCommand1: TADOCommand;
ADOQuery1: TADOQuery;
procedure RePrint1PrintTitle(Row: Integer; Text: String);
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button1Click(Sender: TObject); private
{ Private declarations }
l_path :string; public
{ Public declarations }
end;var
Form1: TForm1;implementation
uses UMyFun;
{$R *.dfm}procedure TForm1.RePrint1PrintTitle(Row: Integer; Text: String);
begin
if row=2 then
begin end else
begin end;
end;
procedure TForm1.FormCreate(Sender: TObject);
var path :string;
begin
l_path:=ExtractFilePath(Application.ExeName);
showmessage(path);
ADOConnection1.ConnectionString:='DBQ='+path+'012003.adb;DefaultDir='+path+';Driver={Microsoft Access Driver (*.mdb)};DriverId=281;FIL=MS Access;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UID=admin;password=gasfdeveloper;UserCommitSync=Yes';
ADOConnection1.Connected:=true;
ADODataSet1.CommandText:='SELECT * FROM PreDVouch where v_Month is null and trashed=False ORDER BY CopyMonth DESC , DV_No DESC;';
ADODataSet1.Open;
end;procedure TForm1.Button2Click(Sender: TObject);
var
f1:textfile;
file1,mem:string;
handle:integer;
copymonth,dv_no,dv_date,acctype,accid,user,jine,bankname,bankaccount:string;
subunitid,subbankname,subbankaccount,dept_id :string;
amount:real;
begin
ADODataSet1.First;
if ADODataSet1.Eof then exit;
file1:=l_path+'导出横向联网结果.txt';
if not fileexists(file1) then
begin
handle:=filecreate(file1);
fileclose(handle);
end;
assignfile(f1,file1);
Rewrite(f1);
//mem:='纳税人识别号,属期,发票代码,发票号码,金额,税额,开票日期,销方识别号';
//writeln(f1,mem);
ADODataSet1.first;
while ADODataSet1.eof<>true do
begin
copymonth:=ADODataSet1.fieldbyname('copymonth').asstring;
dv_no:=ADODataSet1.fieldbyname('dv_no').asstring;
dv_date:=ADODataSet1.fieldbyname('dv_date').asstring;
dv_date:=copy(dv_date,1,4)+copy(dv_date,6,2)+copy(dv_date,9,2);
acctype:=ADODataSet1.fieldbyname('acctype').asstring;
accid:=ADODataSet1.fieldbyname('accid').asstring;
user:=ADODataSet1.fieldbyname('use').asstring;
amount:=ADODataSet1.fieldbyname('amount').asfloat;
jine:=Format('%14.2f', [amount]);
bankname:=ADODataSet1.fieldbyname('bankname').asstring;
bankaccount:=ADODataSet1.fieldbyname('bankaccount').asstring;
subunitid:=ADODataSet1.fieldbyname('subunitid').asstring;
subbankname:=ADODataSet1.fieldbyname('subbankname').asstring;
subbankaccount:=ADODataSet1.fieldbyname('subbankaccount').asstring;
dept_id:=ADODataSet1.fieldbyname('dept_id').asstring;
mem:=copymonth+','+dv_no+','+dv_date+','+acctype+','+accid+','+user+','+jine+','+bankname+','+bankaccount;//+','+trim(shuie)+','+kprq+','+xfsh;
mem:=mem+','+subunitid+','+subbankname+','+subbankaccount+','+dept_id ;
writeln(f1,mem);
ADODataSet1.Next;
end;
closefile(f1);
showmessage('拨款书文件'+file1+'已生成,请导入横向联网系统!');
end;procedure TForm1.Button3Click(Sender: TObject);
begin
if opendialog1.Execute then edit1.Text:=opendialog1.FileName;
end;procedure TForm1.Button1Click(Sender: TObject);
var f:textfile;
file1,s:string;
recnum,i,k,j,n:integer;
sd:array[1..13] of string;
sqltext,nsrbm,shuqi,bz:string;
begin
file1:=trim(edit1.Text);
if length(file1)=0 then
begin
showmessage('请选择从横向联网系统导出的预算拨款凭证文件!');
edit1.SetFocus;
exit;
end;
assignfile(f,file1);
Reset(F);
Readln(F, S);
j:=0;//共导入记录数
repeat
if GetStrLen(s)=12 then
begin
for k:=1 to 13 do sd[k]:=getip(s,k);
sqltext:='insert into PreDVouch (copymonth,dv_no,dv_date,acctype,accid,use,Amount,bankname,bankaccount,subunitid,subbankname,subbankaccount,dept_id) values(';
sqltext:=sqltext+''''+sd[1]+''''+','; //凭证月份
sqltext:=sqltext+sd[2]+','; //拨款书凭证号
sqltext:=sqltext+''''+rqzh(sd[3])+''''+','; //拨款日期
sqltext:=sqltext+sd[4]+','; //预算类型
sqltext:=sqltext+''''+sd[5]+''''+','; //预算科目(类款项)
sqltext:=sqltext+''''+sd[6]+''''+','; //用途
sqltext:=sqltext+sd[7]+','; //拨款金额
sqltext:=sqltext+''''+sd[8]+''''+','; //付款单位开户银行名称
sqltext:=sqltext+''''+sd[9]+''''+','; //付款单位帐号
sqltext:=sqltext+''''+sd[10]+''''+','; //收款单位编码(通用会计编码)
sqltext:=sqltext+''''+sd[11]+''''+','; //收款单位开户银行
sqltext:=sqltext+''''+sd[12]+''''+','; //收款单位帐号
sqltext:=sqltext+''''+sd[13]+''''+')'; //部门编码
edit1.Text:=sqltext;
ADOCommand1.Close;
ADOCommand1.sql.Clear;
ADOCommand1.SQL.Add(sqltext);
try
ADOCommand1.ExecSQL;
j:=j+1;
except
raise Exception.Create(sqltext+'运行出错!');
closefile(f);
exit;
end; end;
Readln(F, S);
until trim(s)='';
closefile(f);
showmessage('共复库记录'+inttostr(j)+'条!');
end;end.
unit UMyFun;interface
uses Windows, SysUtils, Classes,messages,filectrl,StrUtils; function getfield(s:string;i:integer):string;
function getip(s:string;i:integer):string;
function rqzh(s:string):string;
function GetStr2(SourceStr:string;index:integer):string; function DoCopyDir(sDirName:String;sToDirName:String):Boolean;
procedure writelog(log:string); //记录日志文件
function GetOSVersion(): integer;
function GetStrLen(s:string): integer;
var
p_dwmc: string; //单位名称
p_sh: string; //纳税号
p_czy: string; //操作员名称
p_ver:integer; //版本号
p_password:string;//远程认证口令
P_web:string;
p_path:string;//程序运行路径
p_winpath:string;
implementationfunction rqzh(s:string):string;
begin
result:=copy(s,1,4)+'/'+copy(s,5,2)+'/'+copy(s,7,2);
end;
function getfield(s:string;i:integer):string;
var wz1,wz2:integer;
k:integer;
begin
wz1:=1;
if i = 1 then
begin
wz1:=pos('~~',s);
result:=copy(s,1,wz1-1);
end
else
begin
for k:=1 to i-1 do
begin
wz1:=pos('~~',s);
s[wz1]:='_';
s[wz1+1]:='_';
end;
wz2:=pos('~~',s);
if wz2>0 then
result:=copy(s,wz1+2,wz2-wz1-2)
else
result:=copy(s,wz1+2,length(s)-wz1-1);
end;
end;
function getip(s:string;i:integer):string;
var wz1,wz2:integer;
k:integer;
begin
wz1:=1;
if i = 1 then
begin
wz1:=pos(',',s);
result:=copy(s,1,wz1-1);
end
else
begin
for k:=1 to i-1 do
begin
wz1:=pos(',',s);
s[wz1]:='_';
end;
wz2:=pos(',',s);
if wz2>0 then
result:=copy(s,wz1+1,wz2-wz1-1)
else
result:=copy(s,wz1+1,length(s)-wz1);
end;
end;
function GetStrLen(s:string): integer;
var
i,wz1:integer;
begin
i:=0;
wz1:=pos(',',s);
if wz1>0 then
begin
repeat
s[wz1]:='_';
wz1:=pos(',',s);
i:=i+1;
until wz1=0;
end;
Result := i;
end;//**************************************
// 记录上传下载时日志
//******************************************
procedure writelog(log:string);
var file2:string;
f1:textfile;
handle:integer;
present:Tdatetime;
Year,Month,Day:word;
begin
present:=now;
DecodeDate(Present, Year, Month, Day);
file2:=p_path+'\bak\log'+inttostr(year)+inttostr(month)+'.ini';
if not fileexists(file2) then
begin
try
handle:=filecreate(file2);
except
exit;
end;
fileclose(handle);
end;
try
assignfile(f1,file2);
Append(f1);
log:=DateToStr(Date)+':'+log;
writeln(f1,log);
closefile(f1);
except
exit;
end;
end;
function GetOSVersion(): integer;
var
sysVI: TosversionInfo;
begin
sysVI.dwOSVersionInfoSize := SizeOf(sysVI);
GetVersionEx(sysVI);
with sysVI do
begin
case dwPlatFormID of
0: Result := 0;
1:
begin
case dwMinorVersion of
0: Result := 1;
10: Result := 1;
else
Result := 0;
end;
end;
else
Result := 0;
end;
end;
end;
function GetStr2(SourceStr:string;index:integer):string;
//分析批量文本字符串,过滤掉空格
//SourceStr:要分析的字符串
//Index:要分析的第几个位置
var
i:integer;
j:integer;
TmpStr:string;
begin
Result:=' ';
TmpStr:=Trim(SourceStr)+',Nothing';
for i:=1 to index do
begin
j:=Pos(',',TmpStr);
Result:=LeftStr(TmpStr,j);
TmpStr:=Trim(Midstr(TmpStr,j,length(TmpStr)-j));
end;
end;
function DoCopyDir(sDirName:String;sToDirName:String):Boolean;
var
sr: TSearchRec;
t,tfile:String;
FileAttrs:integer;
begin
FileAttrs := faAnyFile;
//messagebox(0,pchar(inttostr(FindFirst(sDirName, 0, sr))),'sr.name',MB_OK);
if FindFirst(sDirName+'*.*', 0, sr) = 0 then
begin
repeat
try
//messagebox(0,pchar(sr.name),'sr.name',MB_OK);
CopyFile(PChar(sDirName+sr.name),PChar(sToDirName+sr.name),false);
except
result:=false;
end;
until FindNext(sr) <> 0;
FindClose(sr);
end
else
begin
messagebox(0,pchar(sr.name+'中没有文件'),'提示',MB_OK);
result:=false;
end;
end;
end.
Left = 214
Top = 146
Width = 714
Height = 359
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
object DBGrid1: TDBGrid
Left = 10
Top = 38
Width = 687
Height = 291
DataSource = DataSource1
TabOrder = 0
TitleFont.Charset = DEFAULT_CHARSET
TitleFont.Color = clWindowText
TitleFont.Height = -11
TitleFont.Name = 'MS Sans Serif'
TitleFont.Style = []
Columns = <
item
Expanded = False
FieldName = 'copymonth'
Visible = True
end
item
Expanded = False
FieldName = 'DV_No'
Visible = True
end
item
Expanded = False
FieldName = 'dv_date'
Visible = True
end
item
Expanded = False
FieldName = 'acctype'
Visible = True
end
item
Expanded = False
FieldName = 'accid'
Visible = True
end
item
Expanded = False
FieldName = 'use'
Visible = True
end
item
Expanded = False
FieldName = 'amount'
Visible = True
end
item
Expanded = False
FieldName = 'bankname'
Visible = True
end
item
Expanded = False
FieldName = 'bankaccount'
Visible = True
end
item
Expanded = False
FieldName = 'subunitid'
Visible = True
end
item
Expanded = False
FieldName = 'subbankname'
Visible = True
end
item
Expanded = False
FieldName = 'subbankaccount'
Visible = True
end
item
Expanded = False
FieldName = 'dept_id'
Visible = True
end>
end
object Button1: TButton
Left = 502
Top = 4
Width = 75
Height = 25
Caption = #23548#20837#25320#27454#20070
TabOrder = 1
OnClick = Button1Click
end
object Button2: TButton
Left = 600
Top = 4
Width = 75
Height = 25
Caption = #23548#20986#21040#25991#26412
TabOrder = 2
OnClick = Button2Click
end
object Edit1: TEdit
Left = 24
Top = 8
Width = 345
Height = 21
TabOrder = 3
end
object Button3: TButton
Left = 376
Top = 8
Width = 65
Height = 25
Caption = #27983#35272'...'
TabOrder = 4
OnClick = Button3Click
end
object DataSource1: TDataSource
DataSet = ADODataSet1
Left = 80
Top = 196
end
object ADOConnection1: TADOConnection
LoginPrompt = False
Provider = 'MSDASQL.1'
Left = 54
Top = 196
end
object ADODataSet1: TADODataSet
Connection = ADOConnection1
CursorType = ctStatic
CommandText =
'select id as '#24207#21495','#33258#26377#25110#21512#21516', '#32500#20462#20225#19994#21517#31216', '#31867#21035', '#21512#21516#36215#35755#24180#38480', '#21512#21516#21495', '#35774#22791#21488#25968', '#24180#32500#20462', '#22266#23450#36164#20135' ' +
'from '#32500#20462#20225#19994#26723#26696
Parameters = <>
Left = 110
Top = 196
end
object OpenDialog1: TOpenDialog
DefaultExt = 'txt'
Filter = '(*.txt)|*.txt'
Left = 456
Top = 8
end
object ADOCommand1: TADOCommand
Connection = ADOConnection1
Parameters = <>
Left = 48
Top = 152
end
object ADOQuery1: TADOQuery
Connection = ADOConnection1
Parameters = <>
Left = 152
Top = 136
end
end