有沒有人要一起討論如何用Delphi讀寫Clipper的NTX索引檔 |
|
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
有沒有人要一起討論如何用Delphi讀寫Clipper的NTX索引檔
這是一個很老很老的問題了
不知道還有沒有人在用.DBF .NTX
國內的醫療界是還有一些人在用 Delphi的BDE支援
DBase-III .DBF .NDX
FoxPor .DBF .CDX
就是不支援Clipper .DBF .NTX 這時只好求助3Party元件了 站長想問看看大家對這個主題有沒有興趣??
要不要來討論看看啊?? ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~ |
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
|
danny
版主 發表:100 回覆:522 積分:595 註冊:2002-03-11 發送簡訊給我 |
引言: 有沒有人要一起討論如何用Delphi讀寫Clipper的NTX索引檔 這是一個很老很老的問題了 不知道還有沒有人在用.DBF .NTX 國內的醫療界是還有一些人在用 Delphi的BDE支援 DBase-III .DBF .NDX FoxPor .DBF .CDX 就是不支援Clipper .DBF .NTX 這時只好求助3Party元件了 站長想問看看大家對這個主題有沒有興趣?? 要不要來討論看看啊??目前支援 NTX 比較好的是 Halcyon 元件, 速度很快不過Master/Detail 有 bug 某些Key會關聯錯誤 ADS 好像也支援 NTX 但我試過除了速度慢外, NTX 相容性做的很差. 除了以上二種元件組外, 好像沒有其他支援 NTX 的了. 提供給您參考 ....
------
將問題盡快結案也是一種禮貌! |
jackkcg
站務副站長 發表:891 回覆:1050 積分:848 註冊:2002-03-23 發送簡訊給我 |
先參考看看 有興趣ㄚ http://www.simtel.net/pub/pd/11415.html
http://www.geocities.com/botstein/ntx.html
http://www.softlookup.com/preview/dis304.html
http://www.xmission.com/~bgeer/bgclipper.html
http://dbforums.com/t340819.html
http://www.abox.com/familias.asp?idfam=56
http://www.vistasoftware.com/apollo_vcl.asp
http://www.dts.nl/index.php/trade/productlist/24
http://www.softlookup.com/category/cat119_5.html
http://www.sql.ru/articles/articles.aspx?g=Delphi&s=0
http://soarowl.uhome.net/entime/databasevcl.html
http://soarowl.uhome.net/cntime/databasevcl.html
http://www.delphi32.com/vcl/lists/sc_n_57_2.asp
http://www.elitesecurity.org/tema/83/1#78326
http://www.gratuiciel.com/freeware/pc/a0.htm
http://www.programmersheaven.com/zone18/cat993/
http://www2.borland.com.tw/tw/reference5-4.html
從 Clipper 到 Delphi (續) 四. 索 引 (Index) 檔 之 產 生 及 使 用 索 引 檔 是 資 料 庫 必 須 使 用 到 的 格 式 , 本 文 先 針 對Dbase 格 式 之 *.dbf 介 紹 , 因 為 主 從 式 (Client/Server) 資 料 庫 的 索 引 檔 係 由 後 端 資 料 伺 服 器 維 護 及 使 用 , 前 端 之 開 發 工 具 ( 如 Delphi ) 幾 乎 感 覺 不 到 它 的 存 在 , 而 Xbase 之 索 引 檔 產 生 及 使 用 , 皆 在 前 端 程 式 中 宣 告 產 生 , 使 用 . 所 以 本 文 以 Xbase 之 索 引 檔 (*.Mdx) 介 紹 . (Delphi 搭 配 3rd 工 具 亦 可 支 援 NTX, CDX 等 索 引 檔 格 式 , 但 本 文 在 此 略 過 不 提 . ) 1. 引 用 之 範 例 資 料 檔 (Emp.dbf) 資 料 檔 結 構 欄 位 名 稱 型 態 長 度 說 明
Name Char 8 人 名
DeptNo Char 10 部 門 代 號
Sal Number 8 薪 資 資 料 檔 內 容 Name DeptNo Sal
蔡 一 A01 1000
蔡 二 A01 2000
黃 一 B01 3000
黃 二 C01 3200 2. 產 生 索 引 檔 以 Name 為 索 引 鍵 產 生NmEmp 索 引 檔 Clipper 語 法
Use Emp
Index on Name to NmEmp Delphi 語 法
Table1.TableName := 'Emp';
Table1.Active := True;
Table1.DeleteIndex('NmEmp');
Table1.AddIndex('NmEmp' , 'Name' , [ ]); (1) 先 宣 告 資 料 庫 元 件Table1 為 Emp.
(2) 開 啟 資 料 庫 , 即 相 當 於Clipper 之 Use Emp.
(3) 刪 除 已 存 在 之NmEmp.MDX
(4) 以Name 為 索 引 鍵 產 生 NmEmp.MDX 之 索 引 檔 , 相 當 於 Clipper 之 Index on Name to NMEmp 3. Delphi 亦 允 許 產 生 複 合 鍵 之 索 引 , 以 Name 及 DeptNo 為 索 引 鍵 產 生 索 引 檔 NDEmp Clipper 語 法
Index on Name DeptNo to NDEmp Delphi 語 法
Table1.AddIndex('NDEmp' , 'Name;DeptNo' , [ ]); Delphi 使 用 AddIndex 方 法 來 產 生 索 引 檔
Procedure AddIndex(Const Name,Fields : String ; Options: TIndexOptions); 參 數 Name : 產 生 之 索 引 檔 名 稱 Fields : 索 引 檔 使 用 之 排 序 欄 位 , 當 有 一 個 欄 位 以 上 時 以 ; 隔 開 TIndexOptions = set of (ixPrimary, ixUnique, ixDescending, ixExpression); 產 生 索 引 檔 時 , 使 用 之 選 項 ixPrimary: 產 生 Primary Key 索 引 檔 , 即 主 鍵 , 表 示 不 可 空 白 , 且 不 能 重 復 ixUnique : 產 生 索 引 檔 不 可 重 複. ixDescending: 反 向 排 序. ixExpression: 索 引 鍵 使 用 函 數. 4. Delphi 也 可 用 運 算 式 , 函 數 產 生 索 引 檔 . 例 : 使 用Name 及 Sal 之 文 字 轉 換 為 索 引 鍵 欄 位 建 立 索 引 檔 NsEmp Clipper 語 法
Index on Name Str(Sal) to NsEmp Delphi 語 法
Table1.AddIndex('NsEmp', 'Name;InttoStr(Sal)', [ixExpression]); 5. 選 用 Index 檔 例 : 使 用 Name 索 引 欄 位 建 立 索 引 檔 NmEmp Name,Dept " NDEmp
使 用 NmEmp 為 作 用 索 引 檔. Clipper 語 法
Use Emp
Index on Name to NmEmp
Index on Name DeptNo to NDEmp
Set Index to NMEmp Delphi 語 法
Table1.TableName := 'EMP';
Table1.Active := True;
Table1.AddIndex('NmEmp', 'Name', [ ]);
Table1.AddIndex('NDEmp', 'Name;DeptNo', [ ]);
Table1.IndexName := 'NmEmp'; Delphi 可 在 程 式 碼 中 直 接 宣 告 IndexName 之 內 容 , 為 作 用 索 引 檔. 6. 利 用 索 引 檔 搜 尋 例 : 以 Name 為 索 引 鍵 建 立 索 引 檔 , 搜 尋 Name= ’ 蔡 一 ’ 之 記 錄 . Clipper 語 法
Use Emp
Index on Name to NmEmp
Set Index to NmEmp
Seek '蔡 一'
If (.not. Found())
? 'Not Found'
Endif Delphi 語 法
Table1.TableName := 'Emp';
Table1.Active := True;
Table1.AddIndex('NmEmp', 'Name', [ ]);
Table1.IndexName := 'NmEmp' ;
Table1.SetKey;
Table1.FieldByName('Name').asString := '蔡 一';
If not Table1.GotoKey Then
ShowMessage('Not Found'); 使 用 SetKey 方 法 , 設 定 搜 尋 條 件 為Name = '蔡 一' , 使 用 GotoKey 的 傳 回 值 , 可 判 定 是 否 有 找 到 值. 7. 主 從 式 架 構 之 索 引 檔 操 作 : 以 上 索 引 檔 操 作 是 以 Delphi Dbf 格 式 ( 或 Paradox 格 式 ) 來 談 的 , 因 其 索 引 檔 維 護 工 作 , 主 要 係 由 前 端 開 發 工 具 負 責 , 使 用 麻 煩 , 且 經 常 索 引 檔 故 障 . 但 是 使 用 主 從 式 資 料 庫 ( 例 Oracle, SyBase, Sql Server) 時 , 索 引 檔 的 產 生 ( 索 引 檔 的 產 生 亦 由 資 料 庫 引 擎 中 執 行 較 佳 ) , 選 用 則 由 資 料 庫 引 擎 負 責 , 程 式 設 計 師 只 需 規 劃 是 否 需 增 設 索 引 檔 即 可 , 至 於 什 麼 時 候 應 用 , 則 資 料 庫 引 擎 會 自 動 判 定 , 而 且 索 引 檔 絕 少 故 障 . 所 以 當 你 採 用 主 從 式 資 料 庫 開 發 DelphI 應 用 程 式 時 , 應 無 需 考 慮 索 引 檔 操 作 . 8. 設 定 資 料 庫 過 濾 條 件 例 : 設 定 過 濾 條 件 為 Name 欄 位 = ' 蔡 一 ' Clipper 語 法
Use Emp
Set Filter to Name = ' 蔡 一 ' Delphi 語 法
Table1.Filter := True;
Procedure Form1.Table1FilterRecord(Dataset: TDataSet; var Accept);
begin
If (Table1Name.Value = ' 蔡 一 ') then
Accept := true;
end; 9. 變 更 欄 位 資 料 將 部 門 代 號 DeptNo = 'A01' 全 部 改 為 'C01' Clipper 語 法
Use Emp
Replace Deptno with "C01" for DeptNo = "A01" Delphi 語 法
Update Emp Set DeptNo = 'C01' where DeptNo = 'A01'
http://www.ciber-tec.com/ads.htm
http://www.geocities.com/Bondar_Eugen/bdbfs_full.htm#p29
http://www.codebase.com/support/hints/#InvalidTransFile
http://support.animalintelligence.com/download/ads_server_ds.pdf
http://www.tndc.com.tw/tndc/twnovell_tool.htm
http://www.eunet.bg/simtel.net/win95/prog.html
http://www.wgsoftpro.com/pages/engpages/enads.htm
http://www.softpile.com/Development/Databases_and_Networks/5index2.html
http://www.wdj.com/link/subject43.htm?topic=links
http://home4u.hongkong.com/technology/pc/proginfo/delphi/article3-4.htm *********************************************************
哈哈&兵燹
最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好 Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知
K.表Knowlege 知識,就是本站的標語:Open our mind to make knowledge together!
希望能大家敞開心胸,將知識寶庫結合一起
------
********************************************************** 哈哈&兵燹 最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好 Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知 K.表Knowlege 知識,就是本站的標語:Open our mind |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |