with adoquery1 do begin first; while not eof do begin s:=''; for i:= 0 to fieldcount do s:= s+fields[i].asstring; writeln(f,s); next; end; end;
转 原来做的导日志的程序,给你参考参考. var LogFile:textfile; sql:string; LogInfo:string[10]; LogType:string[14]; LogTime:string[22]; LogMemo:string; var i_loop:integer; begin if (not ADOQuery1.Active) or (ADOQuery1.Eof and ADOQuery1.Bof) then begin MessageBox(Application.Handle,'目前没有日志可以导出!','信息提示', MB_ICONQUESTION+MB_OK); exit; end; Try AssignFile(LogFile,'c:\a.txt'); if not FileExists('c:\a.txt') then begin rewrite(LogFile); LogInfo:='日志信息 '; LogType:='日志类型 '; LogTime:='日志时间 '; LogMemo:='日志内容 '; LogMemo:=LogInfo + LogType+ LogTime+LogMemo ; Writeln(LogFile,LogMemo); end; Append(LogFile); ADOQuery1.First; While not ADOQuery1.Eof do begin LogInfo:=' ' + ADOQuery1.FieldByName('info').AsString; LogType:=' ' + ADOQuery1.FieldByName('Type').AsString; LogTime:=' ' + ADOQuery1.FieldByName('Time').AsString; LogMemo:=' ' + ADOQuery1.FieldByName('Memo').AsString; LogMemo:=LogInfo + LogType+ LogTime+LogMemo ; Writeln(LogFile,LogMemo); ADOQuery1.Next; end; finally CloseFile(LogFile); end; end;
procedure TForm1.Button1Click(Sender: TObject); const spliChar = ','; //设置分隔符号 var s: string; I: Integer; SL: TStringList; begin SL := TStringList.Create; SL.BeginUpdate; while not AdoQuery1.Eof do begin s := ''; for I := 0 to AdoQuery1.FieldCount - 1 do s := s + AdoQuery1.Fields[I].AsString + spliChar; Delete(s, Length(s),1); SL.Add(s); end; SL.EndUpdate; SL.SaveToFile('C:\TEST.TXT'); SL.Free; end;
//上面的少了两句重要的语句 procedure TForm1.Button1Click(Sender: TObject); const spliChar = ','; //设置分隔符号 var s: string; I: Integer; SL: TStringList; begin SL := TStringList.Create; SL.BeginUpdate; AdoQuery1.First; while not AdoQuery1.Eof do begin s := ''; for I := 0 to AdoQuery1.FieldCount - 1 do s := s + AdoQuery1.Fields[I].AsString + spliChar; Delete(s, Length(s),1); //去除最后的分隔符 SL.Add(s); AdoQuery1.Next; end; SL.EndUpdate; SL.SaveToFile('C:\TEST.TXT'); SL.Free; end;
with adoquery1 do
begin
first;
while not eof do
begin
s:='';
for i:= 0 to fieldcount do
s:= s+fields[i].asstring;
writeln(f,s);
next;
end;
end;
原来做的导日志的程序,给你参考参考.
var LogFile:textfile;
sql:string;
LogInfo:string[10];
LogType:string[14];
LogTime:string[22];
LogMemo:string;
var i_loop:integer;
begin
if (not ADOQuery1.Active) or (ADOQuery1.Eof and ADOQuery1.Bof) then
begin
MessageBox(Application.Handle,'目前没有日志可以导出!','信息提示',
MB_ICONQUESTION+MB_OK);
exit;
end;
Try
AssignFile(LogFile,'c:\a.txt');
if not FileExists('c:\a.txt') then
begin
rewrite(LogFile);
LogInfo:='日志信息 ';
LogType:='日志类型 ';
LogTime:='日志时间 ';
LogMemo:='日志内容 ';
LogMemo:=LogInfo + LogType+ LogTime+LogMemo ;
Writeln(LogFile,LogMemo);
end;
Append(LogFile);
ADOQuery1.First;
While not ADOQuery1.Eof do
begin
LogInfo:=' ' + ADOQuery1.FieldByName('info').AsString;
LogType:=' ' + ADOQuery1.FieldByName('Type').AsString;
LogTime:=' ' + ADOQuery1.FieldByName('Time').AsString;
LogMemo:=' ' + ADOQuery1.FieldByName('Memo').AsString;
LogMemo:=LogInfo + LogType+ LogTime+LogMemo ;
Writeln(LogFile,LogMemo);
ADOQuery1.Next;
end;
finally
CloseFile(LogFile);
end;
end;
const
spliChar = ','; //设置分隔符号
var
s: string;
I: Integer;
SL: TStringList;
begin
SL := TStringList.Create;
SL.BeginUpdate;
while not AdoQuery1.Eof do
begin
s := '';
for I := 0 to AdoQuery1.FieldCount - 1 do
s := s + AdoQuery1.Fields[I].AsString + spliChar;
Delete(s, Length(s),1);
SL.Add(s);
end;
SL.EndUpdate;
SL.SaveToFile('C:\TEST.TXT');
SL.Free;
end;
procedure TForm1.Button1Click(Sender: TObject);
const
spliChar = ','; //设置分隔符号
var
s: string;
I: Integer;
SL: TStringList;
begin
SL := TStringList.Create;
SL.BeginUpdate;
AdoQuery1.First;
while not AdoQuery1.Eof do
begin
s := '';
for I := 0 to AdoQuery1.FieldCount - 1 do
s := s + AdoQuery1.Fields[I].AsString + spliChar;
Delete(s, Length(s),1); //去除最后的分隔符
SL.Add(s);
AdoQuery1.Next;
end;
SL.EndUpdate;
SL.SaveToFile('C:\TEST.TXT');
SL.Free;
end;