線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1270
推到 Plurk!
推到 Facebook!

將table資料轉文字檔時可否將欄位與資料對齊

答題得分者是:sos_admin
BOSS
中階會員


發表:70
回覆:79
積分:64
註冊:2006-11-01

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-18 09:41:54 IP:61.218.xxx.xxx 未訂閱
各位前輩 將table資料轉文字檔時,如果要將欄位與資料對齊 該如何做呢
sos_admin
版主


發表:121
回覆:697
積分:768
註冊:2003-07-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-18 10:59:57 IP:61.155.xxx.xxx 未訂閱
如下: 将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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-08-18 11:04:30 IP:218.163.xxx.xxx 未訂閱
參考看看,下面的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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-08-18 11:05:21 IP:218.163.xxx.xxx 未訂閱
參考看看,下面的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; 
永遠追不上技術更新的速度
------
星期一,二...無窮迴圈@@
系統時間:2024-05-10 8:05:57
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!