IBM Lotus Symphony
|
レコードを相対ファイルに書き込むか、バイトシーケンスをバイナリファイルに書き込みます。
次も参照してください: Get ステートメント
Put [#] FileNumber As Integer, [position], Variable
FileNumber: 書き込み先にするファイルを定義する任意の整数表式。
Position: 相対ファイル (ランダムアクセスファイル) の場合、書き込むレコードの番号。
バイナリファイルの場合 (バイナリアクセス)、書き込みを開始するファイル内のバイトの位置。
Variable: ファイルに書き込む変数の名前。
相対ファイルの関する注: この変数の内容が Open ステートメントの Len 節で指定されているレコードの長さに一致しない場合、新規に書き込まれるレコードの末尾と次のレコードの間のスペースに、書き込み先ファイルの既存のデータが埋め込まれます。
バイナリファイルに関する注: 各変数の内容は、指定された位置に書き込まれ、最後のバイトの直後にファイルポインタが挿入されます。レコードとレコードの間にスペースは残りません。
Sub ExampleRandomAccess
Dim iNumber As Integer
Dim sText As Variant REM Must be a variant type
Dim aFile As String
aFile = "c:¥data.txt"
iNumber = Freefile
Open aFile For Random As #iNumber Len=32
Seek #iNumber,1 REM Position to start writing
Put #iNumber,, "This is the first line of text" REM Fill line with text
Put #iNumber,, "This is the second line of text"
Put #iNumber,, "This is the third line of text"
Seek #iNumber,2
Get #iNumber,,sText
Print sText
Close #iNumber
iNumber = Freefile
Open aFile For Random As #iNumber Len=32
Get #iNumber,2,sText
Put #iNumber,,"This is new text"
Get #iNumber,1,sText
Get #iNumber,2,sText
Put #iNumber,20,"This is the text in record 20"
Print Lof(#iNumber)
Close #iNumber
end sub