文字コードがEUCのファイルを開くには?

解決


かんとく  2008-12-11 03:52:06  No: 32884

お世話になっております。

Delphi2007,WindowsXPです。

文字コードがEUCのファイルを開くには、どうしたらよろしいでしょうか。

単純に、ファイルtext1.txtを読み込んで、Memo1に代入するだけでいいのです。

VBのときは、
CreateObject("ADODB.Stream")から
Charset = "euc-jp"を指定して
ReadText()
を行っていました。

同じような作業をDelphiで行いたいです。

よろしくお願いします。


Mr.XRAY  2008-12-11 16:45:24  No: 32885

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

# またハズレかな?


かんとく  2008-12-11 19:13:45  No: 32886

ありがとうございました。

文字コードがEUCのファイルを開くことが出来ました。

ADODB.StreamのDelphiでの使い方も教えてくださいまして、
本当にありがとうございました。


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

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






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