Get ステートメント (LotusScript 言語)

バイナリファイルまたはランダムファイルからデータを変数に読み込みます。

構文

Get # fileNumber , [ recordNumber ] , variableName

要素

fileNumber

Open ステートメントでファイルを開いたときに割り当てられた番号です。シャープ記号 (#)、fileNumbervariableName はいずれも必要です。

recordNumber

オプション。データ取得を開始するファイル内の位置 (バイナリファイル内ではバイト位置、ランダムファイル内ではレコード番号) です。recordNumber を省略すると、データは現在のファイル位置から取得されます。

variableName

読み込んだデータを保存する変数です。variableName には配列を指定できません。ただし、データ型の中で定義された固定長配列は指定できます (この配列に要素として他の配列を含めることもできます)。

使用法

ファイル内のバイト位置またはレコード位置は常に 1 です。読み込み処理のたびに、ファイル内の位置は次のように増加します。

Get ステートメントは変数の型に応じてデータを variableName に読み込みます。次の表は、データ型ごとの Get ステートメントの動作を示しています。

variableName のデータ型

Get ステートメントの動作

Variant 型

最初の 2 バイトを、読み込むデータの DataType として解釈します。

DataType が EMPTY または NULL のときは、データの読み込みを中止し、variableName を EMPTY または NULL に設定します。

DataType が数値のときは、その型のデータの保持に使用されるバイト数分を読み込みます。

Byte: 1 バイト

Boolean: 2 バイト

Integer: 2 バイト

Long: 4 バイト

Single: 4 バイト

Double: 8 バイト

Currency: 8 バイト

日付/時刻: 8 バイト

固定長文字列

指定された文字数を読み込みます。例えば、変数が String*10 として宣言されると、正確に 10 文字を読み込みます

可変長文字列

Get ステートメントの動作は、使用しているファイルのタイプによって異なります。

ランダムファイル: 最初の 2 バイトを読み込み、文字列の長さを調べます。その文字数分を読み込みます。variableName がランダムファイルのレコードより大きい場合は、variableName がいっぱいになるまでファイルからデータを読み込みます。variableName がいっぱいになると、ファイル位置は次のレコードに進みます。

バイナリファイル: バイナリファイルの場合は、variableName に設定されている文字列の長さと等しいバイト数をファイルから読み込みます。variableName が初期化されていなければ、ファイルからは何のデータも読み込まれません。

ユーザー定義型の変数

データの読み込みに必要なバイト数は、ユーザー定義データ型のすべてのメンバの読み込みに必要なバイト数の合計になります。動的配列、リスト、オブジェクトを含めることはできません

注: LotusScript® 4 では 64K より長い文字列が可能ですが、GET と PUT ステートメントを使用して読み書きできる文字列の長さにはまだ制限があります。長い文字列を処理するファイルタイプの唯一の組み合わせは、バイナリファイルと可変長文字列です。固定長文字列、Variant 型の変数内の文字列、ランダムファイルは 64K を超える文字列を処理しません。これは、それらに、文字列の長さを含む 2 バイトのヘッダーがあるためです。2 バイトでは 64K を超える長さを表せません。