DatファイルからDBFへコンバート処理について


  2012-04-12 02:19:05  No: 41901

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);


igy  2012-04-12 03:42:15  No: 41902

挙げられたコードは拡張子 DBF のファイルから、拡張子 MDX のファイルへ書き込んでいるみたいですが、

>DatファイルからDBFへコンバート

とも書かれていますが、

どの形式のファイルからどの形式のファイルにコンバートしたいのですか?

拡張子 DBF は、dBaseみたいですが、拡張子 MDX は

http://www.7key.jp/data/ext_new/m/mdx.html

ソースネクスト社 の携帯電話ユーティリティ「携快電話」用ファイルでしょうか?


  2012-04-12 22:08:49  No: 41903

igyさん書き込みありがとうございます。

>ソースネクスト社 の携帯電話ユーティリティ「携快電話」用ファイルでしょうか?

delphiテーブルのインデックス作成したときにMDXファイルが作成され、
そのインデックス情報をコピーする方法を探していたんですが、下記サイトよりインデックスのコピー方法が記述してあったため試してみます。

http://delfusa.main.jp/delfusafloor/archive/www.nifty.ne.jp_forum_fdelphi/faq/00080.htm


  2012-04-12 23:26:27  No: 41904

↓試しました^^;
エラーメッセージ「テーブル/インデックスヘッダーが壊れています。」
とでます。
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;


igy  2012-04-12 23:33:20  No: 41905

>DBFへコンバートした時にデータをコンバートしただけではうまくひらきません。

データ自体のコンバートのほうは、どのような処理で行われたのですか?


HOta  2012-04-13 06:30:36  No: 41906

拡張子から、dBase4のデーターファイルの様ですね。
最初の例だと、dbfファイルをmdxファイルとしてコピーしているように見えます。
一体、何をしようとしているのでしょうか?よくわかりません。
質問の内容を詳しく説明してください。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加