FileSystem.FilePut メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
変数の内容をディスク上のファイルに書き込みます。 My
機能を使用すると、FilePut
よりもファイル I/O 処理の生産性とパフォーマンスが向上します。 詳細については、「FileSystem」を参照してください。
オーバーロード
FilePut(Int32, Int64, Int64) |
変数の内容をディスク上のファイルに書き込みます。 |
FilePut(Int32, String, Int64, Boolean) |
変数の内容をディスク上のファイルに書き込みます。 |
FilePut(Object, Object, Object) |
古い.
古い.
古い.
変数の内容をディスク上のファイルに書き込みます。 |
FilePut(Int32, ValueType, Int64) |
変数の内容をディスク上のファイルに書き込みます。 |
FilePut(Int32, Single, Int64) |
変数の内容をディスク上のファイルに書き込みます。 |
FilePut(Int32, Int32, Int64) |
変数の内容をディスク上のファイルに書き込みます。 |
FilePut(Int32, Array, Int64, Boolean, Boolean) |
変数の内容をディスク上のファイルに書き込みます。 |
FilePut(Int32, Double, Int64) |
変数の内容をディスク上のファイルに書き込みます。 |
FilePut(Int32, Decimal, Int64) |
変数の内容をディスク上のファイルに書き込みます。 |
FilePut(Int32, DateTime, Int64) |
変数の内容をディスク上のファイルに書き込みます。 |
FilePut(Int32, Char, Int64) |
変数の内容をディスク上のファイルに書き込みます。 |
FilePut(Int32, Byte, Int64) |
変数の内容をディスク上のファイルに書き込みます。 |
FilePut(Int32, Boolean, Int64) |
変数の内容をディスク上のファイルに書き込みます。 |
FilePut(Int32, Int16, Int64) |
変数の内容をディスク上のファイルに書き込みます。 |
FilePut(Int32, Int64, Int64)
- ソース:
- FileSystem.vb
- ソース:
- FileSystem.vb
- ソース:
- FileSystem.vb
変数の内容をディスク上のファイルに書き込みます。 My
機能を使用すると、FilePut
よりもファイル I/O 処理の生産性とパフォーマンスが向上します。 詳細については、「FileSystem」を参照してください。
public static void FilePut (int FileNumber, long Value, long RecordNumber = -1);
static member FilePut : int * int64 * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As Long, Optional RecordNumber As Long = -1)
パラメーター
- FileNumber
- Int32
必須です。 任意の有効なファイル数。
- Value
- Int64
必須です。 ディスクに書き込まれるデータを保持する有効な変数の名前。
- RecordNumber
- Int64
省略可能。 書き込みを始めるレコード番号 (Random
モードのファイル) またはバイト位置 (Binary
モードのファイル)。
例外
RecordNumber
は < 1 で、-1 と等しくありません。
ファイル モードが無効です。
例
この例では、 関数を FilePut
使用してファイルにデータを書き込みます。 構造体 Person
の 5 つのレコードがファイルに書き込まれます。
Structure Person
Public ID As Integer
Public Name As String
End Structure
Sub WriteData()
Dim PatientRecord As Person
Dim recordNumber As Integer
' Open file for random access.
FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
' Loop 5 times.
For recordNumber = 1 To 5
' Define ID.
PatientRecord.ID = recordNumber
' Create a string.
PatientRecord.Name = "Name " & recordNumber
' Write record to file.
FilePut(1, PatientRecord)
Next recordNumber
FileClose(1)
End Sub
注釈
FilePut
は と Binary
モードでのみRandom
有効です。
FilePut
を使用して書き込まれたデータは通常、FileGet
を使用してファイルから読み込まれます。
ファイル内の最初のレコードまたはバイトは 1 番目の位置にあり、2 番目のレコードまたはバイトは 2 番目の位置にあります。 を省略 RecordNumber
すると、最後または関数 FileGet
の後の次のレコードまたはバイト、または FilePut
最後 Seek
の関数が指すバイトが書き込まれます。
引数は StringIsFixedLength
、関数が文字列を可変長または固定長として解釈するかどうかを制御します。 FilePut
引数が の場合、長さ記述子は True
書き込まれません。 で FilePut
を使用StringIsFixedLength
= True
する場合は、 でFileGet
同じ操作を行う必要があります。また、文字列が予想される長さに初期化されていることを確認する必要があります。
ランダム モード
モードで開かれたファイルの Random
場合は、次の規則が適用されます。
書き込まれるデータの長さが関数の 句で
RecordLength
指定された長さより短い場合、FilePut
後続のFileOpen
レコードはレコード長境界に書き込まれます。 1 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコード長を書き込むデータの長さと一致することをお勧めします。 書き込まれるデータの長さが関数の 句FileOpen
でRecordLength
指定された長さを超える場合は、例外がスローされます。書き込まれる変数が文字列の場合は、
FilePut
文字列の長さを含む 2 バイト記述子を書き込み、変数に入るデータを書き込みます。 したがって、関数の 句でRecordLength
指定されるレコード長は、文字列のFileOpen
実際の長さよりも少なくとも 2 バイト大きくする必要があります。書き込まれる変数が数値型を含むオブジェクトの場合は、
FilePut
オブジェクトの を識別するVarType
2 バイトを書き込み、変数を書き込みます。 たとえば、整数を含むオブジェクトを書き込む場合、FilePut
6 バイト (オブジェクトを (Integer
) としてVarType(3)
識別する 2 バイトと、データを含む 4 バイトを書き込みます。 関数の パラメーターでRecordLength
指定されるレコード長は、変数のFileOpen
格納に必要な実際のバイト数より少なくとも 2 バイト大きくする必要があります。書き込まれる変数が文字列を含むオブジェクトの場合は、
FilePut
オブジェクトの を識別するVarType(8)
2 バイト記述子、文字列の長さを示す 2 バイト記述子を書き込み、文字列データを書き込みます。 関数の パラメーターでRecordLength
指定されるレコード長は、文字列のFileOpen
実際の長さより少なくとも 4 バイト大きくする必要があります。 記述子を使用せずに文字列を配置する場合は、 パラメーターにを渡True
すStringIsFixedLength
必要があります。読み取り先の文字列は正しい長さである必要があります。書き込まれる変数が配列の場合は、配列のサイズと次元の記述子を書き込むかどうかを選択できます。 Visual Basic 6.0 以前のバージョンでは、動的配列のファイル記述子が書き込まれますが、固定サイズの配列の場合は書き込まれません。 Visual Basic 2005 では、既定で記述子が書き込まれません。 記述子を書き込むには、 パラメーターを
ArrayIsDynamic
にTrue
設定します。 配列を書き込むときは、配列の読み取り方法と一致する必要があります。記述子で読み取られる場合は、記述子を記述する必要があります。 記述子は、配列のランク、サイズ、各ランクの下限を指定します。 その長さは、次元数の 8 倍に 2 を加えた値です (2 + 8 * NumberOfDimensions)。 関数の 句でRecordLength
FileOpen
指定されるレコード長は、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。 たとえば、次の配列宣言では、配列がディスクに書き込まれるときに 218 バイトが必要です。Dim MyArray(4, 9) As Integer
書き込まれる変数が他の型の変数である場合 (可変長文字列やオブジェクトではありません)
FilePut
、変数データのみを書き込みます。 関数の 句でRecordLength
FileOpen
指定されるレコード長は、書き込まれるデータの長さ以上である必要があります。FilePut
は、要素間にパディングがない点を除き、構造体の要素をそれぞれ個別に書き込むかのように書き込みます。 属性はVBFixedString
、 構造体の文字列フィールドに適用して、ディスクに書き込まれるときに文字列のサイズを示すことができます。注意
属性で
VBFixedString
指定されたバイト数より多い文字列フィールドは、ディスクに書き込まれると切り捨てられます。
バイナリ モード
モードで開かれたファイルの Binary
場合、ほとんどのモード ルールが Random
適用され、一部の例外があります。 モードで開かれたファイルの次の Binary
規則は、モードの規則 Random
とは異なります。
RecordLength
関数のFileOpen
句は無効です。FilePut
は、すべての変数を連続してディスクに書き込みます。つまり、レコード間の埋め込みは行われません。構造体内の配列以外の配列の場合は、
FilePut
データのみを書き込みます。 記述子は書き込まれない。FilePut
は、2 バイトの長さ記述子を持たない構造体の要素ではない可変長文字列を書き込みます。 書き込まれたバイト数は、文字列内の文字数と等しくなります。 たとえば、次のステートメントでは、ファイル番号 1 に 11 バイトが書き込まれます。Dim hellow As String = "Hello World" FilePut(1, hellow)
関数を使用してファイルに
FilePut
書き込むには、 列挙からのアクセスがFileIOPermissionAccess必要Write
です。
こちらもご覧ください
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Visual Basic でのファイルへの書き込み
適用対象
FilePut(Int32, String, Int64, Boolean)
- ソース:
- FileSystem.vb
- ソース:
- FileSystem.vb
- ソース:
- FileSystem.vb
変数の内容をディスク上のファイルに書き込みます。 My
機能を使用すると、FilePut
よりもファイル I/O 処理の生産性とパフォーマンスが向上します。 詳細については、「FileSystem」を参照してください。
public static void FilePut (int FileNumber, string Value, long RecordNumber = -1, bool StringIsFixedLength = false);
static member FilePut : int * string * int64 * bool -> unit
Public Sub FilePut (FileNumber As Integer, Value As String, Optional RecordNumber As Long = -1, Optional StringIsFixedLength As Boolean = false)
パラメーター
- FileNumber
- Int32
必須です。 任意の有効なファイル数。
- Value
- String
必須です。 ディスクに書き込まれるデータを保持する有効な変数の名前。
- RecordNumber
- Int64
省略可能。 書き込みを始めるレコード番号 (Random
モードのファイル) またはバイト位置 (Binary
モードのファイル)。
- StringIsFixedLength
- Boolean
省略可能。 文字列を書き込む場合のみ適用します。 長さを表す文字列に対して 2 バイトの記述子を書き込むかどうかを指定します。 既定値は、False
です。
例外
RecordNumber
は < 1 で、-1 と等しくありません。
ファイル モードが無効です。
例
この例では、 関数を FilePut
使用してファイルにデータを書き込みます。 構造体 Person
の 5 つのレコードがファイルに書き込まれます。
Structure Person
Public ID As Integer
Public Name As String
End Structure
Sub WriteData()
Dim PatientRecord As Person
Dim recordNumber As Integer
' Open file for random access.
FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
' Loop 5 times.
For recordNumber = 1 To 5
' Define ID.
PatientRecord.ID = recordNumber
' Create a string.
PatientRecord.Name = "Name " & recordNumber
' Write record to file.
FilePut(1, PatientRecord)
Next recordNumber
FileClose(1)
End Sub
注釈
FilePut
は と Binary
モードでのみRandom
有効です。
FilePut
を使用して書き込まれたデータは通常、FileGet
を使用してファイルから読み込まれます。
ファイル内の最初のレコードまたはバイトは 1 番目の位置にあり、2 番目のレコードまたはバイトは 2 番目の位置にあります。 を省略 RecordNumber
すると、最後または関数 FileGet
の後の次のレコードまたはバイト、または FilePut
最後 Seek
の関数が指すバイトが書き込まれます。
引数は StringIsFixedLength
、関数が文字列を可変長または固定長として解釈するかどうかを制御します。 FilePut
引数が の場合、長さ記述子は True
書き込まれません。 で FilePut
を使用StringIsFixedLength
= True
する場合は、 でFileGet
同じ操作を行う必要があります。また、文字列が予想される長さに初期化されていることを確認する必要があります。
ランダム モード
モードで開かれたファイルの Random
場合は、次の規則が適用されます。
書き込まれるデータの長さが関数の 句で
RecordLength
指定された長さより短い場合、FilePut
後続のFileOpen
レコードはレコード長境界に書き込まれます。 1 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコード長を書き込むデータの長さと一致することをお勧めします。 書き込まれるデータの長さが関数の 句FileOpen
でRecordLength
指定された長さを超える場合は、例外がスローされます。書き込まれる変数が文字列の場合は、
FilePut
文字列の長さを含む 2 バイト記述子を書き込み、変数に入るデータを書き込みます。 したがって、関数の 句でRecordLength
指定されるレコード長は、文字列のFileOpen
実際の長さよりも少なくとも 2 バイト大きくする必要があります。書き込まれる変数が数値型を含むオブジェクトの場合は、
FilePut
オブジェクトの を識別するVarType
2 バイトを書き込み、変数を書き込みます。 たとえば、整数を含むオブジェクトを書き込む場合、FilePut
6 バイト (オブジェクトを (Integer
) としてVarType(3)
識別する 2 バイトと、データを含む 4 バイトを書き込みます。 関数の パラメーターでRecordLength
指定されるレコード長は、変数のFileOpen
格納に必要な実際のバイト数より少なくとも 2 バイト大きくする必要があります。書き込まれる変数が文字列を含むオブジェクトの場合は、
FilePut
オブジェクトの を識別するVarType(8)
2 バイト記述子、文字列の長さを示す 2 バイト記述子を書き込み、文字列データを書き込みます。 関数の パラメーターでRecordLength
指定されるレコード長は、文字列のFileOpen
実際の長さより少なくとも 4 バイト大きくする必要があります。 記述子を使用せずに文字列を配置する場合は、 パラメーターにを渡True
すStringIsFixedLength
必要があります。読み取り先の文字列は正しい長さである必要があります。書き込まれる変数が配列の場合は、配列のサイズと次元の記述子を書き込むかどうかを選択できます。 Visual Basic 6.0 以前のバージョンでは、動的配列のファイル記述子が書き込まれますが、固定サイズの配列の場合は書き込まれません。 Visual Basic 2005 では、既定で記述子が書き込まれません。 記述子を書き込むには、 パラメーターを
ArrayIsDynamic
にTrue
設定します。 配列を書き込むときは、配列の読み取り方法と一致する必要があります。記述子で読み取られる場合は、記述子を記述する必要があります。 記述子は、配列のランク、サイズ、各ランクの下限を指定します。 その長さは、次元数の 8 倍に 2 を加えた値です (2 + 8 * NumberOfDimensions)。 関数の 句でRecordLength
FileOpen
指定されるレコード長は、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。 たとえば、次の配列宣言では、配列がディスクに書き込まれるときに 218 バイトが必要です。Dim MyArray(4, 9) As Integer
書き込まれる変数が他の型の変数である場合 (可変長文字列やオブジェクトではありません)
FilePut
、変数データのみを書き込みます。 関数の 句でRecordLength
FileOpen
指定されるレコード長は、書き込まれるデータの長さ以上である必要があります。FilePut
は、要素間にパディングがない点を除き、構造体の要素をそれぞれ個別に書き込むかのように書き込みます。 属性はVBFixedString
、 構造体の文字列フィールドに適用して、ディスクに書き込まれるときに文字列のサイズを示すことができます。注意
属性で
VBFixedString
指定されたバイト数より多い文字列フィールドは、ディスクに書き込まれると切り捨てられます。
バイナリ モード
モードで開かれたファイルの Binary
場合、ほとんどのモード ルールが Random
適用され、一部の例外があります。 モードで開かれたファイルの次の Binary
規則は、モードの規則 Random
とは異なります。
RecordLength
関数のFileOpen
句は無効です。FilePut
は、すべての変数を連続してディスクに書き込みます。つまり、レコード間の埋め込みは行われません。構造体内の配列以外の配列の場合は、
FilePut
データのみを書き込みます。 記述子は書き込まれない。FilePut
は、2 バイトの長さ記述子を持たない構造体の要素ではない可変長文字列を書き込みます。 書き込まれたバイト数は、文字列内の文字数と等しくなります。 たとえば、次のステートメントでは、ファイル番号 1 に 11 バイトが書き込まれます。Dim hellow As String = "Hello World" FilePut(1, hellow)
関数を使用してファイルに
FilePut
書き込むには、 列挙からのアクセスがFileIOPermissionAccess必要Write
です。
こちらもご覧ください
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Visual Basic でのファイルへの書き込み
適用対象
FilePut(Object, Object, Object)
- ソース:
- FileSystem.vb
- ソース:
- FileSystem.vb
- ソース:
- FileSystem.vb
注意事項
This member has been deprecated. Please use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types. http://go.microsoft.com/fwlink/?linkid=14202
注意事項
FileSystem.FilePut has been deprecated. Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types.
注意事項
Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types
変数の内容をディスク上のファイルに書き込みます。 My
機能を使用すると、FilePut
よりもファイル I/O 処理の生産性とパフォーマンスが向上します。 詳細については、「FileSystem」を参照してください。
public:
static void FilePut(System::Object ^ FileNumber, System::Object ^ Value, System::Object ^ RecordNumber);
[System.Obsolete("This member has been deprecated. Please use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types. http://go.microsoft.com/fwlink/?linkid=14202")]
public static void FilePut (object FileNumber, object Value, object RecordNumber);
[System.Obsolete("FileSystem.FilePut has been deprecated. Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types.")]
public static void FilePut (object FileNumber, object Value, object RecordNumber);
[System.Obsolete("Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types")]
public static void FilePut (object FileNumber, object Value, object RecordNumber = -1);
[System.Obsolete("This member has been deprecated. Please use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types. http://go.microsoft.com/fwlink/?linkid=14202")]
public static void FilePut (object FileNumber, object Value, object RecordNumber = -1);
[<System.Obsolete("This member has been deprecated. Please use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types. http://go.microsoft.com/fwlink/?linkid=14202")>]
static member FilePut : obj * obj * obj -> unit
[<System.Obsolete("FileSystem.FilePut has been deprecated. Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types.")>]
static member FilePut : obj * obj * obj -> unit
[<System.Obsolete("Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types")>]
static member FilePut : obj * obj * obj -> unit
Public Sub FilePut (FileNumber As Object, Value As Object, RecordNumber As Object)
Public Sub FilePut (FileNumber As Object, Value As Object, Optional RecordNumber As Object = -1)
パラメーター
- FileNumber
- Object
必須です。 任意の有効なファイル数。
- Value
- Object
必須です。 ディスクに書き込まれるデータを保持する有効な変数の名前。
- RecordNumber
- Object
省略可能。 書き込みを始めるレコード番号 (Random
モードのファイル) またはバイト位置 (Binary
モードのファイル)。
- 属性
例外
RecordNumber
は < 1 で、-1 と等しくありません。
ファイル モードが無効です。
例
この例では、 関数を FilePut
使用してファイルにデータを書き込みます。 構造体 Person
の 5 つのレコードがファイルに書き込まれます。
Structure Person
Public ID As Integer
Public Name As String
End Structure
Sub WriteData()
Dim PatientRecord As Person
Dim recordNumber As Integer
' Open file for random access.
FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
' Loop 5 times.
For recordNumber = 1 To 5
' Define ID.
PatientRecord.ID = recordNumber
' Create a string.
PatientRecord.Name = "Name " & recordNumber
' Write record to file.
FilePut(1, PatientRecord)
Next recordNumber
FileClose(1)
End Sub
注釈
FilePut
は と Binary
モードでのみRandom
有効です。
FilePut
を使用して書き込まれたデータは通常、FileGet
を使用してファイルから読み込まれます。
ファイル内の最初のレコードまたはバイトは 1 番目の位置にあり、2 番目のレコードまたはバイトは 2 番目の位置にあります。 を省略 RecordNumber
すると、最後または関数 FileGet
の後の次のレコードまたはバイト、または FilePut
最後 Seek
の関数が指すバイトが書き込まれます。
引数は StringIsFixedLength
、関数が文字列を可変長または固定長として解釈するかどうかを制御します。 FilePut
引数が の場合、長さ記述子は True
書き込まれません。 で FilePut
を使用StringIsFixedLength
= True
する場合は、 でFileGet
同じ操作を行う必要があります。また、文字列が予想される長さに初期化されていることを確認する必要があります。
ランダム モード
モードで開かれたファイルの Random
場合は、次の規則が適用されます。
書き込まれるデータの長さが関数の 句で
RecordLength
指定された長さより短い場合、FilePut
後続のFileOpen
レコードはレコード長境界に書き込まれます。 1 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコード長を書き込むデータの長さと一致することをお勧めします。 書き込まれるデータの長さが関数の 句FileOpen
でRecordLength
指定された長さを超える場合は、例外がスローされます。書き込まれる変数が文字列の場合は、
FilePut
文字列の長さを含む 2 バイト記述子を書き込み、変数に入るデータを書き込みます。 したがって、関数の 句でRecordLength
指定されるレコード長は、文字列のFileOpen
実際の長さよりも少なくとも 2 バイト大きくする必要があります。書き込まれる変数が数値型を含むオブジェクトの場合は、
FilePut
オブジェクトの を識別するVarType
2 バイトを書き込み、変数を書き込みます。 たとえば、整数を含むオブジェクトを書き込む場合、FilePut
6 バイト (オブジェクトを (Integer
) としてVarType(3)
識別する 2 バイトと、データを含む 4 バイトを書き込みます。 関数の パラメーターでRecordLength
指定されるレコード長は、変数のFileOpen
格納に必要な実際のバイト数より少なくとも 2 バイト大きくする必要があります。書き込まれる変数が文字列を含むオブジェクトの場合は、
FilePut
オブジェクトの を識別するVarType(8)
2 バイト記述子、文字列の長さを示す 2 バイト記述子を書き込み、文字列データを書き込みます。 関数の パラメーターでRecordLength
指定されるレコード長は、文字列のFileOpen
実際の長さより少なくとも 4 バイト大きくする必要があります。 記述子を使用せずに文字列を配置する場合は、 パラメーターにを渡True
すStringIsFixedLength
必要があります。読み取り先の文字列は正しい長さである必要があります。書き込まれる変数が配列の場合は、配列のサイズと次元の記述子を書き込むかどうかを選択できます。 Visual Basic 6.0 以前のバージョンでは、動的配列のファイル記述子が書き込まれますが、固定サイズの配列の場合は書き込まれません。 Visual Basic 2005 では、既定で記述子が書き込まれません。 記述子を書き込むには、 パラメーターを
ArrayIsDynamic
にTrue
設定します。 配列を書き込むときは、配列の読み取り方法と一致する必要があります。記述子で読み取られる場合は、記述子を記述する必要があります。 記述子は、配列のランク、サイズ、各ランクの下限を指定します。 その長さは、次元数の 8 倍に 2 を加えた値です (2 + 8 * NumberOfDimensions)。 関数の 句でRecordLength
FileOpen
指定されるレコード長は、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。 たとえば、次の配列宣言では、配列がディスクに書き込まれるときに 218 バイトが必要です。Dim MyArray(4, 9) As Integer
書き込まれる変数が他の型の変数である場合 (可変長文字列やオブジェクトではありません)
FilePut
、変数データのみを書き込みます。 関数の 句でRecordLength
FileOpen
指定されるレコード長は、書き込まれるデータの長さ以上である必要があります。FilePut
は、要素間にパディングがない点を除き、構造体の要素をそれぞれ個別に書き込むかのように書き込みます。 属性はVBFixedString
、 構造体の文字列フィールドに適用して、ディスクに書き込まれるときに文字列のサイズを示すことができます。注意
属性で
VBFixedString
指定されたバイト数より多い文字列フィールドは、ディスクに書き込まれると切り捨てられます。
バイナリ モード
モードで開かれたファイルの Binary
場合、ほとんどのモード ルールが Random
適用され、一部の例外があります。 モードで開かれたファイルの次の Binary
規則は、モードの規則 Random
とは異なります。
RecordLength
関数のFileOpen
句は無効です。FilePut
は、すべての変数を連続してディスクに書き込みます。つまり、レコード間の埋め込みは行われません。構造体内の配列以外の配列の場合は、
FilePut
データのみを書き込みます。 記述子は書き込まれない。FilePut
は、2 バイトの長さ記述子を持たない構造体の要素ではない可変長文字列を書き込みます。 書き込まれたバイト数は、文字列内の文字数と等しくなります。 たとえば、次のステートメントでは、ファイル番号 1 に 11 バイトが書き込まれます。Dim hellow As String = "Hello World" FilePut(1, hellow)
関数を使用してファイルに
FilePut
書き込むには、 列挙からのアクセスがFileIOPermissionAccess必要Write
です。
こちらもご覧ください
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Visual Basic でのファイルへの書き込み
適用対象
FilePut(Int32, ValueType, Int64)
- ソース:
- FileSystem.vb
- ソース:
- FileSystem.vb
- ソース:
- FileSystem.vb
変数の内容をディスク上のファイルに書き込みます。 My
機能を使用すると、FilePut
よりもファイル I/O 処理の生産性とパフォーマンスが向上します。 詳細については、「FileSystem」を参照してください。
public static void FilePut (int FileNumber, ValueType Value, long RecordNumber = -1);
static member FilePut : int * ValueType * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As ValueType, Optional RecordNumber As Long = -1)
パラメーター
- FileNumber
- Int32
必須です。 任意の有効なファイル数。
- Value
- ValueType
必須です。 ディスクに書き込まれるデータを保持する有効な変数の名前。
- RecordNumber
- Int64
省略可能。 書き込みを始めるレコード番号 (Random
モードのファイル) またはバイト位置 (Binary
モードのファイル)。
例外
RecordNumber
は < 1 で、-1 と等しくありません。
ファイル モードが無効です。
例
この例では、 関数を FilePut
使用してファイルにデータを書き込みます。 構造体 Person
の 5 つのレコードがファイルに書き込まれます。
Structure Person
Public ID As Integer
Public Name As String
End Structure
Sub WriteData()
Dim PatientRecord As Person
Dim recordNumber As Integer
' Open file for random access.
FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
' Loop 5 times.
For recordNumber = 1 To 5
' Define ID.
PatientRecord.ID = recordNumber
' Create a string.
PatientRecord.Name = "Name " & recordNumber
' Write record to file.
FilePut(1, PatientRecord)
Next recordNumber
FileClose(1)
End Sub
注釈
FilePut
は と Binary
モードでのみRandom
有効です。
FilePut
を使用して書き込まれたデータは通常、FileGet
を使用してファイルから読み込まれます。
ファイル内の最初のレコードまたはバイトは 1 番目の位置にあり、2 番目のレコードまたはバイトは 2 番目の位置にあります。 を省略 RecordNumber
すると、最後または関数 FileGet
の後の次のレコードまたはバイト、または FilePut
最後 Seek
の関数が指すバイトが書き込まれます。
引数は StringIsFixedLength
、関数が文字列を可変長または固定長として解釈するかどうかを制御します。 FilePut
引数が の場合、長さ記述子は True
書き込まれません。 で FilePut
を使用StringIsFixedLength
= True
する場合は、 でFileGet
同じ操作を行う必要があります。また、文字列が予想される長さに初期化されていることを確認する必要があります。
ランダム モード
モードで開かれたファイルの Random
場合は、次の規則が適用されます。
書き込まれるデータの長さが関数の 句で
RecordLength
指定された長さより短い場合、FilePut
後続のFileOpen
レコードはレコード長境界に書き込まれます。 1 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコード長を書き込むデータの長さと一致することをお勧めします。 書き込まれるデータの長さが関数の 句FileOpen
でRecordLength
指定された長さを超える場合は、例外がスローされます。書き込まれる変数が文字列の場合は、
FilePut
文字列の長さを含む 2 バイト記述子を書き込み、変数に入るデータを書き込みます。 したがって、関数の 句でRecordLength
指定されるレコード長は、文字列のFileOpen
実際の長さよりも少なくとも 2 バイト大きくする必要があります。書き込まれる変数が数値型を含むオブジェクトの場合は、
FilePut
オブジェクトの を識別するVarType
2 バイトを書き込み、変数を書き込みます。 たとえば、整数を含むオブジェクトを書き込む場合、FilePut
6 バイト (オブジェクトを (Integer
) としてVarType(3)
識別する 2 バイトと、データを含む 4 バイトを書き込みます。 関数の パラメーターでRecordLength
指定されるレコード長は、変数のFileOpen
格納に必要な実際のバイト数より少なくとも 2 バイト大きくする必要があります。書き込まれる変数が文字列を含むオブジェクトの場合は、
FilePut
オブジェクトの を識別するVarType(8)
2 バイト記述子、文字列の長さを示す 2 バイト記述子を書き込み、文字列データを書き込みます。 関数の パラメーターでRecordLength
指定されるレコード長は、文字列のFileOpen
実際の長さより少なくとも 4 バイト大きくする必要があります。 記述子を使用せずに文字列を配置する場合は、 パラメーターにを渡True
すStringIsFixedLength
必要があります。読み取り先の文字列は正しい長さである必要があります。書き込まれる変数が配列の場合は、配列のサイズと次元の記述子を書き込むかどうかを選択できます。 Visual Basic 6.0 以前のバージョンでは、動的配列のファイル記述子が書き込まれますが、固定サイズの配列の場合は書き込まれません。 Visual Basic 2005 では、既定で記述子が書き込まれません。 記述子を書き込むには、 パラメーターを
ArrayIsDynamic
にTrue
設定します。 配列を書き込むときは、配列の読み取り方法と一致する必要があります。記述子で読み取られる場合は、記述子を記述する必要があります。 記述子は、配列のランク、サイズ、各ランクの下限を指定します。 その長さは、次元数の 8 倍に 2 を加えた値です (2 + 8 * NumberOfDimensions)。 関数の 句でRecordLength
FileOpen
指定されるレコード長は、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。 たとえば、次の配列宣言では、配列がディスクに書き込まれるときに 218 バイトが必要です。Dim MyArray(4, 9) As Integer
書き込まれる変数が他の型の変数である場合 (可変長文字列やオブジェクトではありません)
FilePut
、変数データのみを書き込みます。 関数の 句でRecordLength
FileOpen
指定されるレコード長は、書き込まれるデータの長さ以上である必要があります。FilePut
は、要素間にパディングがない点を除き、構造体の要素をそれぞれ個別に書き込むかのように書き込みます。 属性はVBFixedString
、 構造体の文字列フィールドに適用して、ディスクに書き込まれるときに文字列のサイズを示すことができます。注意
属性で
VBFixedString
指定されたバイト数より多い文字列フィールドは、ディスクに書き込まれると切り捨てられます。
バイナリ モード
モードで開かれたファイルの Binary
場合、ほとんどのモード ルールが Random
適用され、一部の例外があります。 モードで開かれたファイルの次の Binary
規則は、モードの規則 Random
とは異なります。
RecordLength
関数のFileOpen
句は無効です。FilePut
は、すべての変数を連続してディスクに書き込みます。つまり、レコード間の埋め込みは行われません。構造体内の配列以外の配列の場合は、
FilePut
データのみを書き込みます。 記述子は書き込まれない。FilePut
は、2 バイトの長さ記述子を持たない構造体の要素ではない可変長文字列を書き込みます。 書き込まれたバイト数は、文字列内の文字数と等しくなります。 たとえば、次のステートメントでは、ファイル番号 1 に 11 バイトが書き込まれます。Dim hellow As String = "Hello World" FilePut(1, hellow)
関数を使用してファイルに
FilePut
書き込むには、 列挙からのアクセスがFileIOPermissionAccess必要Write
です。
こちらもご覧ください
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Visual Basic でのファイルへの書き込み
適用対象
FilePut(Int32, Single, Int64)
- ソース:
- FileSystem.vb
- ソース:
- FileSystem.vb
- ソース:
- FileSystem.vb
変数の内容をディスク上のファイルに書き込みます。 My
機能を使用すると、FilePut
よりもファイル I/O 処理の生産性とパフォーマンスが向上します。 詳細については、「FileSystem」を参照してください。
public static void FilePut (int FileNumber, float Value, long RecordNumber = -1);
static member FilePut : int * single * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As Single, Optional RecordNumber As Long = -1)
パラメーター
- FileNumber
- Int32
必須です。 任意の有効なファイル数。
- Value
- Single
必須です。 ディスクに書き込まれるデータを保持する有効な変数の名前。
- RecordNumber
- Int64
省略可能。 書き込みを始めるレコード番号 (Random
モードのファイル) またはバイト位置 (Binary
モードのファイル)。
例外
RecordNumber
は < 1 で、-1 と等しくありません。
ファイル モードが無効です。
例
この例では、 関数を FilePut
使用してファイルにデータを書き込みます。 構造体 Person
の 5 つのレコードがファイルに書き込まれます。
Structure Person
Public ID As Integer
Public Name As String
End Structure
Sub WriteData()
Dim PatientRecord As Person
Dim recordNumber As Integer
' Open file for random access.
FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
' Loop 5 times.
For recordNumber = 1 To 5
' Define ID.
PatientRecord.ID = recordNumber
' Create a string.
PatientRecord.Name = "Name " & recordNumber
' Write record to file.
FilePut(1, PatientRecord)
Next recordNumber
FileClose(1)
End Sub
注釈
FilePut
は と Binary
モードでのみRandom
有効です。
FilePut
を使用して書き込まれたデータは通常、FileGet
を使用してファイルから読み込まれます。
ファイル内の最初のレコードまたはバイトは 1 番目の位置にあり、2 番目のレコードまたはバイトは 2 番目の位置にあります。 を省略 RecordNumber
すると、最後または関数 FileGet
の後の次のレコードまたはバイト、または FilePut
最後 Seek
の関数が指すバイトが書き込まれます。
引数は StringIsFixedLength
、関数が文字列を可変長または固定長として解釈するかどうかを制御します。 FilePut
引数が の場合、長さ記述子は True
書き込まれません。 で FilePut
を使用StringIsFixedLength
= True
する場合は、 でFileGet
同じ操作を行う必要があります。また、文字列が予想される長さに初期化されていることを確認する必要があります。
ランダム モード
モードで開かれたファイルの Random
場合は、次の規則が適用されます。
書き込まれるデータの長さが関数の 句で
RecordLength
指定された長さより短い場合、FilePut
後続のFileOpen
レコードはレコード長境界に書き込まれます。 1 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコード長を書き込むデータの長さと一致することをお勧めします。 書き込まれるデータの長さが関数の 句FileOpen
でRecordLength
指定された長さを超える場合は、例外がスローされます。書き込まれる変数が文字列の場合は、
FilePut
文字列の長さを含む 2 バイト記述子を書き込み、変数に入るデータを書き込みます。 したがって、関数の 句でRecordLength
指定されるレコード長は、文字列のFileOpen
実際の長さよりも少なくとも 2 バイト大きくする必要があります。書き込まれる変数が数値型を含むオブジェクトの場合は、
FilePut
オブジェクトの を識別するVarType
2 バイトを書き込み、変数を書き込みます。 たとえば、整数を含むオブジェクトを書き込む場合、FilePut
6 バイト (オブジェクトを (Integer
) としてVarType(3)
識別する 2 バイトと、データを含む 4 バイトを書き込みます。 関数の パラメーターでRecordLength
指定されるレコード長は、変数のFileOpen
格納に必要な実際のバイト数より少なくとも 2 バイト大きくする必要があります。書き込まれる変数が文字列を含むオブジェクトの場合は、
FilePut
オブジェクトの を識別するVarType(8)
2 バイト記述子、文字列の長さを示す 2 バイト記述子を書き込み、文字列データを書き込みます。 関数の パラメーターでRecordLength
指定されるレコード長は、文字列のFileOpen
実際の長さより少なくとも 4 バイト大きくする必要があります。 記述子を使用せずに文字列を配置する場合は、 パラメーターにを渡True
すStringIsFixedLength
必要があります。読み取り先の文字列は正しい長さである必要があります。書き込まれる変数が配列の場合は、配列のサイズと次元の記述子を書き込むかどうかを選択できます。 Visual Basic 6.0 以前のバージョンでは、動的配列のファイル記述子が書き込まれますが、固定サイズの配列の場合は書き込まれません。 Visual Basic 2005 では、既定で記述子が書き込まれません。 記述子を書き込むには、 パラメーターを
ArrayIsDynamic
にTrue
設定します。 配列を書き込むときは、配列の読み取り方法と一致する必要があります。記述子で読み取られる場合は、記述子を記述する必要があります。 記述子は、配列のランク、サイズ、各ランクの下限を指定します。 その長さは、次元数の 8 倍に 2 を加えた値です (2 + 8 * NumberOfDimensions)。 関数の 句でRecordLength
FileOpen
指定されるレコード長は、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。 たとえば、次の配列宣言では、配列がディスクに書き込まれるときに 218 バイトが必要です。Dim MyArray(4, 9) As Integer
書き込まれる変数が他の型の変数である場合 (可変長文字列やオブジェクトではありません)
FilePut
、変数データのみを書き込みます。 関数の 句でRecordLength
FileOpen
指定されるレコード長は、書き込まれるデータの長さ以上である必要があります。FilePut
は、要素間にパディングがない点を除き、構造体の要素をそれぞれ個別に書き込むかのように書き込みます。 属性はVBFixedString
、 構造体の文字列フィールドに適用して、ディスクに書き込まれるときに文字列のサイズを示すことができます。注意
属性で
VBFixedString
指定されたバイト数より多い文字列フィールドは、ディスクに書き込まれると切り捨てられます。
バイナリ モード
モードで開かれたファイルの Binary
場合、ほとんどのモード ルールが Random
適用され、一部の例外があります。 モードで開かれたファイルの次の Binary
規則は、モードの規則 Random
とは異なります。
RecordLength
関数のFileOpen
句は無効です。FilePut
は、すべての変数を連続してディスクに書き込みます。つまり、レコード間の埋め込みは行われません。構造体内の配列以外の配列の場合は、
FilePut
データのみを書き込みます。 記述子は書き込まれない。FilePut
は、2 バイトの長さ記述子を持たない構造体の要素ではない可変長文字列を書き込みます。 書き込まれたバイト数は、文字列内の文字数と等しくなります。 たとえば、次のステートメントでは、ファイル番号 1 に 11 バイトが書き込まれます。Dim hellow As String = "Hello World" FilePut(1, hellow)
関数を使用してファイルに
FilePut
書き込むには、 列挙からのアクセスがFileIOPermissionAccess必要Write
です。
こちらもご覧ください
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Visual Basic でのファイルへの書き込み
適用対象
FilePut(Int32, Int32, Int64)
- ソース:
- FileSystem.vb
- ソース:
- FileSystem.vb
- ソース:
- FileSystem.vb
変数の内容をディスク上のファイルに書き込みます。 My
機能を使用すると、FilePut
よりもファイル I/O 処理の生産性とパフォーマンスが向上します。 詳細については、「FileSystem」を参照してください。
public static void FilePut (int FileNumber, int Value, long RecordNumber = -1);
static member FilePut : int * int * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As Integer, Optional RecordNumber As Long = -1)
パラメーター
- FileNumber
- Int32
必須です。 任意の有効なファイル数。
- Value
- Int32
必須です。 ディスクに書き込まれるデータを保持する有効な変数の名前。
- RecordNumber
- Int64
省略可能。 書き込みを始めるレコード番号 (Random
モードのファイル) またはバイト位置 (Binary
モードのファイル)。
例外
RecordNumber
は < 1 で、-1 と等しくありません。
ファイル モードが無効です。
例
この例では、 関数を FilePut
使用してファイルにデータを書き込みます。 構造体 Person
の 5 つのレコードがファイルに書き込まれます。
Structure Person
Public ID As Integer
Public Name As String
End Structure
Sub WriteData()
Dim PatientRecord As Person
Dim recordNumber As Integer
' Open file for random access.
FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
' Loop 5 times.
For recordNumber = 1 To 5
' Define ID.
PatientRecord.ID = recordNumber
' Create a string.
PatientRecord.Name = "Name " & recordNumber
' Write record to file.
FilePut(1, PatientRecord)
Next recordNumber
FileClose(1)
End Sub
注釈
FilePut
は および Binary
モードでのみRandom
有効です。
FilePut
を使用して書き込まれたデータは通常、FileGet
を使用してファイルから読み込まれます。
ファイル内の最初のレコードまたはバイトは 1 番目の位置にあり、2 番目のレコードまたはバイトは 2 番目の位置にあります。 を省略RecordNumber
した場合、最後または最後の関数の後、または最後FileGet
Seek
の関数が指す次のレコードまたはFilePut
バイトが書き込まれます。
引数は StringIsFixedLength
、関数が文字列を変数または固定長として解釈するかどうかを制御します。 FilePut
引数が の場合、長さ記述子は True
書き込まれません。 で FilePut
を使用StringIsFixedLength
= True
する場合は、 でFileGet
同じ操作を行う必要があり、文字列が予想される長さに初期化されていることを確認する必要があります。
ランダム モード
モードで開かれたファイルには Random
、次の規則が適用されます。
書き込まれるデータの長さが関数の 句で
RecordLength
指定された長さより短い場合、FilePut
後続のFileOpen
レコードはレコード長境界に書き込まれます。 1 つのレコードの終わりと次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコード長が書き込まれるデータの長さと一致するようにすることをお勧めします。 書き込まれるデータの長さが関数の 句FileOpen
でRecordLength
指定された長さを超える場合は、例外がスローされます。書き込まれる変数が文字列の場合は、
FilePut
文字列の長さを含む 2 バイト記述子を書き込み、変数に入るデータを書き込みます。 したがって、関数の 句でRecordLength
FileOpen
指定されるレコード長は、文字列の実際の長さより少なくとも 2 バイト大きくする必要があります。書き込まれる変数が数値型を含むオブジェクトの場合は、
FilePut
オブジェクトの をVarType
識別する 2 バイトを書き込み、変数を書き込みます。 たとえば、整数を含むオブジェクトを書き込む場合、FilePut
6 バイト (オブジェクトを (Integer
) としてVarType(3)
識別する 2 バイトと、データを含む 4 バイトを書き込みます。 関数の パラメーターでRecordLength
指定されるレコード長は、変数のFileOpen
格納に必要な実際のバイト数より少なくとも 2 バイト大きくする必要があります。書き込まれる変数が文字列を含むオブジェクトの場合は、
FilePut
オブジェクトの を識別するVarType(8)
2 バイト記述子、文字列の長さを示す 2 バイト記述子を書き込み、文字列データを書き込みます。 関数の パラメーターでRecordLength
指定されるレコード長は、文字列のFileOpen
実際の長さより少なくとも 4 バイト大きくする必要があります。 記述子を使用せずに文字列を配置する場合は、 パラメーターに を渡True
すStringIsFixedLength
必要があります。読み取った文字列は正しい長さである必要があります。書き込まれる変数が配列の場合は、配列のサイズと次元の記述子を記述するかどうかを選択できます。 Visual Basic 6.0 以前のバージョンでは、動的配列のファイル記述子が書き込まれますが、固定サイズ配列の場合は書き込まれません。 Visual Basic 2005 の既定では、記述子は書き込まれません。 記述子を書き込むには、 パラメーターを
ArrayIsDynamic
にTrue
設定します。 配列を書き込むときは、配列の読み取り方法と一致する必要があります。記述子で読み取られる場合は、記述子を記述する必要があります。 記述子は、配列のランク、サイズ、および各ランクの下限を指定します。 その長さは、2 に 8 倍の次元数と等しくなります (2 + 8 * NumberOfDimensions)。 関数のFileOpen
句でRecordLength
指定されるレコード長は、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。 たとえば、次の配列宣言では、配列がディスクに書き込まれるときに 218 バイトが必要です。Dim MyArray(4, 9) As Integer
書き込まれる変数が他の型の変数 (可変長文字列やオブジェクトではない)
FilePut
である場合は、変数データのみを書き込みます。 関数のFileOpen
句でRecordLength
指定されるレコード長は、書き込まれるデータの長さ以上である必要があります。FilePut
は、要素間にパディングがない点を除き、それぞれが個別に書き込まれたかのように構造体の要素を書き込みます。 属性はVBFixedString
、構造体内の文字列フィールドに適用して、ディスクに書き込まれるときに文字列のサイズを示すことができます。注意
属性で
VBFixedString
指定されたバイト数を超える文字列フィールドは、ディスクに書き込まれると切り捨てられます。
バイナリ モード
モードで開かれたファイルの Binary
場合、ほとんどのモード ルールが Random
適用され、一部の例外があります。 モードで開かれたファイルに関する次の Binary
規則は、モードの規則 Random
とは異なります。
RecordLength
関数のFileOpen
句は効果がありません。FilePut
は、すべての変数を連続してディスクに書き込みます。つまり、レコード間のパディングは行われません。構造体内の配列以外の配列の場合は、
FilePut
データのみを書き込みます。 記述子は書き込まれない。FilePut
は、2 バイトの長さ記述子を持たない構造体の要素ではない可変長文字列を書き込みます。 書き込まれたバイト数は、文字列内の文字数と等しくなります。 たとえば、次のステートメントでは、ファイル番号 1 に 11 バイトが書き込まれます。Dim hellow As String = "Hello World" FilePut(1, hellow)
関数を使用してファイルに書き込むには、
FilePut
列挙からのアクセスがFileIOPermissionAccess必要Write
です。
こちらもご覧ください
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Visual Basic でのファイルへの書き込み
適用対象
FilePut(Int32, Array, Int64, Boolean, Boolean)
- ソース:
- FileSystem.vb
- ソース:
- FileSystem.vb
- ソース:
- FileSystem.vb
変数の内容をディスク上のファイルに書き込みます。 My
機能を使用すると、FilePut
よりもファイル I/O 処理の生産性とパフォーマンスが向上します。 詳細については、「FileSystem」を参照してください。
public static void FilePut (int FileNumber, Array Value, long RecordNumber = -1, bool ArrayIsDynamic = false, bool StringIsFixedLength = false);
static member FilePut : int * Array * int64 * bool * bool -> unit
Public Sub FilePut (FileNumber As Integer, Value As Array, Optional RecordNumber As Long = -1, Optional ArrayIsDynamic As Boolean = false, Optional StringIsFixedLength As Boolean = false)
パラメーター
- FileNumber
- Int32
必須です。 任意の有効なファイル数。
- Value
- Array
必須です。 ディスクに書き込まれるデータを保持する有効な変数の名前。
- RecordNumber
- Int64
省略可能。 書き込みを始めるレコード番号 (Random
モードのファイル) またはバイト位置 (Binary
モードのファイル)。
- ArrayIsDynamic
- Boolean
省略可能。 文字列を書き込む場合のみ適用します。 配列を動的として扱うかどうか、および長さを表す文字列の配列記述子を書き込むかどうかを指定します。
- StringIsFixedLength
- Boolean
省略可能。 文字列を書き込む場合のみ適用します。 長さを表す文字列に対して 2 バイトの記述子を書き込むかどうかを指定します。 既定値は、False
です。
例外
RecordNumber
は < 1 で、-1 と等しくありません。
ファイル モードが無効です。
例
この例では、 関数を FilePut
使用してファイルにデータを書き込みます。 構造体 Person
の 5 つのレコードがファイルに書き込まれます。
Structure Person
Public ID As Integer
Public Name As String
End Structure
Sub WriteData()
Dim PatientRecord As Person
Dim recordNumber As Integer
' Open file for random access.
FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
' Loop 5 times.
For recordNumber = 1 To 5
' Define ID.
PatientRecord.ID = recordNumber
' Create a string.
PatientRecord.Name = "Name " & recordNumber
' Write record to file.
FilePut(1, PatientRecord)
Next recordNumber
FileClose(1)
End Sub
注釈
FilePut
は および Binary
モードでのみRandom
有効です。
FilePut
を使用して書き込まれたデータは通常、FileGet
を使用してファイルから読み込まれます。
ファイル内の最初のレコードまたはバイトは 1 番目の位置にあり、2 番目のレコードまたはバイトは 2 番目の位置にあります。 を省略RecordNumber
した場合、最後または最後の関数の後、または最後FileGet
Seek
の関数が指す次のレコードまたはFilePut
バイトが書き込まれます。
引数は StringIsFixedLength
、関数が文字列を変数または固定長として解釈するかどうかを制御します。 FilePut
引数が の場合、長さ記述子は True
書き込まれません。 で FilePut
を使用StringIsFixedLength
= True
する場合は、 でFileGet
同じ操作を行う必要があり、文字列が予想される長さに初期化されていることを確認する必要があります。
ランダム モード
モードで開かれたファイルには Random
、次の規則が適用されます。
書き込まれるデータの長さが関数の 句で
RecordLength
指定された長さより短い場合、FilePut
後続のFileOpen
レコードはレコード長境界に書き込まれます。 1 つのレコードの終わりと次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコード長が書き込まれるデータの長さと一致するようにすることをお勧めします。 書き込まれるデータの長さが関数の 句FileOpen
でRecordLength
指定された長さを超える場合は、例外がスローされます。書き込まれる変数が文字列の場合は、
FilePut
文字列の長さを含む 2 バイト記述子を書き込み、変数に入るデータを書き込みます。 したがって、関数の 句でRecordLength
FileOpen
指定されるレコード長は、文字列の実際の長さより少なくとも 2 バイト大きくする必要があります。書き込まれる変数が数値型を含むオブジェクトの場合は、
FilePut
オブジェクトの をVarType
識別する 2 バイトを書き込み、変数を書き込みます。 たとえば、整数を含むオブジェクトを書き込む場合、FilePut
6 バイト (オブジェクトを (Integer
) としてVarType(3)
識別する 2 バイトと、データを含む 4 バイトを書き込みます。 関数の パラメーターでRecordLength
指定されるレコード長は、変数のFileOpen
格納に必要な実際のバイト数より少なくとも 2 バイト大きくする必要があります。書き込まれる変数が文字列を含むオブジェクトの場合は、
FilePut
オブジェクトの を識別するVarType(8)
2 バイト記述子、文字列の長さを示す 2 バイト記述子を書き込み、文字列データを書き込みます。 関数の パラメーターでRecordLength
指定されるレコード長は、文字列のFileOpen
実際の長さより少なくとも 4 バイト大きくする必要があります。 記述子を使用せずに文字列を配置する場合は、 パラメーターにを渡True
すStringIsFixedLength
必要があります。読み取り先の文字列は正しい長さである必要があります。書き込まれる変数が配列の場合は、配列のサイズと次元の記述子を書き込むかどうかを選択できます。 Visual Basic 6.0 以前のバージョンでは、動的配列のファイル記述子が書き込まれますが、固定サイズの配列の場合は書き込まれません。 Visual Basic 2005 では、既定で記述子が書き込まれません。 記述子を書き込むには、 パラメーターを
ArrayIsDynamic
にTrue
設定します。 配列を書き込むときは、配列の読み取り方法と一致する必要があります。記述子で読み取られる場合は、記述子を記述する必要があります。 記述子は、配列のランク、サイズ、各ランクの下限を指定します。 その長さは、次元数の 8 倍に 2 を加えた値です (2 + 8 * NumberOfDimensions)。 関数の 句でRecordLength
FileOpen
指定されるレコード長は、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。 たとえば、次の配列宣言では、配列がディスクに書き込まれるときに 218 バイトが必要です。Dim MyArray(4, 9) As Integer
書き込まれる変数が他の型の変数である場合 (可変長文字列やオブジェクトではありません)
FilePut
、変数データのみを書き込みます。 関数の 句でRecordLength
FileOpen
指定されるレコード長は、書き込まれるデータの長さ以上である必要があります。FilePut
は、要素間にパディングがない点を除き、構造体の要素をそれぞれ個別に書き込むかのように書き込みます。 属性はVBFixedString
、 構造体の文字列フィールドに適用して、ディスクに書き込まれるときに文字列のサイズを示すことができます。注意
属性で
VBFixedString
指定されたバイト数より多い文字列フィールドは、ディスクに書き込まれると切り捨てられます。
バイナリ モード
モードで開かれたファイルの Binary
場合、ほとんどのモード ルールが Random
適用され、一部の例外があります。 モードで開かれたファイルの次の Binary
規則は、モードの規則 Random
とは異なります。
RecordLength
関数のFileOpen
句は無効です。FilePut
は、すべての変数を連続してディスクに書き込みます。つまり、レコード間の埋め込みは行われません。構造体内の配列以外の配列の場合は、
FilePut
データのみを書き込みます。 記述子は書き込まれない。FilePut
は、2 バイトの長さ記述子を持たない構造体の要素ではない可変長文字列を書き込みます。 書き込まれたバイト数は、文字列内の文字数と等しくなります。 たとえば、次のステートメントでは、ファイル番号 1 に 11 バイトが書き込まれます。Dim hellow As String = "Hello World" FilePut(1, hellow)
関数を使用してファイルに
FilePut
書き込むには、 列挙からのアクセスがFileIOPermissionAccess必要Write
です。
こちらもご覧ください
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Visual Basic でのファイルへの書き込み
適用対象
FilePut(Int32, Double, Int64)
- ソース:
- FileSystem.vb
- ソース:
- FileSystem.vb
- ソース:
- FileSystem.vb
変数の内容をディスク上のファイルに書き込みます。 My
機能を使用すると、FilePut
よりもファイル I/O 処理の生産性とパフォーマンスが向上します。 詳細については、「FileSystem」を参照してください。
public static void FilePut (int FileNumber, double Value, long RecordNumber = -1);
static member FilePut : int * double * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As Double, Optional RecordNumber As Long = -1)
パラメーター
- FileNumber
- Int32
必須です。 任意の有効なファイル数。
- Value
- Double
必須です。 ディスクに書き込まれるデータを保持する有効な変数の名前。
- RecordNumber
- Int64
省略可能。 書き込みを始めるレコード番号 (Random
モードのファイル) またはバイト位置 (Binary
モードのファイル)。
例外
RecordNumber
は < 1 で、-1 と等しくありません。
ファイル モードが無効です。
例
この例では、 関数を FilePut
使用してファイルにデータを書き込みます。 構造体 Person
の 5 つのレコードがファイルに書き込まれます。
Structure Person
Public ID As Integer
Public Name As String
End Structure
Sub WriteData()
Dim PatientRecord As Person
Dim recordNumber As Integer
' Open file for random access.
FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
' Loop 5 times.
For recordNumber = 1 To 5
' Define ID.
PatientRecord.ID = recordNumber
' Create a string.
PatientRecord.Name = "Name " & recordNumber
' Write record to file.
FilePut(1, PatientRecord)
Next recordNumber
FileClose(1)
End Sub
注釈
FilePut
は と Binary
モードでのみRandom
有効です。
FilePut
を使用して書き込まれたデータは通常、FileGet
を使用してファイルから読み込まれます。
ファイル内の最初のレコードまたはバイトは 1 番目の位置にあり、2 番目のレコードまたはバイトは 2 番目の位置にあります。 を省略 RecordNumber
すると、最後または関数 FileGet
の後の次のレコードまたはバイト、または FilePut
最後 Seek
の関数が指すバイトが書き込まれます。
引数は StringIsFixedLength
、関数が文字列を可変長または固定長として解釈するかどうかを制御します。 FilePut
引数が の場合、長さ記述子は True
書き込まれません。 で FilePut
を使用StringIsFixedLength
= True
する場合は、 でFileGet
同じ操作を行う必要があります。また、文字列が予想される長さに初期化されていることを確認する必要があります。
ランダム モード
モードで開かれたファイルの Random
場合は、次の規則が適用されます。
書き込まれるデータの長さが関数の 句で
RecordLength
指定された長さより短い場合、FilePut
後続のFileOpen
レコードはレコード長境界に書き込まれます。 1 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコード長を書き込むデータの長さと一致することをお勧めします。 書き込まれるデータの長さが関数の 句FileOpen
でRecordLength
指定された長さを超える場合は、例外がスローされます。書き込まれる変数が文字列の場合は、
FilePut
文字列の長さを含む 2 バイト記述子を書き込み、変数に入るデータを書き込みます。 したがって、関数の 句でRecordLength
指定されるレコード長は、文字列のFileOpen
実際の長さよりも少なくとも 2 バイト大きくする必要があります。書き込まれる変数が数値型を含むオブジェクトの場合は、
FilePut
オブジェクトの を識別するVarType
2 バイトを書き込み、変数を書き込みます。 たとえば、整数を含むオブジェクトを書き込む場合、FilePut
6 バイト (オブジェクトを (Integer
) としてVarType(3)
識別する 2 バイトと、データを含む 4 バイトを書き込みます。 関数の パラメーターでRecordLength
指定されるレコード長は、変数のFileOpen
格納に必要な実際のバイト数より少なくとも 2 バイト大きくする必要があります。書き込まれる変数が文字列を含むオブジェクトの場合は、
FilePut
オブジェクトの を識別するVarType(8)
2 バイト記述子、文字列の長さを示す 2 バイト記述子を書き込み、文字列データを書き込みます。 関数の パラメーターでRecordLength
指定されるレコード長は、文字列のFileOpen
実際の長さより少なくとも 4 バイト大きくする必要があります。 記述子を使用せずに文字列を配置する場合は、 パラメーターにを渡True
すStringIsFixedLength
必要があります。読み取り先の文字列は正しい長さである必要があります。書き込まれる変数が配列の場合は、配列のサイズと次元の記述子を書き込むかどうかを選択できます。 Visual Basic 6.0 以前のバージョンでは、動的配列のファイル記述子が書き込まれますが、固定サイズの配列の場合は書き込まれません。 Visual Basic 2005 では、既定で記述子が書き込まれません。 記述子を書き込むには、 パラメーターを
ArrayIsDynamic
にTrue
設定します。 配列を書き込むときは、配列の読み取り方法と一致する必要があります。記述子で読み取られる場合は、記述子を記述する必要があります。 記述子は、配列のランク、サイズ、各ランクの下限を指定します。 その長さは、次元数の 8 倍に 2 を加えた値です (2 + 8 * NumberOfDimensions)。 関数の 句でRecordLength
FileOpen
指定されるレコード長は、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。 たとえば、次の配列宣言では、配列がディスクに書き込まれるときに 218 バイトが必要です。Dim MyArray(4, 9) As Integer
書き込まれる変数が他の型の変数である場合 (可変長文字列やオブジェクトではありません)
FilePut
、変数データのみを書き込みます。 関数の 句でRecordLength
FileOpen
指定されるレコード長は、書き込まれるデータの長さ以上である必要があります。FilePut
は、要素間にパディングがない点を除き、構造体の要素をそれぞれ個別に書き込むかのように書き込みます。 属性はVBFixedString
、 構造体の文字列フィールドに適用して、ディスクに書き込まれるときに文字列のサイズを示すことができます。注意
属性で
VBFixedString
指定されたバイト数より多い文字列フィールドは、ディスクに書き込まれると切り捨てられます。
バイナリ モード
モードで開かれたファイルの Binary
場合、ほとんどのモード ルールが Random
適用され、一部の例外があります。 モードで開かれたファイルの次の Binary
規則は、モードの規則 Random
とは異なります。
RecordLength
関数のFileOpen
句は無効です。FilePut
は、すべての変数を連続してディスクに書き込みます。つまり、レコード間の埋め込みは行われません。構造体内の配列以外の配列の場合は、
FilePut
データのみを書き込みます。 記述子は書き込まれない。FilePut
は、2 バイトの長さ記述子を持たない構造体の要素ではない可変長文字列を書き込みます。 書き込まれたバイト数は、文字列内の文字数と等しくなります。 たとえば、次のステートメントでは、ファイル番号 1 に 11 バイトが書き込まれます。Dim hellow As String = "Hello World" FilePut(1, hellow)
関数を使用してファイルに
FilePut
書き込むには、 列挙からのアクセスがFileIOPermissionAccess必要Write
です。
こちらもご覧ください
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Visual Basic でのファイルへの書き込み
適用対象
FilePut(Int32, Decimal, Int64)
- ソース:
- FileSystem.vb
- ソース:
- FileSystem.vb
- ソース:
- FileSystem.vb
変数の内容をディスク上のファイルに書き込みます。 My
機能を使用すると、FilePut
よりもファイル I/O 処理の生産性とパフォーマンスが向上します。 詳細については、「FileSystem」を参照してください。
public static void FilePut (int FileNumber, decimal Value, long RecordNumber = -1);
static member FilePut : int * decimal * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As Decimal, Optional RecordNumber As Long = -1)
パラメーター
- FileNumber
- Int32
必須です。 任意の有効なファイル数。
- Value
- Decimal
必須です。 ディスクに書き込まれるデータを保持する有効な変数の名前。
- RecordNumber
- Int64
省略可能。 書き込みを始めるレコード番号 (Random
モードのファイル) またはバイト位置 (Binary
モードのファイル)。
例外
RecordNumber
は < 1 で、-1 と等しくありません。
ファイル モードが無効です。
例
この例では、 関数を FilePut
使用してファイルにデータを書き込みます。 構造体 Person
の 5 つのレコードがファイルに書き込まれます。
Structure Person
Public ID As Integer
Public Name As String
End Structure
Sub WriteData()
Dim PatientRecord As Person
Dim recordNumber As Integer
' Open file for random access.
FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
' Loop 5 times.
For recordNumber = 1 To 5
' Define ID.
PatientRecord.ID = recordNumber
' Create a string.
PatientRecord.Name = "Name " & recordNumber
' Write record to file.
FilePut(1, PatientRecord)
Next recordNumber
FileClose(1)
End Sub
注釈
FilePut
は と Binary
モードでのみRandom
有効です。
FilePut
を使用して書き込まれたデータは通常、FileGet
を使用してファイルから読み込まれます。
ファイル内の最初のレコードまたはバイトは 1 番目の位置にあり、2 番目のレコードまたはバイトは 2 番目の位置にあります。 を省略 RecordNumber
すると、最後または関数 FileGet
の後の次のレコードまたはバイト、または FilePut
最後 Seek
の関数が指すバイトが書き込まれます。
引数は StringIsFixedLength
、関数が文字列を可変長または固定長として解釈するかどうかを制御します。 FilePut
引数が の場合、長さ記述子は True
書き込まれません。 で FilePut
を使用StringIsFixedLength
= True
する場合は、 でFileGet
同じ操作を行う必要があります。また、文字列が予想される長さに初期化されていることを確認する必要があります。
ランダム モード
モードで開かれたファイルの Random
場合は、次の規則が適用されます。
書き込まれるデータの長さが関数の 句で
RecordLength
指定された長さより短い場合、FilePut
後続のFileOpen
レコードはレコード長境界に書き込まれます。 1 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコード長を書き込むデータの長さと一致することをお勧めします。 書き込まれるデータの長さが関数の 句FileOpen
でRecordLength
指定された長さを超える場合は、例外がスローされます。書き込まれる変数が文字列の場合は、
FilePut
文字列の長さを含む 2 バイト記述子を書き込み、変数に入るデータを書き込みます。 したがって、関数の 句でRecordLength
指定されるレコード長は、文字列のFileOpen
実際の長さよりも少なくとも 2 バイト大きくする必要があります。書き込まれる変数が数値型を含むオブジェクトの場合は、
FilePut
オブジェクトの を識別するVarType
2 バイトを書き込み、変数を書き込みます。 たとえば、整数を含むオブジェクトを書き込む場合、FilePut
6 バイト (オブジェクトを (Integer
) としてVarType(3)
識別する 2 バイトと、データを含む 4 バイトを書き込みます。 関数の パラメーターでRecordLength
指定されるレコード長は、変数のFileOpen
格納に必要な実際のバイト数より少なくとも 2 バイト大きくする必要があります。書き込まれる変数が文字列を含むオブジェクトの場合は、
FilePut
オブジェクトの を識別するVarType(8)
2 バイト記述子、文字列の長さを示す 2 バイト記述子を書き込み、文字列データを書き込みます。 関数の パラメーターでRecordLength
指定されるレコード長は、文字列のFileOpen
実際の長さより少なくとも 4 バイト大きくする必要があります。 記述子を使用せずに文字列を配置する場合は、 パラメーターにを渡True
すStringIsFixedLength
必要があります。読み取り先の文字列は正しい長さである必要があります。書き込まれる変数が配列の場合は、配列のサイズと次元の記述子を書き込むかどうかを選択できます。 Visual Basic 6.0 以前のバージョンでは、動的配列のファイル記述子が書き込まれますが、固定サイズの配列の場合は書き込まれません。 Visual Basic 2005 では、既定で記述子が書き込まれません。 記述子を書き込むには、 パラメーターを
ArrayIsDynamic
にTrue
設定します。 配列を書き込むときは、配列の読み取り方法と一致する必要があります。記述子で読み取られる場合は、記述子を記述する必要があります。 記述子は、配列のランク、サイズ、各ランクの下限を指定します。 その長さは、次元数の 8 倍に 2 を加えた値です (2 + 8 * NumberOfDimensions)。 関数の 句でRecordLength
FileOpen
指定されるレコード長は、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。 たとえば、次の配列宣言では、配列がディスクに書き込まれるときに 218 バイトが必要です。Dim MyArray(4, 9) As Integer
書き込まれる変数が他の型の変数である場合 (可変長文字列やオブジェクトではありません)
FilePut
、変数データのみを書き込みます。 関数の 句でRecordLength
FileOpen
指定されるレコード長は、書き込まれるデータの長さ以上である必要があります。FilePut
は、要素間にパディングがない点を除き、構造体の要素をそれぞれ個別に書き込むかのように書き込みます。 属性はVBFixedString
、 構造体の文字列フィールドに適用して、ディスクに書き込まれるときに文字列のサイズを示すことができます。注意
属性で
VBFixedString
指定されたバイト数より多い文字列フィールドは、ディスクに書き込まれると切り捨てられます。
バイナリ モード
モードで開かれたファイルの Binary
場合、ほとんどのモード ルールが Random
適用され、一部の例外があります。 モードで開かれたファイルの次の Binary
規則は、モードの規則 Random
とは異なります。
RecordLength
関数のFileOpen
句は無効です。FilePut
は、すべての変数を連続してディスクに書き込みます。つまり、レコード間の埋め込みは行われません。構造体内の配列以外の配列の場合は、
FilePut
データのみを書き込みます。 記述子は書き込まれない。FilePut
は、2 バイトの長さ記述子を持たない構造体の要素ではない可変長文字列を書き込みます。 書き込まれたバイト数は、文字列内の文字数と等しくなります。 たとえば、次のステートメントでは、ファイル番号 1 に 11 バイトが書き込まれます。Dim hellow As String = "Hello World" FilePut(1, hellow)
関数を使用してファイルに
FilePut
書き込むには、 列挙からのアクセスがFileIOPermissionAccess必要Write
です。
こちらもご覧ください
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Visual Basic でのファイルへの書き込み
適用対象
FilePut(Int32, DateTime, Int64)
- ソース:
- FileSystem.vb
- ソース:
- FileSystem.vb
- ソース:
- FileSystem.vb
変数の内容をディスク上のファイルに書き込みます。 My
機能を使用すると、FilePut
よりもファイル I/O 処理の生産性とパフォーマンスが向上します。 詳細については、「FileSystem」を参照してください。
public static void FilePut (int FileNumber, DateTime Value, long RecordNumber = -1);
static member FilePut : int * DateTime * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As DateTime, Optional RecordNumber As Long = -1)
パラメーター
- FileNumber
- Int32
必須です。 任意の有効なファイル数。
- Value
- DateTime
必須です。 ディスクに書き込まれるデータを保持する有効な変数の名前。
- RecordNumber
- Int64
省略可能。 書き込みを始めるレコード番号 (Random
モードのファイル) またはバイト位置 (Binary
モードのファイル)。
例外
RecordNumber
は < 1 で、-1 と等しくありません。
ファイル モードが無効です。
例
この例では、 関数を FilePut
使用してファイルにデータを書き込みます。 構造体 Person
の 5 つのレコードがファイルに書き込まれます。
Structure Person
Public ID As Integer
Public Name As String
End Structure
Sub WriteData()
Dim PatientRecord As Person
Dim recordNumber As Integer
' Open file for random access.
FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
' Loop 5 times.
For recordNumber = 1 To 5
' Define ID.
PatientRecord.ID = recordNumber
' Create a string.
PatientRecord.Name = "Name " & recordNumber
' Write record to file.
FilePut(1, PatientRecord)
Next recordNumber
FileClose(1)
End Sub
注釈
FilePut
は と Binary
モードでのみRandom
有効です。
FilePut
を使用して書き込まれたデータは通常、FileGet
を使用してファイルから読み込まれます。
ファイル内の最初のレコードまたはバイトは 1 番目の位置にあり、2 番目のレコードまたはバイトは 2 番目の位置にあります。 を省略 RecordNumber
すると、最後または関数 FileGet
の後の次のレコードまたはバイト、または FilePut
最後 Seek
の関数が指すバイトが書き込まれます。
引数は StringIsFixedLength
、関数が文字列を可変長または固定長として解釈するかどうかを制御します。 FilePut
引数が の場合、長さ記述子は True
書き込まれません。 で FilePut
を使用StringIsFixedLength
= True
する場合は、 でFileGet
同じ操作を行う必要があります。また、文字列が予想される長さに初期化されていることを確認する必要があります。
ランダム モード
モードで開かれたファイルの Random
場合は、次の規則が適用されます。
書き込まれるデータの長さが関数の 句で
RecordLength
指定された長さより短い場合、FilePut
後続のFileOpen
レコードはレコード長境界に書き込まれます。 1 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコード長を書き込むデータの長さと一致することをお勧めします。 書き込まれるデータの長さが関数の 句FileOpen
でRecordLength
指定された長さを超える場合は、例外がスローされます。書き込まれる変数が文字列の場合は、
FilePut
文字列の長さを含む 2 バイト記述子を書き込み、変数に入るデータを書き込みます。 したがって、関数の 句でRecordLength
指定されるレコード長は、文字列のFileOpen
実際の長さよりも少なくとも 2 バイト大きくする必要があります。書き込まれる変数が数値型を含むオブジェクトの場合は、
FilePut
オブジェクトの を識別するVarType
2 バイトを書き込み、変数を書き込みます。 たとえば、整数を含むオブジェクトを書き込む場合、FilePut
6 バイト (オブジェクトを (Integer
) としてVarType(3)
識別する 2 バイトと、データを含む 4 バイトを書き込みます。 関数の パラメーターでRecordLength
指定されるレコード長は、変数のFileOpen
格納に必要な実際のバイト数より少なくとも 2 バイト大きくする必要があります。書き込まれる変数が文字列を含むオブジェクトの場合は、
FilePut
オブジェクトの を識別するVarType(8)
2 バイト記述子、文字列の長さを示す 2 バイト記述子を書き込み、文字列データを書き込みます。 関数の パラメーターでRecordLength
指定されるレコード長は、文字列のFileOpen
実際の長さより少なくとも 4 バイト大きくする必要があります。 記述子を使用せずに文字列を配置する場合は、 パラメーターにを渡True
すStringIsFixedLength
必要があります。読み取り先の文字列は正しい長さである必要があります。書き込まれる変数が配列の場合は、配列のサイズと次元の記述子を書き込むかどうかを選択できます。 Visual Basic 6.0 以前のバージョンでは、動的配列のファイル記述子が書き込まれますが、固定サイズの配列の場合は書き込まれません。 Visual Basic 2005 では、既定で記述子が書き込まれません。 記述子を書き込むには、 パラメーターを
ArrayIsDynamic
にTrue
設定します。 配列を書き込むときは、配列の読み取り方法と一致する必要があります。記述子で読み取られる場合は、記述子を記述する必要があります。 記述子は、配列のランク、サイズ、各ランクの下限を指定します。 その長さは、次元数の 8 倍に 2 を加えた値です (2 + 8 * NumberOfDimensions)。 関数の 句でRecordLength
FileOpen
指定されるレコード長は、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。 たとえば、次の配列宣言では、配列がディスクに書き込まれるときに 218 バイトが必要です。Dim MyArray(4, 9) As Integer
書き込まれる変数が他の型の変数である場合 (可変長文字列やオブジェクトではありません)
FilePut
、変数データのみを書き込みます。 関数の 句でRecordLength
FileOpen
指定されるレコード長は、書き込まれるデータの長さ以上である必要があります。FilePut
は、要素間にパディングがない点を除き、構造体の要素をそれぞれ個別に書き込むかのように書き込みます。 属性はVBFixedString
、 構造体の文字列フィールドに適用して、ディスクに書き込まれるときに文字列のサイズを示すことができます。注意
属性で
VBFixedString
指定されたバイト数より多い文字列フィールドは、ディスクに書き込まれると切り捨てられます。
バイナリ モード
モードで開かれたファイルの Binary
場合、ほとんどのモード ルールが Random
適用され、一部の例外があります。 モードで開かれたファイルの次の Binary
規則は、モードの規則 Random
とは異なります。
RecordLength
関数のFileOpen
句は無効です。FilePut
は、すべての変数を連続してディスクに書き込みます。つまり、レコード間の埋め込みは行われません。構造体内の配列以外の配列の場合は、
FilePut
データのみを書き込みます。 記述子は書き込まれない。FilePut
は、2 バイトの長さ記述子を持たない構造体の要素ではない可変長文字列を書き込みます。 書き込まれたバイト数は、文字列内の文字数と等しくなります。 たとえば、次のステートメントでは、ファイル番号 1 に 11 バイトが書き込まれます。Dim hellow As String = "Hello World" FilePut(1, hellow)
関数を使用してファイルに
FilePut
書き込むには、 列挙からのアクセスがFileIOPermissionAccess必要Write
です。
こちらもご覧ください
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Visual Basic でのファイルへの書き込み
適用対象
FilePut(Int32, Char, Int64)
- ソース:
- FileSystem.vb
- ソース:
- FileSystem.vb
- ソース:
- FileSystem.vb
変数の内容をディスク上のファイルに書き込みます。 My
機能を使用すると、FilePut
よりもファイル I/O 処理の生産性とパフォーマンスが向上します。 詳細については、「FileSystem」を参照してください。
public static void FilePut (int FileNumber, char Value, long RecordNumber = -1);
static member FilePut : int * char * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As Char, Optional RecordNumber As Long = -1)
パラメーター
- FileNumber
- Int32
必須です。 任意の有効なファイル数。
- Value
- Char
必須です。 ディスクに書き込まれるデータを保持する有効な変数の名前。
- RecordNumber
- Int64
省略可能。 書き込みを始めるレコード番号 (Random
モードのファイル) またはバイト位置 (Binary
モードのファイル)。
例外
RecordNumber
は < 1 で、-1 と等しくありません。
ファイル モードが無効です。
例
この例では、 関数を FilePut
使用してファイルにデータを書き込みます。 構造体 Person
の 5 つのレコードがファイルに書き込まれます。
Structure Person
Public ID As Integer
Public Name As String
End Structure
Sub WriteData()
Dim PatientRecord As Person
Dim recordNumber As Integer
' Open file for random access.
FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
' Loop 5 times.
For recordNumber = 1 To 5
' Define ID.
PatientRecord.ID = recordNumber
' Create a string.
PatientRecord.Name = "Name " & recordNumber
' Write record to file.
FilePut(1, PatientRecord)
Next recordNumber
FileClose(1)
End Sub
注釈
FilePut
は と Binary
モードでのみRandom
有効です。
FilePut
を使用して書き込まれたデータは通常、FileGet
を使用してファイルから読み込まれます。
ファイル内の最初のレコードまたはバイトは 1 番目の位置にあり、2 番目のレコードまたはバイトは 2 番目の位置にあります。 を省略 RecordNumber
すると、最後または関数 FileGet
の後の次のレコードまたはバイト、または FilePut
最後 Seek
の関数が指すバイトが書き込まれます。
引数は StringIsFixedLength
、関数が文字列を可変長または固定長として解釈するかどうかを制御します。 FilePut
引数が の場合、長さ記述子は True
書き込まれません。 で FilePut
を使用StringIsFixedLength
= True
する場合は、 でFileGet
同じ操作を行う必要があります。また、文字列が予想される長さに初期化されていることを確認する必要があります。
ランダム モード
モードで開かれたファイルの Random
場合は、次の規則が適用されます。
書き込まれるデータの長さが関数の 句で
RecordLength
指定された長さより短い場合、FilePut
後続のFileOpen
レコードはレコード長境界に書き込まれます。 1 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコード長を書き込むデータの長さと一致することをお勧めします。 書き込まれるデータの長さが関数の 句FileOpen
でRecordLength
指定された長さを超える場合は、例外がスローされます。書き込まれる変数が文字列の場合は、
FilePut
文字列の長さを含む 2 バイト記述子を書き込み、変数に入るデータを書き込みます。 したがって、関数の 句でRecordLength
指定されるレコード長は、文字列のFileOpen
実際の長さよりも少なくとも 2 バイト大きくする必要があります。書き込まれる変数が数値型を含むオブジェクトの場合は、
FilePut
オブジェクトの を識別するVarType
2 バイトを書き込み、変数を書き込みます。 たとえば、整数を含むオブジェクトを書き込む場合、FilePut
6 バイト (オブジェクトを (Integer
) としてVarType(3)
識別する 2 バイトと、データを含む 4 バイトを書き込みます。 関数の パラメーターでRecordLength
指定されるレコード長は、変数のFileOpen
格納に必要な実際のバイト数より少なくとも 2 バイト大きくする必要があります。書き込まれる変数が文字列を含むオブジェクトの場合は、
FilePut
オブジェクトの を識別するVarType(8)
2 バイト記述子、文字列の長さを示す 2 バイト記述子を書き込み、文字列データを書き込みます。 関数の パラメーターでRecordLength
指定されるレコード長は、文字列のFileOpen
実際の長さより少なくとも 4 バイト大きくする必要があります。 記述子を使用せずに文字列を配置する場合は、 パラメーターにを渡True
すStringIsFixedLength
必要があります。読み取り先の文字列は正しい長さである必要があります。書き込まれる変数が配列の場合は、配列のサイズと次元の記述子を書き込むかどうかを選択できます。 Visual Basic 6.0 以前のバージョンでは、動的配列のファイル記述子が書き込まれますが、固定サイズの配列の場合は書き込まれません。 Visual Basic 2005 では、既定で記述子が書き込まれません。 記述子を書き込むには、 パラメーターを
ArrayIsDynamic
にTrue
設定します。 配列を書き込むときは、配列の読み取り方法と一致する必要があります。記述子で読み取られる場合は、記述子を記述する必要があります。 記述子は、配列のランク、サイズ、各ランクの下限を指定します。 その長さは、次元数の 8 倍に 2 を加えた値です (2 + 8 * NumberOfDimensions)。 関数の 句でRecordLength
FileOpen
指定されるレコード長は、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。 たとえば、次の配列宣言では、配列がディスクに書き込まれるときに 218 バイトが必要です。Dim MyArray(4, 9) As Integer
書き込まれる変数が他の型の変数である場合 (可変長文字列やオブジェクトではありません)
FilePut
、変数データのみを書き込みます。 関数の 句でRecordLength
FileOpen
指定されるレコード長は、書き込まれるデータの長さ以上である必要があります。FilePut
は、要素間にパディングがない点を除き、構造体の要素をそれぞれ個別に書き込むかのように書き込みます。 属性はVBFixedString
、 構造体の文字列フィールドに適用して、ディスクに書き込まれるときに文字列のサイズを示すことができます。注意
属性で
VBFixedString
指定されたバイト数より多い文字列フィールドは、ディスクに書き込まれると切り捨てられます。
バイナリ モード
モードで開かれたファイルの Binary
場合、ほとんどのモード ルールが Random
適用され、一部の例外があります。 モードで開かれたファイルの次の Binary
規則は、モードの規則 Random
とは異なります。
RecordLength
関数のFileOpen
句は無効です。FilePut
は、すべての変数を連続してディスクに書き込みます。つまり、レコード間の埋め込みは行われません。構造体内の配列以外の配列の場合は、
FilePut
データのみを書き込みます。 記述子は書き込まれない。FilePut
は、2 バイトの長さ記述子を持たない構造体の要素ではない可変長文字列を書き込みます。 書き込まれたバイト数は、文字列内の文字数と等しくなります。 たとえば、次のステートメントでは、ファイル番号 1 に 11 バイトが書き込まれます。Dim hellow As String = "Hello World" FilePut(1, hellow)
関数を使用してファイルに
FilePut
書き込むには、 列挙からのアクセスがFileIOPermissionAccess必要Write
です。
こちらもご覧ください
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Visual Basic でのファイルへの書き込み
適用対象
FilePut(Int32, Byte, Int64)
- ソース:
- FileSystem.vb
- ソース:
- FileSystem.vb
- ソース:
- FileSystem.vb
変数の内容をディスク上のファイルに書き込みます。 My
機能を使用すると、FilePut
よりもファイル I/O 処理の生産性とパフォーマンスが向上します。 詳細については、「FileSystem」を参照してください。
public static void FilePut (int FileNumber, byte Value, long RecordNumber = -1);
static member FilePut : int * byte * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As Byte, Optional RecordNumber As Long = -1)
パラメーター
- FileNumber
- Int32
必須です。 任意の有効なファイル数。
- Value
- Byte
必須です。 ディスクに書き込まれるデータを保持する有効な変数の名前。
- RecordNumber
- Int64
省略可能。 書き込みを始めるレコード番号 (Random
モードのファイル) またはバイト位置 (Binary
モードのファイル)。
例外
RecordNumber
は < 1 で、-1 と等しくありません。
ファイル モードが無効です。
例
この例では、 関数を FilePut
使用してファイルにデータを書き込みます。 構造体 Person
の 5 つのレコードがファイルに書き込まれます。
Structure Person
Public ID As Integer
Public Name As String
End Structure
Sub WriteData()
Dim PatientRecord As Person
Dim recordNumber As Integer
' Open file for random access.
FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
' Loop 5 times.
For recordNumber = 1 To 5
' Define ID.
PatientRecord.ID = recordNumber
' Create a string.
PatientRecord.Name = "Name " & recordNumber
' Write record to file.
FilePut(1, PatientRecord)
Next recordNumber
FileClose(1)
End Sub
注釈
FilePut
は と Binary
モードでのみRandom
有効です。
FilePut
を使用して書き込まれたデータは通常、FileGet
を使用してファイルから読み込まれます。
ファイル内の最初のレコードまたはバイトは 1 番目の位置にあり、2 番目のレコードまたはバイトは 2 番目の位置にあります。 を省略 RecordNumber
すると、最後または関数 FileGet
の後の次のレコードまたはバイト、または FilePut
最後 Seek
の関数が指すバイトが書き込まれます。
引数は StringIsFixedLength
、関数が文字列を可変長または固定長として解釈するかどうかを制御します。 FilePut
引数が の場合、長さ記述子は True
書き込まれません。 で FilePut
を使用StringIsFixedLength
= True
する場合は、 でFileGet
同じ操作を行う必要があります。また、文字列が予想される長さに初期化されていることを確認する必要があります。
ランダム モード
モードで開かれたファイルの Random
場合は、次の規則が適用されます。
書き込まれるデータの長さが関数の 句で
RecordLength
指定された長さより短い場合、FilePut
後続のFileOpen
レコードはレコード長境界に書き込まれます。 1 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコード長を書き込むデータの長さと一致することをお勧めします。 書き込まれるデータの長さが関数の 句FileOpen
でRecordLength
指定された長さを超える場合は、例外がスローされます。書き込まれる変数が文字列の場合は、
FilePut
文字列の長さを含む 2 バイト記述子を書き込み、変数に入るデータを書き込みます。 したがって、関数の 句でRecordLength
指定されるレコード長は、文字列のFileOpen
実際の長さよりも少なくとも 2 バイト大きくする必要があります。書き込まれる変数が数値型を含むオブジェクトの場合は、
FilePut
オブジェクトの を識別するVarType
2 バイトを書き込み、変数を書き込みます。 たとえば、整数を含むオブジェクトを書き込む場合、FilePut
6 バイト (オブジェクトを (Integer
) としてVarType(3)
識別する 2 バイトと、データを含む 4 バイトを書き込みます。 関数の パラメーターでRecordLength
指定されるレコード長は、変数のFileOpen
格納に必要な実際のバイト数より少なくとも 2 バイト大きくする必要があります。書き込まれる変数が文字列を含むオブジェクトの場合は、
FilePut
オブジェクトの を識別するVarType(8)
2 バイト記述子、文字列の長さを示す 2 バイト記述子を書き込み、文字列データを書き込みます。 関数の パラメーターでRecordLength
指定されるレコード長は、文字列のFileOpen
実際の長さより少なくとも 4 バイト大きくする必要があります。 記述子を使用せずに文字列を配置する場合は、 パラメーターにを渡True
すStringIsFixedLength
必要があります。読み取り先の文字列は正しい長さである必要があります。書き込まれる変数が配列の場合は、配列のサイズと次元の記述子を書き込むかどうかを選択できます。 Visual Basic 6.0 以前のバージョンでは、動的配列のファイル記述子が書き込まれますが、固定サイズの配列の場合は書き込まれません。 Visual Basic 2005 では、既定で記述子が書き込まれません。 記述子を書き込むには、 パラメーターを
ArrayIsDynamic
にTrue
設定します。 配列を書き込むときは、配列の読み取り方法と一致する必要があります。記述子で読み取られる場合は、記述子を記述する必要があります。 記述子は、配列のランク、サイズ、各ランクの下限を指定します。 その長さは、次元数の 8 倍に 2 を加えた値です (2 + 8 * NumberOfDimensions)。 関数の 句でRecordLength
FileOpen
指定されるレコード長は、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。 たとえば、次の配列宣言では、配列がディスクに書き込まれるときに 218 バイトが必要です。Dim MyArray(4, 9) As Integer
書き込まれる変数が他の型の変数である場合 (可変長文字列やオブジェクトではありません)
FilePut
、変数データのみを書き込みます。 関数の 句でRecordLength
FileOpen
指定されるレコード長は、書き込まれるデータの長さ以上である必要があります。FilePut
は、要素間にパディングがない点を除き、構造体の要素をそれぞれ個別に書き込むかのように書き込みます。 属性はVBFixedString
、 構造体の文字列フィールドに適用して、ディスクに書き込まれるときに文字列のサイズを示すことができます。注意
属性で
VBFixedString
指定されたバイト数より多い文字列フィールドは、ディスクに書き込まれると切り捨てられます。
バイナリ モード
モードで開かれたファイルの Binary
場合、ほとんどのモード ルールが Random
適用され、一部の例外があります。 モードで開かれたファイルの次の Binary
規則は、モードの規則 Random
とは異なります。
RecordLength
関数のFileOpen
句は無効です。FilePut
は、すべての変数を連続してディスクに書き込みます。つまり、レコード間の埋め込みは行われません。構造体内の配列以外の配列の場合は、
FilePut
データのみを書き込みます。 記述子は書き込まれない。FilePut
は、2 バイトの長さ記述子を持たない構造体の要素ではない可変長文字列を書き込みます。 書き込まれたバイト数は、文字列内の文字数と等しくなります。 たとえば、次のステートメントでは、ファイル番号 1 に 11 バイトが書き込まれます。Dim hellow As String = "Hello World" FilePut(1, hellow)
関数を使用してファイルに
FilePut
書き込むには、 列挙からのアクセスがFileIOPermissionAccess必要Write
です。
こちらもご覧ください
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Visual Basic でのファイルへの書き込み
適用対象
FilePut(Int32, Boolean, Int64)
- ソース:
- FileSystem.vb
- ソース:
- FileSystem.vb
- ソース:
- FileSystem.vb
変数の内容をディスク上のファイルに書き込みます。 My
機能を使用すると、FilePut
よりもファイル I/O 処理の生産性とパフォーマンスが向上します。 詳細については、「FileSystem」を参照してください。
public static void FilePut (int FileNumber, bool Value, long RecordNumber = -1);
static member FilePut : int * bool * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As Boolean, Optional RecordNumber As Long = -1)
パラメーター
- FileNumber
- Int32
必須です。 任意の有効なファイル数。
- Value
- Boolean
必須です。 ディスクに書き込まれるデータを保持する有効な変数の名前。
- RecordNumber
- Int64
省略可能。 書き込みを始めるレコード番号 (Random
モードのファイル) またはバイト位置 (Binary
モードのファイル)。
例外
RecordNumber
は < 1 で、-1 と等しくありません。
ファイル モードが無効です。
例
この例では、 関数を FilePut
使用してファイルにデータを書き込みます。 構造体 Person
の 5 つのレコードがファイルに書き込まれます。
Structure Person
Public ID As Integer
Public Name As String
End Structure
Sub WriteData()
Dim PatientRecord As Person
Dim recordNumber As Integer
' Open file for random access.
FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
' Loop 5 times.
For recordNumber = 1 To 5
' Define ID.
PatientRecord.ID = recordNumber
' Create a string.
PatientRecord.Name = "Name " & recordNumber
' Write record to file.
FilePut(1, PatientRecord)
Next recordNumber
FileClose(1)
End Sub
注釈
FilePut
は と Binary
モードでのみRandom
有効です。
FilePut
を使用して書き込まれたデータは通常、FileGet
を使用してファイルから読み込まれます。
ファイル内の最初のレコードまたはバイトは 1 番目の位置にあり、2 番目のレコードまたはバイトは 2 番目の位置にあります。 を省略 RecordNumber
すると、最後または関数 FileGet
の後の次のレコードまたはバイト、または FilePut
最後 Seek
の関数が指すバイトが書き込まれます。
引数は StringIsFixedLength
、関数が文字列を可変長または固定長として解釈するかどうかを制御します。 FilePut
引数が の場合、長さ記述子は True
書き込まれません。 で FilePut
を使用StringIsFixedLength
= True
する場合は、 でFileGet
同じ操作を行う必要があります。また、文字列が予想される長さに初期化されていることを確認する必要があります。
ランダム モード
モードで開かれたファイルの Random
場合は、次の規則が適用されます。
書き込まれるデータの長さが関数の 句で
RecordLength
指定された長さより短い場合、FilePut
後続のFileOpen
レコードはレコード長境界に書き込まれます。 1 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコード長を書き込むデータの長さと一致することをお勧めします。 書き込まれるデータの長さが関数の 句FileOpen
でRecordLength
指定された長さを超える場合は、例外がスローされます。書き込まれる変数が文字列の場合は、
FilePut
文字列の長さを含む 2 バイト記述子を書き込み、変数に入るデータを書き込みます。 したがって、関数の 句でRecordLength
指定されるレコード長は、文字列のFileOpen
実際の長さよりも少なくとも 2 バイト大きくする必要があります。書き込まれる変数が数値型を含むオブジェクトの場合は、
FilePut
オブジェクトの を識別するVarType
2 バイトを書き込み、変数を書き込みます。 たとえば、整数を含むオブジェクトを書き込む場合、FilePut
6 バイト (オブジェクトを (Integer
) としてVarType(3)
識別する 2 バイトと、データを含む 4 バイトを書き込みます。 関数の パラメーターでRecordLength
指定されるレコード長は、変数のFileOpen
格納に必要な実際のバイト数より少なくとも 2 バイト大きくする必要があります。書き込まれる変数が文字列を含むオブジェクトの場合は、
FilePut
オブジェクトの を識別するVarType(8)
2 バイト記述子、文字列の長さを示す 2 バイト記述子を書き込み、文字列データを書き込みます。 関数の パラメーターでRecordLength
指定されるレコード長は、文字列のFileOpen
実際の長さより少なくとも 4 バイト大きくする必要があります。 記述子を使用せずに文字列を配置する場合は、 パラメーターにを渡True
すStringIsFixedLength
必要があります。読み取り先の文字列は正しい長さである必要があります。書き込まれる変数が配列の場合は、配列のサイズと次元の記述子を書き込むかどうかを選択できます。 Visual Basic 6.0 以前のバージョンでは、動的配列のファイル記述子が書き込まれますが、固定サイズの配列の場合は書き込まれません。 Visual Basic 2005 では、既定で記述子が書き込まれません。 記述子を書き込むには、 パラメーターを
ArrayIsDynamic
にTrue
設定します。 配列を書き込むときは、配列の読み取り方法と一致する必要があります。記述子で読み取られる場合は、記述子を記述する必要があります。 記述子は、配列のランク、サイズ、各ランクの下限を指定します。 その長さは、次元数の 8 倍に 2 を加えた値です (2 + 8 * NumberOfDimensions)。 関数の 句でRecordLength
FileOpen
指定されるレコード長は、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。 たとえば、次の配列宣言では、配列がディスクに書き込まれるときに 218 バイトが必要です。Dim MyArray(4, 9) As Integer
書き込まれる変数が他の型の変数である場合 (可変長文字列やオブジェクトではありません)
FilePut
、変数データのみを書き込みます。 関数の 句でRecordLength
FileOpen
指定されるレコード長は、書き込まれるデータの長さ以上である必要があります。FilePut
は、要素間にパディングがない点を除き、構造体の要素をそれぞれ個別に書き込むかのように書き込みます。 属性はVBFixedString
、 構造体の文字列フィールドに適用して、ディスクに書き込まれるときに文字列のサイズを示すことができます。注意
属性で
VBFixedString
指定されたバイト数より多い文字列フィールドは、ディスクに書き込まれると切り捨てられます。
バイナリ モード
モードで開かれたファイルの Binary
場合、ほとんどのモード ルールが Random
適用され、一部の例外があります。 モードで開かれたファイルの次の Binary
規則は、モードの規則 Random
とは異なります。
RecordLength
関数のFileOpen
句は無効です。FilePut
は、すべての変数を連続してディスクに書き込みます。つまり、レコード間の埋め込みは行われません。構造体内の配列以外の配列の場合は、
FilePut
データのみを書き込みます。 記述子は書き込まれない。FilePut
は、2 バイトの長さ記述子を持たない構造体の要素ではない可変長文字列を書き込みます。 書き込まれたバイト数は、文字列内の文字数と等しくなります。 たとえば、次のステートメントでは、ファイル番号 1 に 11 バイトが書き込まれます。Dim hellow As String = "Hello World" FilePut(1, hellow)
関数を使用してファイルに
FilePut
書き込むには、 列挙からのアクセスがFileIOPermissionAccess必要Write
です。
こちらもご覧ください
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Visual Basic でのファイルへの書き込み
適用対象
FilePut(Int32, Int16, Int64)
- ソース:
- FileSystem.vb
- ソース:
- FileSystem.vb
- ソース:
- FileSystem.vb
変数の内容をディスク上のファイルに書き込みます。 My
機能を使用すると、FilePut
よりもファイル I/O 処理の生産性とパフォーマンスが向上します。 詳細については、「FileSystem」を参照してください。
public static void FilePut (int FileNumber, short Value, long RecordNumber = -1);
static member FilePut : int * int16 * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As Short, Optional RecordNumber As Long = -1)
パラメーター
- FileNumber
- Int32
必須です。 任意の有効なファイル数。
- Value
- Int16
必須です。 ディスクに書き込まれるデータを保持する有効な変数の名前。
- RecordNumber
- Int64
省略可能。 書き込みを始めるレコード番号 (Random
モードのファイル) またはバイト位置 (Binary
モードのファイル)。
例外
RecordNumber
は < 1 で、-1 と等しくありません。
ファイル モードが無効です。
例
この例では、 関数を FilePut
使用してファイルにデータを書き込みます。 構造体 Person
の 5 つのレコードがファイルに書き込まれます。
Structure Person
Public ID As Integer
Public Name As String
End Structure
Sub WriteData()
Dim PatientRecord As Person
Dim recordNumber As Integer
' Open file for random access.
FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
' Loop 5 times.
For recordNumber = 1 To 5
' Define ID.
PatientRecord.ID = recordNumber
' Create a string.
PatientRecord.Name = "Name " & recordNumber
' Write record to file.
FilePut(1, PatientRecord)
Next recordNumber
FileClose(1)
End Sub
注釈
FilePut
は と Binary
モードでのみRandom
有効です。
FilePut
を使用して書き込まれたデータは通常、FileGet
を使用してファイルから読み込まれます。
ファイル内の最初のレコードまたはバイトは 1 番目の位置にあり、2 番目のレコードまたはバイトは 2 番目の位置にあります。 を省略 RecordNumber
すると、最後または関数 FileGet
の後の次のレコードまたはバイト、または FilePut
最後 Seek
の関数が指すバイトが書き込まれます。
引数は StringIsFixedLength
、関数が文字列を可変長または固定長として解釈するかどうかを制御します。 FilePut
引数が の場合、長さ記述子は True
書き込まれません。 で FilePut
を使用StringIsFixedLength
= True
する場合は、 でFileGet
同じ操作を行う必要があります。また、文字列が予想される長さに初期化されていることを確認する必要があります。
ランダム モード
モードで開かれたファイルの Random
場合は、次の規則が適用されます。
書き込まれるデータの長さが関数の 句で
RecordLength
指定された長さより短い場合、FilePut
後続のFileOpen
レコードはレコード長境界に書き込まれます。 1 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコード長を書き込むデータの長さと一致することをお勧めします。 書き込まれるデータの長さが関数の 句FileOpen
でRecordLength
指定された長さを超える場合は、例外がスローされます。書き込まれる変数が文字列の場合は、
FilePut
文字列の長さを含む 2 バイト記述子を書き込み、変数に入るデータを書き込みます。 したがって、関数の 句でRecordLength
指定されるレコード長は、文字列のFileOpen
実際の長さよりも少なくとも 2 バイト大きくする必要があります。書き込まれる変数が数値型を含むオブジェクトの場合は、
FilePut
オブジェクトの を識別するVarType
2 バイトを書き込み、変数を書き込みます。 たとえば、整数を含むオブジェクトを書き込む場合、FilePut
6 バイト (オブジェクトを (Integer
) としてVarType(3)
識別する 2 バイトと、データを含む 4 バイトを書き込みます。 関数の パラメーターでRecordLength
指定されるレコード長は、変数のFileOpen
格納に必要な実際のバイト数より少なくとも 2 バイト大きくする必要があります。書き込まれる変数が文字列を含むオブジェクトの場合は、
FilePut
オブジェクトの を識別するVarType(8)
2 バイト記述子、文字列の長さを示す 2 バイト記述子を書き込み、文字列データを書き込みます。 関数の パラメーターでRecordLength
指定されるレコード長は、文字列のFileOpen
実際の長さより少なくとも 4 バイト大きくする必要があります。 記述子を使用せずに文字列を配置する場合は、 パラメーターにを渡True
すStringIsFixedLength
必要があります。読み取り先の文字列は正しい長さである必要があります。書き込まれる変数が配列の場合は、配列のサイズと次元の記述子を書き込むかどうかを選択できます。 Visual Basic 6.0 以前のバージョンでは、動的配列のファイル記述子が書き込まれますが、固定サイズの配列の場合は書き込まれません。 Visual Basic 2005 では、既定で記述子が書き込まれません。 記述子を書き込むには、 パラメーターを
ArrayIsDynamic
にTrue
設定します。 配列を書き込むときは、配列の読み取り方法と一致する必要があります。記述子で読み取られる場合は、記述子を記述する必要があります。 記述子は、配列のランク、サイズ、各ランクの下限を指定します。 その長さは、次元数の 8 倍に 2 を加えた値です (2 + 8 * NumberOfDimensions)。 関数の 句でRecordLength
FileOpen
指定されるレコード長は、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。 たとえば、次の配列宣言では、配列がディスクに書き込まれるときに 218 バイトが必要です。Dim MyArray(4, 9) As Integer
書き込まれる変数が他の型の変数である場合 (可変長文字列やオブジェクトではありません)
FilePut
、変数データのみを書き込みます。 関数の 句でRecordLength
FileOpen
指定されるレコード長は、書き込まれるデータの長さ以上である必要があります。FilePut
は、要素間にパディングがない点を除き、構造体の要素をそれぞれ個別に書き込むかのように書き込みます。 属性はVBFixedString
、 構造体の文字列フィールドに適用して、ディスクに書き込まれるときに文字列のサイズを示すことができます。注意
属性で
VBFixedString
指定されたバイト数より多い文字列フィールドは、ディスクに書き込まれると切り捨てられます。
バイナリ モード
モードで開かれたファイルの Binary
場合、ほとんどのモード ルールが Random
適用され、一部の例外があります。 モードで開かれたファイルの次の Binary
規則は、モードの規則 Random
とは異なります。
RecordLength
関数のFileOpen
句は無効です。FilePut
は、すべての変数を連続してディスクに書き込みます。つまり、レコード間の埋め込みは行われません。構造体内の配列以外の配列の場合は、
FilePut
データのみを書き込みます。 記述子は書き込まれない。FilePut
は、2 バイトの長さ記述子を持たない構造体の要素ではない可変長文字列を書き込みます。 書き込まれたバイト数は、文字列内の文字数と等しくなります。 たとえば、次のステートメントでは、ファイル番号 1 に 11 バイトが書き込まれます。Dim hellow As String = "Hello World" FilePut(1, hellow)
関数を使用してファイルに
FilePut
書き込むには、 列挙からのアクセスがFileIOPermissionAccess必要Write
です。
こちらもご覧ください
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Visual Basic でのファイルへの書き込み
適用対象
.NET