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

Create DBF table problem

 
totoro
一般會員


發表:6
回覆:3
積分:1
註冊:2005-05-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-11-01 01:46:21 IP:219.77.xxx.xxx 未訂閱
我用TTable 來create a DBF format table. 用dbd32.exe來開"TestDBF.DBF"係冇問題. 但是用dbu.exe / excel來開就有問題 (不能開啟). 請問有何解決方法? 麻煩各位幫個忙.
Runtime create DBF file (open with notepad) - open fail by dbu.exe /excel
j # DBWINUS0 Field1 I Field2 C

Create DBF by dbd32.exe (open with notepad) - open success
j
a W FLD1 C FLD2 D


with Table1 do begin
Active := False;
DatabaseName := 'c:\';
TableType := ttDBase;
TableName := 'TestDBF';
with FieldDefs do begin
Clear;
with AddFieldDef do begin
Name := 'Field1';
DataType := ftInteger;
Required := True;
end;
with AddFieldDef do begin
Name := 'Field2';
DataType := ftString;
Size := 30;
end;
end;

CreateTable;
end;


max5020
資深會員


發表:30
回覆:277
積分:321
註冊:2003-06-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2006-11-06 15:40:13 IP:59.120.xxx.xxx 未訂閱
因為Delphi所產生的DBF版本,
是For dBase-4以上版本使用,
dbu.exe只可以開啟dBase-3以下的檔案版本
herbert2
尊榮會員


發表:58
回覆:640
積分:894
註冊:2004-04-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2006-11-10 22:25:55 IP:211.72.xxx.xxx 未訂閱
Q:我用TTable 來create a DBF format table. 用dbd32.exe來開"TestDBF.DBF"係冇問題. 但是用dbu.exe / excel來開就有問題 (不能開啟). 請問有何解決方法? 麻煩各位幫個忙.
A:若未用中文欄名, 未超過128個欄位, 則應只是檔頭 Last Update 日期年度 (0起之1st Byte)超過1999年的問題, 只要用 fread, fwrite 或用 UtraEdit Hex Mode 將年度 Byte 減100(64h)即可.
herbert2
尊榮會員


發表:58
回覆:640
積分:894
註冊:2004-04-16

發送簡訊給我
#4 引用回覆 回覆 發表時間:2006-11-10 22:26:30 IP:211.72.xxx.xxx 未訂閱
Q:我用TTable 來create a DBF format table. 用dbd32.exe來開"TestDBF.DBF"係冇問題. 但是用dbu.exe / excel來開就有問題 (不能開啟). 請問有何解決方法? 麻煩各位幫個忙.
A:若未用中文欄名, 未超過128個欄位, 則應只是檔頭 Last Update 日期年度 (0起之1st Byte)超過1999年的問題, 只要用 fread, fwrite 或用 UtraEdit Hex Mode 將年度 Byte 減100(64h)即可.
max5020
資深會員


發表:30
回覆:277
積分:321
註冊:2003-06-04

發送簡訊給我
#5 引用回覆 回覆 發表時間:2006-11-27 16:29:22 IP:59.120.xxx.xxx 未訂閱
剛好我最近有接了一個Windows資料,
要轉到DBF (dbase-3)的案子,
也試了各種做法,
最後沒辦法,
只好用接力的方式,
就是Windows的資料, 只寫到Text-File為止,
其他要轉到DBF的部份,
就用Clipper接續任務,
寫到DBF中,
然而也不用RUN, 2段程式,
只是安排好工作,
Windows這部份做完時,
再用WinExec(接續DOS程式)
也看不太出來,
寫了兩段程式,
呵呵!!
sryang
尊榮會員


發表:39
回覆:762
積分:920
註冊:2002-06-27

發送簡訊給我
#6 引用回覆 回覆 發表時間:2006-12-01 12:00:26 IP:59.125.xxx.xxx 未訂閱
1. 打開 BDE Administrator,切換至 Configuration 頁籤
2. 展開 Configuration --> Drivers --> Native --> DBASE
3. 把視窗右半邊中的 LEVEL 設定成 3,存檔

這樣就可以產生 dBase III 相容的 DBF 檔了

這個值存放在 HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine\Settings\DRIVERS\DBASE\TABLE CREATE 的登錄機碼中
所以也可以用程式去改寫

請參考!
------
歡迎參訪 "腦殘賤貓的備忘錄" http://maolaoda.blogspot.com/
系統時間:2024-11-25 22:59:05
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!