Paradoxファイルをテキストファイルに変換するには?


洋子  2004-07-10 12:26:37  No: 9852

Paradoxファイルをテキストファイル(タブ区切り等)に変換するには
どうすれば良いのでしょうか。Delphi7で、エクスプローラからParadox
ファイルを開くことは出来ました。ただ、「ファイルへの書き出し」を
すると、Delphiのディクショナリ用のファイルにしかならないのです。
Delphiでなくても良いのですが、Paradoxファイルをテキストファイル
(タブ区切り等)に変換するにはどうすれば良いのでしょうか。


ねっと健作  2004-07-10 21:42:47  No: 9853

ネットで探せば CSVへの変換コンポが見つかりますよ。
シェアウェアが多いですがフリーのものもあるかも。


HOta  2004-07-11 01:48:30  No: 9854

var
  I : Integer;
  StringList1,StringList2:TStringList;
begin

StringList1:=TStringList.Create;
StringList1.Clear;
StringList2:=TStringList.Create;
Try
  Query1.Open
  While not Query1.Eof do
  begin
    StringList2.Clear;
    for I := 0 to Query1.Fields.Count - 1 do
    begin

    end;
    Query1.Next;
  end;
  Query1.Close;
finally
  FreeAndNil(StringList1);
  FreeAndNil(StringList2);
end;
end;


HOta  2004-07-11 01:52:53  No: 9855

途中で遅れれてしましました。
再度

var
  I : Integer;
  StringList1,StringList2:TStringList;
begin

StringList1:=TStringList.Create;
StringList1.Clear;
StringList2:=TStringList.Create;
Try
  Query1.Open
  While not Query1.Eof do
  begin
    StringList2.Clear;
    for I := 0 to Query1.Fields.Count - 1 do
    begin
      StringList2.Add(Query1.Fields[I].value);
    end;
    Query1.Next;
    StringList1.Add(StringList2.CommaText);
  end;
  Query1.Close;
  StringList1.SaveToFile('ファイル名');
finally
  FreeAndNil(StringList1);
  FreeAndNil(StringList2);
end;
end;


洋子  2004-07-11 02:31:51  No: 9856

>ねっと健作さん
>HOta

お二人とも、ありがとうございます。ただ、私は初心者なもので
HOtaさんのコードを理解して使うことが出来ませんでした。(初心者な
もので、すみません)
そのため、ねっと健作さんのように変換コンポをネットで探そうと
したのですが、見つからないのです。シェアウェアで良いので、変換
コンポが載っているURLを教えてくれますでしょうか。
お手数をおかけしますが、宜しくお願い致します。


HOta  2004-07-12 00:59:36  No: 9857

非常に簡単なソースだったのですが...
変換だけでしたら、Excelで読み込んで、CSVに落とせばどうでしょうか。
ExcelのデーターベースドライバーにParadoxを追加すればOKです。


洋子  2004-07-12 06:21:55  No: 9858

>HOtaさん

ありがとうございます。ただ、Excel2000やAccess2000でParadoxファイルを
読み込むと、日本語の部分が全て文字化けしているのです。(英数字の部分
は大丈夫です)
Delphi7のエクスプローラで読み込んだ時は日本語の部分も大丈夫でした。
Excel2000やAccess2000で日本語が文字化けしてしまうのは、MicrosoftのHP
http://support.microsoft.com/default.aspx?scid=kb;ja;JP418596
のように「Paradox テーブルの言語ドライバが japan に設定されている
ため」(??詳しい原因は私には分かりません)ということですが、
このHP通りに「HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\Engines\Paradox」の「CollatingSequence の値を Japanese に設定」
しても、やはりExcel2000やAccess2000で読み込むとParadoxファイルの
日本語部分が文字化けしてしまいます。

どうすれば良いのでしょうか。本当にど素人ですみませんが、ご指導して
頂ければ幸いです。何卒、宜しくお願い致します。


洋子  2004-07-12 07:02:50  No: 9859

続きです。もしもOffice2000で開けないとしたら、Delphiでやってみます。
ただ、HOtaさんの

var
  I : Integer;
  StringList1,StringList2:TStringList;
begin

で始まるコードは、超ど素人の私にはそのままでは使えないのです。
そこで、
「C:\koko\moto.DB」のParadoxファイルを、「C:\koko\moto.txt」の
テキストファイルにしようと思うのですが、Delphiのどこの画面を出して
どこの部分を選択してから、HOtaさんのコードをコピペすれば良いので
しょうか。本当にど素人ですみませんが、ご指導の程、宜しくお願い
致します。


HOta  2004-07-12 16:26:28  No: 9860

TQueryでも、TTableでも同じです。
いずれかをフォームにぺたりと貼りつけます。
C:\koko\moto.DBをBDEに設定している場合は、
そのアリアスを、設定していない場合は、「C:\koko\moto.DB」
を貼りつけたコンポーネントのDataBaseNameに設定します。
出来ればここでプロパティのActiveをTrueにしてみて、エラーが出なければ
接続できています。ActiveプロパティをもとのFalseに戻しておきましょう。
このQuery1かTable1をソースのQuery1の部分に書きます。
書き出すCSVファイル名をSaveToFile部分の「ファイル名」に置けば書き出します。
これらは、すべてヘルプをみれば乗っています、
SaveToFileはTStringListのプロパティTStringsのメソッドにあると思います。
じっくりと調べてみて下さい。


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

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






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