將table資料轉文字檔時可否將欄位與資料對齊 |
答題得分者是:sos_admin
|
BOSS
中階會員 發表:70 回覆:79 積分:64 註冊:2006-11-01 發送簡訊給我 |
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
如下:
将table1存入savedialog1指定的文件中,并且欄位與資料對齊 function myresize(str1:string;count:integer):string;
var
i,strsize:integer;
tmp,str:string;
begin
str:=str1;
tmp:=' ';
strsize:=length(str);
if count<= strsize then result:=str;
for i:=strsize to count do str:=str tmp;
result:=str;
end; procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
F: TextFile;
line_s:string;
begin
if savedialog1.Execute then
begin
begin
AssignFile(f, savedialog1.FileName);
rewrite(f); line_s:='';
for i:=0 to table1.Fields.Count-1 do
line_s:=line_s myresize( table1.Fields[i].FieldName ,table1.Fields[i].DisplayWidth );
writeln(f,line_s);
writeln(f,''); while not table1.Eof do
begin
line_s:='';
for i:=0 to table1.Fields.Count-1 do line_s:=line_s myresize( table1.Fields[i].asstring,table1.Fields[i].DisplayWidth ); writeln(f,line_s);
table1.Next ;
end;
closefile(f);
end;
end;
end;
|
pgdennis
資深會員 發表:41 回覆:526 積分:443 註冊:2002-05-23 發送簡訊給我 |
參考看看,下面的code是將DBgrid所連結的query1輸出到文字檔
procedure TForm1.XT1Click(Sender: TObject); var i: integer; PrintText:TextFile; s:string; cw:integer; begin SaveDialog1.DefaultExt:='*.txt'; SaveDialog1.Filter := 'Text files (*.txt)|*.TXT'; if SaveDialog1.Execute then begin AssignFile(PrintText,SaveDialog1.filename); Rewrite(PrintText); s:=''; {標題} for i := 0 to query1.Fields.Count-1 do begin cw:=dbgrid1.Columns.Items[i].Width div 9; s:=s format('%' inttostr(cw 2) '.' inttostr(cw) 's',[query1.fields[i].displaylabel ]); end; writeln(PrintText, s); {內容} with query1 do begin DisableControls; First; while not eof do begin s:=''; for i := 0 to query1.Fields.Count-1-1 do begin cw:=dbgrid1.Columns.Items[i].Width div 9; s:=s format('%' inttostr(cw 2) '.' inttostr(cw) 's',[Fields[i].asstring]); end; writeln(PrintText, s); next; end; EnableControls; CloseFile(PrintText); end; end; end;永遠追不上技術更新的速度
------
星期一,二...無窮迴圈@@ |
pgdennis
資深會員 發表:41 回覆:526 積分:443 註冊:2002-05-23 發送簡訊給我 |
參考看看,下面的code是將DBgrid所連結的query1輸出到文字檔
procedure TForm1.XT1Click(Sender: TObject); var i: integer; PrintText:TextFile; s:string; cw:integer; begin SaveDialog1.DefaultExt:='*.txt'; SaveDialog1.Filter := 'Text files (*.txt)|*.TXT'; if SaveDialog1.Execute then begin AssignFile(PrintText,SaveDialog1.filename); Rewrite(PrintText); s:=''; {標題} for i := 0 to query1.Fields.Count-1 do begin cw:=dbgrid1.Columns.Items[i].Width div 9; s:=s format('%' inttostr(cw 2) '.' inttostr(cw) 's',[query1.fields[i].displaylabel ]); end; writeln(PrintText, s); {內容} with query1 do begin DisableControls; First; while not eof do begin s:=''; for i := 0 to query1.Fields.Count-1-1 do begin cw:=dbgrid1.Columns.Items[i].Width div 9; s:=s format('%' inttostr(cw 2) '.' inttostr(cw) 's',[Fields[i].asstring]); end; writeln(PrintText, s); next; end; EnableControls; CloseFile(PrintText); end; end; end;永遠追不上技術更新的速度
------
星期一,二...無窮迴圈@@ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |