全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1205
推到 Plurk!
推到 Facebook!

程式產生xxx.dbf之問題

 
shing.net
中階會員


發表:207
回覆:124
積分:66
註冊:2002-03-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-07-29 18:17:28 IP:211.74.xxx.xxx 未訂閱
請問由程式產生 xxx.dbf 若欄位型態為==> N size==> 12 小數點==>2位 如何撰寫程式??因為 with AddFieldDef do begin Name := 'Field1'; DataType := ftFloat; Required := True; end; 如何設定size=12 及小數點2位 且程式產生後其型態為'空的' 請問是否有其他方式產生
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-07-29 23:06:37 IP:210.85.xxx.xxx 未訂閱
引言: 請問由程式產生 xxx.dbf 若欄位型態為==> N size==> 12 小數點==>2位 如何撰寫程式??因為 with AddFieldDef do begin Name := 'Field1'; DataType := ftFloat; Required := True; end; 如何設定size=12 及小數點2位 且程式產生後其型態為'空的' 請問是否有其他方式產生
procedure TForm1.Button1Click(Sender: TObject);
          var Table: TTable;
              path: string;
begin
     Table:= TTable.Create(self);
     path:= 'd:\cust.dbf';
     with Table do begin
          DatabaseName:= ExtractFilePath(path);
          TableType:= ttDbase;
          TableName:= ExtractFileName(path);
          with FieldDefs do begin
               Add('CAR_NO',ftString, 8, False);
               with AddFieldDef do begin
                    Name     := 'VEN_NO';
                    DataType := ftBCD;
                    Precision:= 4;  <--改15
                    Size     := 1;  <--改 2
               end;
               with AddFieldDef do begin
                    Name     := 'CC';
                    DataType := ftBCD;
                    Precision:= 4;
                    Size     := 0;
               end;
               Add('ENGINE_NO',ftString,20, False);
               with AddFieldDef do begin
                    Name     := 'CYCLE';
                    DataType := ftBCD;
                    Precision:= 1;
                    Size     := 0;
               end;
               Add('OUT_DATE',ftstring, 6, False);
               Add('NAME',ftstring, 30, False);
               Add('ID_NO',ftstring, 5, False);
               Add('TEL',ftstring, 12, False);
               Add('ADDRESS',ftstring, 60, False);
               Add('REMARK',ftstring, 10, False);
               Add('LIC', ftstring, 6, False);
               Add('BIRTH',ftstring, 6, False);
               CreateTable;
               Free;
          end;
     end;
end;
 
發表人 - P.D. 於 2002/07/29 23:07:51 發表人 - P.D. 於 2002/07/29 23:09:14
shing.net
中階會員


發表:207
回覆:124
積分:66
註冊:2002-03-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-07-30 15:18:09 IP:211.74.xxx.xxx 未訂閱
引言:
引言: 請問由程式產生 xxx.dbf 若欄位型態為==> N size==> 12 小數點==>2位 如何撰寫程式??因為 with AddFieldDef do begin Name := 'Field1'; DataType := ftFloat; Required := True; end; 如何設定size=12 及小數點2位 且程式產生後其型態為'空的' 請問是否有其他方式產生
procedure TForm1.Button1Click(Sender: TObject);
          var Table: TTable;
              path: string;
begin
     Table:= TTable.Create(self);
     path:= 'd:\cust.dbf';
     with Table do begin
          DatabaseName:= ExtractFilePath(path);
          TableType:= ttDbase;
          TableName:= ExtractFileName(path);
          with FieldDefs do begin
               Add('CAR_NO',ftString, 8, False);
               with AddFieldDef do begin
                    Name     := 'VEN_NO';
                    DataType := ftBCD;
                    Precision:= 4;  <--改15
                    Size     := 1;  <--改 2
               end;
               with AddFieldDef do begin
                    Name     := 'CC';
                    DataType := ftBCD;
                    Precision:= 4;
                    Size     := 0;
               end;
               Add('ENGINE_NO',ftString,20, False);
               with AddFieldDef do begin
                    Name     := 'CYCLE';
                    DataType := ftBCD;
                    Precision:= 1;
                    Size     := 0;
               end;
               Add('OUT_DATE',ftstring, 6, False);
               Add('NAME',ftstring, 30, False);
               Add('ID_NO',ftstring, 5, False);
               Add('TEL',ftstring, 12, False);
               Add('ADDRESS',ftstring, 60, False);
               Add('REMARK',ftstring, 10, False);
               Add('LIC', ftstring, 6, False);
               Add('BIRTH',ftstring, 6, False);
               CreateTable;
               Free;
          end;
     end;
end;
 
發表人 - P.D. 於 2002/07/29 23:07:51 發表人 - P.D. 於 2002/07/29 23:09:14
謝謝你問題已解決了 是否可再請教你,若我只要新增或移除某一欄位或變更欄位之型態,size應如何實作??
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-07-31 00:50:24 IP:210.85.xxx.xxx 未訂閱
引言: 謝謝你問題已解決了 是否可再請教你,若我只要新增或移除某一欄位或變更欄位之型態,size應如何實作??
這點你要失望了, 在local database(dbf, db)無法實作這項, 我也很想要做, 如果有指點錯誤, 請其他前輩指教! 我現在的做法是先建立一個 temp dbf 內含我要的結構檔, 然後利用 batchmove 來更換!
系統時間:2024-05-04 10:25:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!