Paradoxファイルをテキストファイル(タブ区切り等)に変換するには
どうすれば良いのでしょうか。Delphi7で、エクスプローラからParadox
ファイルを開くことは出来ました。ただ、「ファイルへの書き出し」を
すると、Delphiのディクショナリ用のファイルにしかならないのです。
Delphiでなくても良いのですが、Paradoxファイルをテキストファイル
(タブ区切り等)に変換するにはどうすれば良いのでしょうか。
ネットで探せば CSVへの変換コンポが見つかりますよ。
シェアウェアが多いですがフリーのものもあるかも。
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;
途中で遅れれてしましました。
再度
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;
>ねっと健作さん
>HOta
お二人とも、ありがとうございます。ただ、私は初心者なもので
HOtaさんのコードを理解して使うことが出来ませんでした。(初心者な
もので、すみません)
そのため、ねっと健作さんのように変換コンポをネットで探そうと
したのですが、見つからないのです。シェアウェアで良いので、変換
コンポが載っているURLを教えてくれますでしょうか。
お手数をおかけしますが、宜しくお願い致します。
非常に簡単なソースだったのですが...
変換だけでしたら、Excelで読み込んで、CSVに落とせばどうでしょうか。
ExcelのデーターベースドライバーにParadoxを追加すればOKです。
>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ファイルの
日本語部分が文字化けしてしまいます。
どうすれば良いのでしょうか。本当にど素人ですみませんが、ご指導して
頂ければ幸いです。何卒、宜しくお願い致します。
続きです。もしもOffice2000で開けないとしたら、Delphiでやってみます。
ただ、HOtaさんの
var
I : Integer;
StringList1,StringList2:TStringList;
begin
で始まるコードは、超ど素人の私にはそのままでは使えないのです。
そこで、
「C:\koko\moto.DB」のParadoxファイルを、「C:\koko\moto.txt」の
テキストファイルにしようと思うのですが、Delphiのどこの画面を出して
どこの部分を選択してから、HOtaさんのコードをコピペすれば良いので
しょうか。本当にど素人ですみませんが、ご指導の程、宜しくお願い
致します。
TQueryでも、TTableでも同じです。
いずれかをフォームにぺたりと貼りつけます。
C:\koko\moto.DBをBDEに設定している場合は、
そのアリアスを、設定していない場合は、「C:\koko\moto.DB」
を貼りつけたコンポーネントのDataBaseNameに設定します。
出来ればここでプロパティのActiveをTrueにしてみて、エラーが出なければ
接続できています。ActiveプロパティをもとのFalseに戻しておきましょう。
このQuery1かTable1をソースのQuery1の部分に書きます。
書き出すCSVファイル名をSaveToFile部分の「ファイル名」に置けば書き出します。
これらは、すべてヘルプをみれば乗っています、
SaveToFileはTStringListのプロパティTStringsのメソッドにあると思います。
じっくりと調べてみて下さい。
ツイート | ![]() |