お世話になっております。
Delphi2007,WindowsXPです。
文字コードがEUCのファイルを開くには、どうしたらよろしいでしょうか。
単純に、ファイルtext1.txtを読み込んで、Memo1に代入するだけでいいのです。
VBのときは、
CreateObject("ADODB.Stream")から
Charset = "euc-jp"を指定して
ReadText()
を行っていました。
同じような作業をDelphiで行いたいです。
よろしくお願いします。
>VBのときは、
>CreateObject("ADODB.Stream")から
>Charset = "euc-jp"を指定して
>ReadText()
>を行っていました。
Delphi2009ではUniCode化され直接読み込めるようですが,Delphi2007では...
文字コードの変換をすれば(ここではShift-jis)可能でしょう.
文字コードの変換にはいろいろありますが,
折角ADODB.Streamということですので,例えば以下のような感じでしょうか.
動作確認は,Windows XP(SP2) + Delphi7です
//=============================================================================
// ADODB.Stremを利用した文字コードの変換サンプル
// 直接コントロールに読み込む場合
//
// CreateOleObjectの使用にはusesにComObjが必要
// usesにComObjがある時は特にCOMの初期化は必要なし
//=============================================================================
procedure TForm1.Button2Click(Sender: TObject);
var
StreamSrc : OleVariant;
begin
//ADODBのSteamオブジェクトの生成
StreamSrc := CreateOleObject('ADODB.Stream');
try
//開く
StreamSrc.Open;
//文字コード定義
StreamSrc.Charset := 'euc-jp';
//ファイルからファイルを読出す
StreamSrc.LoadFromFile('EUC.txt');
//Memo1に表示
Memo1.Text := StreamSrc.ReadText;
finally
StreamSrc.Close;
StreamSrc :=Unassigned;
end;
end;
# またハズレかな?
ありがとうございました。
文字コードがEUCのファイルを開くことが出来ました。
ADODB.StreamのDelphiでの使い方も教えてくださいまして、
本当にありがとうございました。
ツイート | ![]() |