変数からのデータをバイナリファイルまたはランダムファイルに書き込みます。
Put [#] fileNumber , [ recordNumber ] , variableName
fileNumber
Open ステートメントでファイルを開いたときに割り当てられたファイル番号です。シャープ記号 (#)、fileNumber、variableName はいずれも必要です。
recordNumber
オプション。データを書き込むファイルの位置です (バイナリファイルではバイト位置、ランダムファイルではレコード番号)。recordNumber を省略すると、データは現在のファイル位置から書き込まれます。
variableName
書き込むデータを保持している変数です。variableName に配列は指定できません。ただし、型内部で定義された固定長配列を除きます (この配列にさらに別の配列を要素として含めることができます)。
ファイル内のバイトまたはレコードの最初の位置は常に 1 です。書き込み処理のたびに、ファイル内の位置の値は次のように増加します。
variableName がファイル内のレコード長より短いと、Put はファイル内のレコードの残りの部分に存在するデータを上書きまたは削除しません。
次の表は、各データ型に対する Put ステートメントの動作を示しています。
variableName のデータ型 |
Put ステートメントの動作 |
---|---|
Variant 型 |
Put ステートメントは値自体の前に最初の 2 バイトとして DataType を書き込みます。 DataType が EMPTY か NULL なら、それ以上何も書き込みません。 DataType が数値なら、Put ステートメントはその DataType に適したデータのバイト数分を書き込みます。 Byte: 1 バイト Boolean: 2 バイト Integer: 2 バイト Long: 4 バイト Single: 4 バイト Double: 8 バイト Currency: 8 バイト 日付/時刻: 8 バイト |
固定長 String 型 |
Put ステートメントは指定した文字数分を書き込みます。例えば、変数を String * 10 として宣言すると、正確に 10 文字を書き込みます。 |
可変長 String 型 |
Put ステートメントの動作は、使用しているファイルの種類によって異なります。 ランダムファイル: 最初の 2 バイトに文字列の長さを書き込みます。次に、その長さで指定された文字数を書き込みます。variableName を初期化していないと、Put ステートメントは長さゼロの文字列を書き込みます。 variableName がレコードより長い場合は、「不正なレコード長」エラーが発生します。variableName がレコード長より短いと、レコードの残りの部分は残されます。 バイナリファイル: その時点で variableName に保存されている文字列の長さと等しいバイト数がファイルに書き込まれます。variableName を初期化していないと、ファイルには何もデータが書き込まれません。バイナリファイルの場合、データはレコード長に関係なく書き込まれるため、注意が必要です。 |
ユーザー定義のデータ型 |
Put ステートメントはユーザー定義型のすべてのメンバを書き込むのに必要なバイト数の合計分を書き込みます。メンバに動的配列、リスト、オブジェクトを含めることはできません。 |