LCStream の Convert メソッド

このメソッドは、ストリームを特定のストリーム形式で取得します。

関連情報については、SetFormat メソッドを参照してください。

定義位置

LCStream

構文

Call newStream. Convert (srcStream, flags, format)

パラメータ

パラメータ

説明

srcStream

LCStream。データを変換するストリームです。srcStream には、newStream と同じオブジェクトは指定できません。

flags

Long。変換の方法を決定するフラグです。以下の値のうち 0 個以上の論理和です。

  • LCCONVERTF_REFERENCE -- ターゲットストリームとソースストリームが同じ形式の場合は、ターゲットからソースを参照できるようにします。このフラグが設定されていない場合は、常にデータのコピーが必要となります。使用上の注意を参照してください。
  • LCCONVERTF_PRESERVE -- ターゲットストリームのメタ情報 (MaxLength および StreamFlags) を維持します。このフラグが設定されていない場合は、ソースストリームの情報が使用されます。
  • LCCONVERTF_FORCE_TEXT -- notes.ini ファイルの DECSTranslation 設定に 0 または 1 が設定されていても無効となり、キャラクタセットが異なる場合は強制的に変換が行われます。

format

Long。ターゲットデータのストリーム形式です。

使用法

LCCONVERTF_REFERENCE フラグを使用すると、特定形式のストリームデータを効率よく取得できます。形式を指定してストリームを要求するときにこのフラグを使用すると、ストリームデータの形式が同じであればデータはコピーされません。新しいストリームは単に元のストリームのデータを参照します。

別のストリームのデータを参照するストリームを処理するとき、ストリームの参照が不要になるまでは元のストリームを削除しないでください。

Option Public
Uselsx "*lsxlc" 
Sub Initialize
  Dim msga As New LCStream (0, 0, LCSTREAMFMT_ASCII)
  Dim msgu As New LCStream
  msga.Text = "Peter Pan lived in Never Never Land."
  Call msgu.Convert (msga, 0, LCSTREAMFMT_UNICODE)
  Print "The length of the msg in ASCII is " & msga.Length & " while the length in Unicode is " & msgu.Length
End Sub

出力例

The length of the msg in ASCII is 36, while the length in Unicode is 72.