DatファイルからDBFへコンバートした時にデータをコンバートしただけではうまくひらきません。
ネット等でテーブル処理について下記のサンプルがあったのでですがよくわからないため書き込みさせていただきました。
(インデックス等の情報をはりつけてるんですか?)
アドバイス等いただけると助かります。
//データコピー後 下処理
//読み取り
AssignFile(FromF,AAA.DBF);
Reset(FromF,1);
//書き込み
AssignFile(ToF,BBB.MDX);
Reset(ToF,1);
repeat
BlockRead(FromF,Buf,SizeOf(Buf),NumRead);
BlockWrite(ToF,Buf,NumRead,NumWritten);
until (NumRead=0) or (NumWritten <>NumRead);
CloseFile(FromF);
CloseFile(ToF);
挙げられたコードは拡張子 DBF のファイルから、拡張子 MDX のファイルへ書き込んでいるみたいですが、
>DatファイルからDBFへコンバート
とも書かれていますが、
どの形式のファイルからどの形式のファイルにコンバートしたいのですか?
拡張子 DBF は、dBaseみたいですが、拡張子 MDX は
http://www.7key.jp/data/ext_new/m/mdx.html
ソースネクスト社 の携帯電話ユーティリティ「携快電話」用ファイルでしょうか?
igyさん書き込みありがとうございます。
>ソースネクスト社 の携帯電話ユーティリティ「携快電話」用ファイルでしょうか?
delphiテーブルのインデックス作成したときにMDXファイルが作成され、
そのインデックス情報をコピーする方法を探していたんですが、下記サイトよりインデックスのコピー方法が記述してあったため試してみます。
http://delfusa.main.jp/delfusafloor/archive/www.nifty.ne.jp_forum_fdelphi/faq/00080.htm
↓試しました^^;
エラーメッセージ「テーブル/インデックスヘッダーが壊れています。」
とでます。
table2のテーブルはたしかに開けないじょうたいでした。
Var
i : Integer;
Begin
BatchMove1.Execute
Table1.IndexDefs.Update; //コピー元のテーブルを指定
For i := 0 To Table1.IndexDefs.Count - 1 Do
Table2.AddIndex(Table1.IndexDefs[i].Name, //Table2はコピー先
Table1.IndexDefs[i].Fields,
Table1.IndexDefs[i].Options);
End;
>DBFへコンバートした時にデータをコンバートしただけではうまくひらきません。
データ自体のコンバートのほうは、どのような処理で行われたのですか?
拡張子から、dBase4のデーターファイルの様ですね。
最初の例だと、dbfファイルをmdxファイルとしてコピーしているように見えます。
一体、何をしようとしているのでしょうか?よくわかりません。
質問の内容を詳しく説明してください。
ツイート | ![]() |