FileSystem.FilePut メソッド

定義

変数からディスク ファイルにデータを書き込みます。 My機能を使用すると、FilePutよりもファイル I/O 操作の生産性とパフォーマンスが向上します。 F 詳細については、 FileSystemを参照してください。

オーバーロード

名前 説明
FilePut(Int32, Int64, Int64)

変数からディスク ファイルにデータを書き込みます。 My機能を使用すると、FilePutよりもファイル I/O 操作の生産性とパフォーマンスが向上します。 詳細については、FileSystemを参照してください。

FilePut(Int32, String, Int64, Boolean)

変数からディスク ファイルにデータを書き込みます。 My機能を使用すると、FilePutよりもファイル I/O 操作の生産性とパフォーマンスが向上します。 詳細については、FileSystemを参照してください。

FilePut(Object, Object, Object)
古い.
古い.

変数からディスク ファイルにデータを書き込みます。 My機能を使用すると、FilePutよりもファイル I/O 操作の生産性とパフォーマンスが向上します。 詳細については、FileSystemを参照してください。

FilePut(Int32, ValueType, Int64)

変数からディスク ファイルにデータを書き込みます。 My機能を使用すると、FilePutよりもファイル I/O 操作の生産性とパフォーマンスが向上します。 詳細については、FileSystemを参照してください。

FilePut(Int32, Single, Int64)

変数からディスク ファイルにデータを書き込みます。 My機能を使用すると、FilePutよりもファイル I/O 操作の生産性とパフォーマンスが向上します。 詳細については、FileSystemを参照してください。

FilePut(Int32, Int32, Int64)

変数からディスク ファイルにデータを書き込みます。 My機能を使用すると、FilePutよりもファイル I/O 操作の生産性とパフォーマンスが向上します。 詳細については、FileSystemを参照してください。

FilePut(Int32, Array, Int64, Boolean, Boolean)

変数からディスク ファイルにデータを書き込みます。 My機能を使用すると、FilePutよりもファイル I/O 操作の生産性とパフォーマンスが向上します。 詳細については、FileSystemを参照してください。

FilePut(Int32, Double, Int64)

変数からディスク ファイルにデータを書き込みます。 My機能を使用すると、FilePutよりもファイル I/O 操作の生産性とパフォーマンスが向上します。 詳細については、FileSystemを参照してください。

FilePut(Int32, Decimal, Int64)

変数からディスク ファイルにデータを書き込みます。 My機能を使用すると、FilePutよりもファイル I/O 操作の生産性とパフォーマンスが向上します。 詳細については、FileSystemを参照してください。

FilePut(Int32, DateTime, Int64)

変数からディスク ファイルにデータを書き込みます。 My機能を使用すると、FilePutよりもファイル I/O 操作の生産性とパフォーマンスが向上します。 詳細については、FileSystemを参照してください。

FilePut(Int32, Char, Int64)

変数からディスク ファイルにデータを書き込みます。 My機能を使用すると、FilePutよりもファイル I/O 操作の生産性とパフォーマンスが向上します。 詳細については、FileSystemを参照してください。

FilePut(Int32, Byte, Int64)

変数からディスク ファイルにデータを書き込みます。 My機能を使用すると、FilePutよりもファイル I/O 操作の生産性とパフォーマンスが向上します。 詳細については、FileSystemを参照してください。

FilePut(Int32, Boolean, Int64)

変数からディスク ファイルにデータを書き込みます。 My機能を使用すると、FilePutよりもファイル I/O 操作の生産性とパフォーマンスが向上します。 詳細については、FileSystemを参照してください。

FilePut(Int32, Int16, Int64)

変数からディスク ファイルにデータを書き込みます。 My機能を使用すると、FilePutよりもファイル I/O 操作の生産性とパフォーマンスが向上します。 詳細については、FileSystemを参照してください。

FilePut(Int32, Int64, Int64)

変数からディスク ファイルにデータを書き込みます。 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 は、 Random モードと Binary モードでのみ有効です。

FilePutで書き込まれたデータは、通常、FileGetを使用してファイルから読み取られます。

ファイルの最初のレコードまたはバイトは位置 1 になり、2 番目のレコードまたはバイトは位置 2 になります。これ以降も同様です。 RecordNumberを省略すると、最後のFileGetまたはFilePut関数の後の次のレコードまたはバイト、または最後のSeek関数が指すバイトが書き込まれます。

StringIsFixedLength引数は、関数が文字列を変数または固定長として解釈するかどうかを制御します。 FilePut 引数が Trueされている場合、長さ記述子は書き込まれません。 FilePutStringIsFixedLength = Trueを使用する場合は、FileGetで同じ操作を行う必要があり、文字列が予想される長さに初期化されていることを確認する必要があります。

ランダム モード

Random モードで開かれたファイルには、次の規則が適用されます。

  • 書き込まれるデータの長さが、FileOpen関数のRecordLength句で指定された長さより小さい場合、FilePutはレコード長の境界に後続のレコードを書き込みます。 1 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコードの長さが書き込まれるデータの長さと一致するようにすることをお勧めします。 書き込まれるデータの長さが、FileOpen関数のRecordLength句で指定された長さを超える場合は、例外がスローされます。

  • 書き込まれる変数が文字列の場合、 FilePut は文字列の長さを含む 2 バイトの記述子を書き込み、変数に入るデータを書き込みます。 したがって、FileOpen関数の RecordLength 句で指定されるレコード長は、文字列の実際の長さよりも少なくとも 2 バイト大きい必要があります。

  • 書き込まれる変数が数値型を含むオブジェクトの場合、 FilePut はオブジェクトの VarType を識別する 2 バイトを書き込み、変数を書き込みます。 たとえば、整数を含むオブジェクトを書き込む場合、 FilePut は、 VarType(3) (Integer) としてオブジェクトを識別する 2 バイトと、データを含む 4 バイトの 6 バイトを書き込みます。 FileOpen関数の RecordLength パラメーターで指定されるレコード長は、変数の格納に必要な実際のバイト数より少なくとも 2 バイト大きい必要があります。

  • 書き込まれる変数が文字列を含むオブジェクトの場合、 FilePut は、オブジェクトの VarType(8) を識別する 2 バイト記述子(文字列の長さを示す 2 バイト記述子)を書き込み、文字列データを書き込みます。 FileOpen関数の RecordLength パラメーターで指定されるレコード長は、文字列の実際の長さより少なくとも 4 バイト大きい必要があります。 記述子を含まない文字列を配置する場合は、 TrueStringIsFixedLength パラメーターに渡し、読み取る文字列は正しい長さにする必要があります。

  • 書き込む変数が配列の場合は、配列のサイズと次元の記述子を書き込むかどうかを選択できます。 Visual Basic 6.0 以前のバージョンでは、動的配列のファイル記述子が書き込まれますが、固定サイズの配列の場合は書き込まれません。 Visual Basic 2005 では、記述子は書き込まれません。 記述子を記述するには、 ArrayIsDynamic パラメーターを True に設定します。 配列を書き込むときは、配列の読み取り方法と一致する必要があります。記述子で読み取られる場合は、記述子を記述する必要があります。 記述子は、配列のランク、サイズ、および各ランクの下限を指定します。 その長さは、2 + 8 次元数の 8 倍に等しくなります (2 + 8 * NumberOfDimensions)。 FileOpen関数のRecordLength句で指定されるレコード長は、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。 たとえば、次の配列宣言では、配列がディスクに書き込まれるときに 218 バイトが必要です。

    Dim MyArray(4, 9) As Integer
    
  • 書き込まれる変数が他の型の変数 (可変長文字列やオブジェクトではない) である場合、 FilePut は変数データのみを書き込みます。 FileOpen関数のRecordLength句で指定されるレコード長は、書き込まれるデータの長さ以上である必要があります。

  • FilePut は、要素間にパディングがない点を除き、それぞれが個別に書き込まれたかのように構造体の要素を書き込みます。 VBFixedString属性を構造体の文字列フィールドに適用して、ディスクに書き込むときに文字列のサイズを示すことができます。

    Note

    VBFixedString属性で指定されたバイト数を超える文字列フィールドは、ディスクに書き込まれると切り捨てられます。

バイナリ モード

Binary モードで開かれたファイルの場合、Random モードの規則のほとんどは適用され、一部の例外があります。 Binary モードで開かれたファイルに関する次の規則は、Random モードの規則とは異なります。

  • FileOpen関数のRecordLength句は無効です。 FilePut は、すべての変数を連続してディスクに書き込みます。つまり、レコード間の埋め込みは行われません。

  • 構造体内の配列以外の配列の場合、 FilePut はデータのみを書き込みます。 記述子は書き込まれません。

  • FilePut は、2 バイト長記述子のない構造体の要素ではない可変長文字列を書き込みます。 書き込まれるバイト数は、文字列の文字数と等しくなります。 たとえば、次のステートメントでは、ファイル番号 1 に 11 バイトが書き込まれます。

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • FilePut関数を使用してファイルに書き込むには、FileIOPermissionAccess列挙体からのWriteアクセスが必要です。

こちらもご覧ください

適用対象

FilePut(Int32, String, Int64, Boolean)

変数からディスク ファイルにデータを書き込みます。 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 は、 Random モードと Binary モードでのみ有効です。

FilePutで書き込まれたデータは、通常、FileGetを使用してファイルから読み取られます。

ファイルの最初のレコードまたはバイトは位置 1 になり、2 番目のレコードまたはバイトは位置 2 になります。これ以降も同様です。 RecordNumberを省略すると、最後のFileGetまたはFilePut関数の後の次のレコードまたはバイト、または最後のSeek関数が指すバイトが書き込まれます。

StringIsFixedLength引数は、関数が文字列を変数または固定長として解釈するかどうかを制御します。 FilePut 引数が Trueされている場合、長さ記述子は書き込まれません。 FilePutStringIsFixedLength = Trueを使用する場合は、FileGetで同じ操作を行う必要があり、文字列が予想される長さに初期化されていることを確認する必要があります。

ランダム モード

Random モードで開かれたファイルには、次の規則が適用されます。

  • 書き込まれるデータの長さが、FileOpen関数のRecordLength句で指定された長さより小さい場合、FilePutはレコード長の境界に後続のレコードを書き込みます。 1 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコードの長さが書き込まれるデータの長さと一致するようにすることをお勧めします。 書き込まれるデータの長さが、FileOpen関数のRecordLength句で指定された長さを超える場合は、例外がスローされます。

  • 書き込まれる変数が文字列の場合、 FilePut は文字列の長さを含む 2 バイトの記述子を書き込み、変数に入るデータを書き込みます。 したがって、FileOpen関数の RecordLength 句で指定されるレコード長は、文字列の実際の長さよりも少なくとも 2 バイト大きい必要があります。

  • 書き込まれる変数が数値型を含むオブジェクトの場合、 FilePut はオブジェクトの VarType を識別する 2 バイトを書き込み、変数を書き込みます。 たとえば、整数を含むオブジェクトを書き込む場合、 FilePut は、 VarType(3) (Integer) としてオブジェクトを識別する 2 バイトと、データを含む 4 バイトの 6 バイトを書き込みます。 FileOpen関数の RecordLength パラメーターで指定されるレコード長は、変数の格納に必要な実際のバイト数より少なくとも 2 バイト大きい必要があります。

  • 書き込まれる変数が文字列を含むオブジェクトの場合、 FilePut は、オブジェクトの VarType(8) を識別する 2 バイト記述子(文字列の長さを示す 2 バイト記述子)を書き込み、文字列データを書き込みます。 FileOpen関数の RecordLength パラメーターで指定されるレコード長は、文字列の実際の長さより少なくとも 4 バイト大きい必要があります。 記述子を含まない文字列を配置する場合は、 TrueStringIsFixedLength パラメーターに渡し、読み取る文字列は正しい長さにする必要があります。

  • 書き込む変数が配列の場合は、配列のサイズと次元の記述子を書き込むかどうかを選択できます。 Visual Basic 6.0 以前のバージョンでは、動的配列のファイル記述子が書き込まれますが、固定サイズの配列の場合は書き込まれません。 Visual Basic 2005 では、記述子は書き込まれません。 記述子を記述するには、 ArrayIsDynamic パラメーターを True に設定します。 配列を書き込むときは、配列の読み取り方法と一致する必要があります。記述子で読み取られる場合は、記述子を記述する必要があります。 記述子は、配列のランク、サイズ、および各ランクの下限を指定します。 その長さは、2 + 8 次元数の 8 倍に等しくなります (2 + 8 * NumberOfDimensions)。 FileOpen関数のRecordLength句で指定されるレコード長は、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。 たとえば、次の配列宣言では、配列がディスクに書き込まれるときに 218 バイトが必要です。

    Dim MyArray(4, 9) As Integer
    
  • 書き込まれる変数が他の型の変数 (可変長文字列やオブジェクトではない) である場合、 FilePut は変数データのみを書き込みます。 FileOpen関数のRecordLength句で指定されるレコード長は、書き込まれるデータの長さ以上である必要があります。

  • FilePut は、要素間にパディングがない点を除き、それぞれが個別に書き込まれたかのように構造体の要素を書き込みます。 VBFixedString属性を構造体の文字列フィールドに適用して、ディスクに書き込むときに文字列のサイズを示すことができます。

    Note

    VBFixedString属性で指定されたバイト数を超える文字列フィールドは、ディスクに書き込まれると切り捨てられます。

バイナリ モード

Binary モードで開かれたファイルの場合、Random モードの規則のほとんどは適用され、一部の例外があります。 Binary モードで開かれたファイルに関する次の規則は、Random モードの規則とは異なります。

  • FileOpen関数のRecordLength句は無効です。 FilePut は、すべての変数を連続してディスクに書き込みます。つまり、レコード間の埋め込みは行われません。

  • 構造体内の配列以外の配列の場合、 FilePut はデータのみを書き込みます。 記述子は書き込まれません。

  • FilePut は、2 バイト長記述子のない構造体の要素ではない可変長文字列を書き込みます。 書き込まれるバイト数は、文字列の文字数と等しくなります。 たとえば、次のステートメントでは、ファイル番号 1 に 11 バイトが書き込まれます。

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • FilePut関数を使用してファイルに書き込むには、FileIOPermissionAccess列挙体からのWriteアクセスが必要です。

こちらもご覧ください

適用対象

FilePut(Object, Object, Object)

注意事項

Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types

注意事項

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

変数からディスク ファイルにデータを書き込みます。 My機能を使用すると、FilePutよりもファイル I/O 操作の生産性とパフォーマンスが向上します。 詳細については、FileSystemを参照してください。

[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("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("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
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(Int32, ValueType, Int64)

変数からディスク ファイルにデータを書き込みます。 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 は、 Random モードと Binary モードでのみ有効です。

FilePutで書き込まれたデータは、通常、FileGetを使用してファイルから読み取られます。

ファイルの最初のレコードまたはバイトは位置 1 になり、2 番目のレコードまたはバイトは位置 2 になります。これ以降も同様です。 RecordNumberを省略すると、最後のFileGetまたはFilePut関数の後の次のレコードまたはバイト、または最後のSeek関数が指すバイトが書き込まれます。

StringIsFixedLength引数は、関数が文字列を変数または固定長として解釈するかどうかを制御します。 FilePut 引数が Trueされている場合、長さ記述子は書き込まれません。 FilePutStringIsFixedLength = Trueを使用する場合は、FileGetで同じ操作を行う必要があり、文字列が予想される長さに初期化されていることを確認する必要があります。

ランダム モード

Random モードで開かれたファイルには、次の規則が適用されます。

  • 書き込まれるデータの長さがFileOpen関数のRecordLength句で指定された長さより小さい場合、FilePutはレコード長の境界に後続のレコードを書き込みます。 1 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコードの長さが書き込まれるデータの長さと一致するようにすることをお勧めします。 書き込まれるデータの長さが、FileOpen関数のRecordLength句で指定された長さを超える場合は、例外がスローされます。

  • 書き込まれる変数が文字列の場合、 FilePut は文字列の長さを含む 2 バイトの記述子を書き込み、変数に入るデータを書き込みます。 したがって、FileOpen関数の RecordLength 句で指定されるレコード長は、文字列の実際の長さよりも少なくとも 2 バイト大きい必要があります。

  • 書き込まれる変数が数値型を含むオブジェクトの場合、 FilePut はオブジェクトの VarType を識別する 2 バイトを書き込み、変数を書き込みます。 たとえば、整数を含むオブジェクトを書き込む場合、 FilePut は、 VarType(3) (Integer) としてオブジェクトを識別する 2 バイトと、データを含む 4 バイトの 6 バイトを書き込みます。 FileOpen関数の RecordLength パラメーターで指定されるレコード長は、変数の格納に必要な実際のバイト数より少なくとも 2 バイト大きい必要があります。

  • 書き込まれる変数が文字列を含むオブジェクトの場合、 FilePut は、オブジェクトの VarType(8) を識別する 2 バイト記述子(文字列の長さを示す 2 バイト記述子)を書き込み、文字列データを書き込みます。 FileOpen関数の RecordLength パラメーターで指定されるレコード長は、文字列の実際の長さより少なくとも 4 バイト大きい必要があります。 記述子を含まない文字列を配置する場合は、 TrueStringIsFixedLength パラメーターに渡し、読み取る文字列は正しい長さにする必要があります。

  • 書き込む変数が配列の場合は、配列のサイズと次元の記述子を書き込むかどうかを選択できます。 Visual Basic 6.0 以前のバージョンでは、動的配列のファイル記述子が書き込まれますが、固定サイズの配列の場合は書き込まれません。 Visual Basic 2005 では、記述子は書き込まれません。 記述子を記述するには、 ArrayIsDynamic パラメーターを True に設定します。 配列を書き込むときは、配列の読み取り方法と一致する必要があります。記述子で読み取られる場合は、記述子を記述する必要があります。 記述子は、配列のランク、サイズ、および各ランクの下限を指定します。 その長さは、2 + 8 次元数の 8 倍に等しくなります (2 + 8 * NumberOfDimensions)。 FileOpen関数のRecordLength句で指定されるレコード長は、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。 たとえば、次の配列宣言では、配列がディスクに書き込まれるときに 218 バイトが必要です。

    Dim MyArray(4, 9) As Integer
    
  • 書き込まれる変数が他の型の変数 (可変長文字列やオブジェクトではない) である場合、 FilePut は変数データのみを書き込みます。 FileOpen関数のRecordLength句で指定されるレコード長は、書き込まれるデータの長さ以上である必要があります。

  • FilePut は、要素間にパディングがない点を除き、それぞれが個別に書き込まれたかのように構造体の要素を書き込みます。 VBFixedString属性を構造体の文字列フィールドに適用して、ディスクに書き込むときに文字列のサイズを示すことができます。

    Note

    VBFixedString属性で指定されたバイト数を超える文字列フィールドは、ディスクに書き込まれると切り捨てられます。

バイナリ モード

Binary モードで開かれたファイルの場合、Random モードの規則のほとんどは適用され、一部の例外があります。 Binary モードで開かれたファイルに関する次の規則は、Random モードの規則とは異なります。

  • FileOpen関数のRecordLength句は無効です。 FilePut は、すべての変数を連続してディスクに書き込みます。つまり、レコード間の埋め込みは行われません。

  • 構造体内の配列以外の配列の場合、 FilePut はデータのみを書き込みます。 記述子は書き込まれません。

  • FilePut は、2 バイト長記述子のない構造体の要素ではない可変長文字列を書き込みます。 書き込まれるバイト数は、文字列の文字数と等しくなります。 たとえば、次のステートメントでは、ファイル番号 1 に 11 バイトが書き込まれます。

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • FilePut関数を使用してファイルに書き込むには、FileIOPermissionAccess列挙体からのWriteアクセスが必要です。

こちらもご覧ください

適用対象

FilePut(Int32, Single, Int64)

変数からディスク ファイルにデータを書き込みます。 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 は、 Random モードと Binary モードでのみ有効です。

FilePutで書き込まれたデータは、通常、FileGetを使用してファイルから読み取られます。

ファイルの最初のレコードまたはバイトは位置 1 になり、2 番目のレコードまたはバイトは位置 2 になります。これ以降も同様です。 RecordNumberを省略すると、最後のFileGetまたはFilePut関数の後の次のレコードまたはバイト、または最後のSeek関数が指すバイトが書き込まれます。

StringIsFixedLength引数は、関数が文字列を変数または固定長として解釈するかどうかを制御します。 FilePut 引数が Trueされている場合、長さ記述子は書き込まれません。 FilePutStringIsFixedLength = Trueを使用する場合は、FileGetで同じ操作を行う必要があり、文字列が予想される長さに初期化されていることを確認する必要があります。

ランダム モード

Random モードで開かれたファイルには、次の規則が適用されます。

  • 書き込まれるデータの長さが、FileOpen関数のRecordLength句で指定された長さより小さい場合、FilePutはレコード長の境界に後続のレコードを書き込みます。 1 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコードの長さが書き込まれるデータの長さと一致するようにすることをお勧めします。 書き込まれるデータの長さが、FileOpen関数のRecordLength句で指定された長さを超える場合は、例外がスローされます。

  • 書き込まれる変数が文字列の場合、 FilePut は文字列の長さを含む 2 バイトの記述子を書き込み、変数に入るデータを書き込みます。 したがって、FileOpen関数の RecordLength 句で指定されるレコード長は、文字列の実際の長さよりも少なくとも 2 バイト大きい必要があります。

  • 書き込まれる変数が数値型を含むオブジェクトの場合、 FilePut はオブジェクトの VarType を識別する 2 バイトを書き込み、変数を書き込みます。 たとえば、整数を含むオブジェクトを書き込む場合、 FilePut は、 VarType(3) (Integer) としてオブジェクトを識別する 2 バイトと、データを含む 4 バイトの 6 バイトを書き込みます。 FileOpen関数の RecordLength パラメーターで指定されるレコード長は、変数の格納に必要な実際のバイト数より少なくとも 2 バイト大きい必要があります。

  • 書き込まれる変数が文字列を含むオブジェクトの場合、 FilePut は、オブジェクトの VarType(8) を識別する 2 バイト記述子(文字列の長さを示す 2 バイト記述子)を書き込み、文字列データを書き込みます。 FileOpen関数の RecordLength パラメーターで指定されるレコード長は、文字列の実際の長さより少なくとも 4 バイト大きい必要があります。 記述子を含まない文字列を配置する場合は、 TrueStringIsFixedLength パラメーターに渡し、読み取る文字列は正しい長さにする必要があります。

  • 書き込む変数が配列の場合は、配列のサイズと次元の記述子を書き込むかどうかを選択できます。 Visual Basic 6.0 以前のバージョンでは、動的配列のファイル記述子が書き込まれますが、固定サイズの配列の場合は書き込まれません。 Visual Basic 2005 では、記述子は書き込まれません。 記述子を記述するには、 ArrayIsDynamic パラメーターを True に設定します。 配列を書き込むときは、配列の読み取り方法と一致する必要があります。記述子で読み取られる場合は、記述子を記述する必要があります。 記述子は、配列のランク、サイズ、および各ランクの下限を指定します。 その長さは、2 + 8 次元数の 8 倍に等しくなります (2 + 8 * NumberOfDimensions)。 FileOpen関数のRecordLength句で指定されるレコード長は、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。 たとえば、次の配列宣言では、配列がディスクに書き込まれるときに 218 バイトが必要です。

    Dim MyArray(4, 9) As Integer
    
  • 書き込まれる変数が他の型の変数 (可変長文字列やオブジェクトではない) である場合、 FilePut は変数データのみを書き込みます。 FileOpen関数のRecordLength句で指定されるレコード長は、書き込まれるデータの長さ以上である必要があります。

  • FilePut は、要素間にパディングがない点を除き、それぞれが個別に書き込まれたかのように構造体の要素を書き込みます。 VBFixedString属性を構造体の文字列フィールドに適用して、ディスクに書き込むときに文字列のサイズを示すことができます。

    Note

    VBFixedString属性で指定されたバイト数を超える文字列フィールドは、ディスクに書き込まれると切り捨てられます。

バイナリ モード

Binary モードで開かれたファイルの場合、Random モードの規則のほとんどは適用され、一部の例外があります。 Binary モードで開かれたファイルに関する次の規則は、Random モードの規則とは異なります。

  • FileOpen関数のRecordLength句は無効です。 FilePut は、すべての変数を連続してディスクに書き込みます。つまり、レコード間の埋め込みは行われません。

  • 構造体内の配列以外の配列の場合、 FilePut はデータのみを書き込みます。 記述子は書き込まれません。

  • FilePut は、2 バイト長記述子のない構造体の要素ではない可変長文字列を書き込みます。 書き込まれるバイト数は、文字列の文字数と等しくなります。 たとえば、次のステートメントでは、ファイル番号 1 に 11 バイトが書き込まれます。

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • FilePut関数を使用してファイルに書き込むには、FileIOPermissionAccess列挙体からのWriteアクセスが必要です。

こちらもご覧ください

適用対象

FilePut(Int32, Int32, Int64)

変数からディスク ファイルにデータを書き込みます。 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 は、 Random モードと Binary モードでのみ有効です。

FilePutで書き込まれたデータは、通常、FileGetを使用してファイルから読み取られます。

ファイルの最初のレコードまたはバイトは位置 1 になり、2 番目のレコードまたはバイトは位置 2 になります。これ以降も同様です。 RecordNumberを省略すると、最後のFileGetまたはFilePut関数の後の次のレコードまたはバイト、または最後のSeek関数が指すバイトが書き込まれます。

StringIsFixedLength引数は、関数が文字列を変数または固定長として解釈するかどうかを制御します。 FilePut 引数が Trueされている場合、長さ記述子は書き込まれません。 FilePutStringIsFixedLength = Trueを使用する場合は、FileGetで同じ操作を行う必要があり、文字列が予想される長さに初期化されていることを確認する必要があります。

ランダム モード

Random モードで開かれたファイルには、次の規則が適用されます。

  • 書き込まれるデータの長さが、FileOpen関数のRecordLength句で指定された長さより小さい場合、FilePutはレコード長の境界に後続のレコードを書き込みます。 1 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコードの長さが書き込まれるデータの長さと一致するようにすることをお勧めします。 書き込まれるデータの長さが、FileOpen関数のRecordLength句で指定された長さを超える場合は、例外がスローされます。

  • 書き込まれる変数が文字列の場合、 FilePut は文字列の長さを含む 2 バイトの記述子を書き込み、変数に入るデータを書き込みます。 したがって、FileOpen関数の RecordLength 句で指定されるレコード長は、文字列の実際の長さよりも少なくとも 2 バイト大きい必要があります。

  • 書き込まれる変数が数値型を含むオブジェクトの場合、 FilePut はオブジェクトの VarType を識別する 2 バイトを書き込み、変数を書き込みます。 たとえば、整数を含むオブジェクトを書き込む場合、 FilePut は、 VarType(3) (Integer) としてオブジェクトを識別する 2 バイトと、データを含む 4 バイトの 6 バイトを書き込みます。 FileOpen関数の RecordLength パラメーターで指定されるレコード長は、変数の格納に必要な実際のバイト数より少なくとも 2 バイト大きい必要があります。

  • 書き込まれる変数が文字列を含むオブジェクトの場合、 FilePut は、オブジェクトの VarType(8) を識別する 2 バイト記述子(文字列の長さを示す 2 バイト記述子)を書き込み、文字列データを書き込みます。 FileOpen関数の RecordLength パラメーターで指定されるレコード長は、文字列の実際の長さより少なくとも 4 バイト大きい必要があります。 記述子を含まない文字列を配置する場合は、 TrueStringIsFixedLength パラメーターに渡し、読み取る文字列は正しい長さにする必要があります。

  • 書き込む変数が配列の場合は、配列のサイズと次元の記述子を書き込むかどうかを選択できます。 Visual Basic 6.0 以前のバージョンでは、動的配列のファイル記述子が書き込まれますが、固定サイズの配列の場合は書き込まれません。 Visual Basic 2005 では、記述子は書き込まれません。 記述子を記述するには、 ArrayIsDynamic パラメーターを True に設定します。 配列を書き込むときは、配列の読み取り方法と一致する必要があります。記述子で読み取られる場合は、記述子を記述する必要があります。 記述子は、配列のランク、サイズ、および各ランクの下限を指定します。 その長さは、2 + 8 次元数の 8 倍に等しくなります (2 + 8 * NumberOfDimensions)。 FileOpen関数のRecordLength句で指定されるレコード長は、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。 たとえば、次の配列宣言では、配列がディスクに書き込まれるときに 218 バイトが必要です。

    Dim MyArray(4, 9) As Integer
    
  • 書き込まれる変数が他の型の変数 (可変長文字列やオブジェクトではない) である場合、 FilePut は変数データのみを書き込みます。 FileOpen関数のRecordLength句で指定されるレコード長は、書き込まれるデータの長さ以上である必要があります。

  • FilePut は、要素間にパディングがない点を除き、それぞれが個別に書き込まれたかのように構造体の要素を書き込みます。 VBFixedString属性を構造体の文字列フィールドに適用して、ディスクに書き込むときに文字列のサイズを示すことができます。

    Note

    VBFixedString属性で指定されたバイト数を超える文字列フィールドは、ディスクに書き込まれると切り捨てられます。

バイナリ モード

Binary モードで開かれたファイルの場合、Random モードの規則のほとんどは適用され、一部の例外があります。 Binary モードで開かれたファイルに関する次の規則は、Random モードの規則とは異なります。

  • FileOpen関数のRecordLength句は無効です。 FilePut は、すべての変数を連続してディスクに書き込みます。つまり、レコード間の埋め込みは行われません。

  • 構造体内の配列以外の配列の場合、 FilePut はデータのみを書き込みます。 記述子は書き込まれません。

  • FilePut は、2 バイト長記述子のない構造体の要素ではない可変長文字列を書き込みます。 書き込まれるバイト数は、文字列の文字数と等しくなります。 たとえば、次のステートメントでは、ファイル番号 1 に 11 バイトが書き込まれます。

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • FilePut関数を使用してファイルに書き込むには、FileIOPermissionAccess列挙体からのWriteアクセスが必要です。

こちらもご覧ください

適用対象

FilePut(Int32, Array, Int64, Boolean, Boolean)

変数からディスク ファイルにデータを書き込みます。 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 は、 Random モードと Binary モードでのみ有効です。

FilePutで書き込まれたデータは、通常、FileGetを使用してファイルから読み取られます。

ファイルの最初のレコードまたはバイトは位置 1 になり、2 番目のレコードまたはバイトは位置 2 になります。これ以降も同様です。 RecordNumberを省略すると、最後のFileGetまたはFilePut関数の後の次のレコードまたはバイト、または最後のSeek関数が指すバイトが書き込まれます。

StringIsFixedLength引数は、関数が文字列を変数または固定長として解釈するかどうかを制御します。 FilePut 引数が Trueされている場合、長さ記述子は書き込まれません。 FilePutStringIsFixedLength = Trueを使用する場合は、FileGetで同じ操作を行う必要があり、文字列が予想される長さに初期化されていることを確認する必要があります。

ランダム モード

Random モードで開かれたファイルには、次の規則が適用されます。

  • 書き込まれるデータの長さが、FileOpen関数のRecordLength句で指定された長さより小さい場合、FilePutはレコード長の境界に後続のレコードを書き込みます。 1 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコードの長さが書き込まれるデータの長さと一致するようにすることをお勧めします。 書き込まれるデータの長さが、FileOpen関数のRecordLength句で指定された長さを超える場合は、例外がスローされます。

  • 書き込まれる変数が文字列の場合、 FilePut は文字列の長さを含む 2 バイトの記述子を書き込み、変数に入るデータを書き込みます。 したがって、FileOpen関数の RecordLength 句で指定されるレコード長は、文字列の実際の長さよりも少なくとも 2 バイト大きい必要があります。

  • 書き込まれる変数が数値型を含むオブジェクトの場合、 FilePut はオブジェクトの VarType を識別する 2 バイトを書き込み、変数を書き込みます。 たとえば、整数を含むオブジェクトを書き込む場合、 FilePut は、 VarType(3) (Integer) としてオブジェクトを識別する 2 バイトと、データを含む 4 バイトの 6 バイトを書き込みます。 FileOpen関数の RecordLength パラメーターで指定されるレコード長は、変数の格納に必要な実際のバイト数より少なくとも 2 バイト大きい必要があります。

  • 書き込まれる変数が文字列を含むオブジェクトの場合、 FilePut は、オブジェクトの VarType(8) を識別する 2 バイト記述子(文字列の長さを示す 2 バイト記述子)を書き込み、文字列データを書き込みます。 FileOpen関数の RecordLength パラメーターで指定されるレコード長は、文字列の実際の長さより少なくとも 4 バイト大きい必要があります。 記述子を含まない文字列を配置する場合は、 TrueStringIsFixedLength パラメーターに渡し、読み取る文字列は正しい長さにする必要があります。

  • 書き込む変数が配列の場合は、配列のサイズと次元の記述子を書き込むかどうかを選択できます。 Visual Basic 6.0 以前のバージョンでは、動的配列のファイル記述子が書き込まれますが、固定サイズの配列の場合は書き込まれません。 Visual Basic 2005 では、記述子は書き込まれません。 記述子を記述するには、 ArrayIsDynamic パラメーターを True に設定します。 配列を書き込むときは、配列の読み取り方法と一致する必要があります。記述子で読み取られる場合は、記述子を記述する必要があります。 記述子は、配列のランク、サイズ、および各ランクの下限を指定します。 その長さは、2 + 8 次元数の 8 倍に等しくなります (2 + 8 * NumberOfDimensions)。 FileOpen関数のRecordLength句で指定されるレコード長は、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。 たとえば、次の配列宣言では、配列がディスクに書き込まれるときに 218 バイトが必要です。

    Dim MyArray(4, 9) As Integer
    
  • 書き込まれる変数が他の型の変数 (可変長文字列やオブジェクトではない) である場合、 FilePut は変数データのみを書き込みます。 FileOpen関数のRecordLength句で指定されるレコード長は、書き込まれるデータの長さ以上である必要があります。

  • FilePut は、要素間にパディングがない点を除き、それぞれが個別に書き込まれたかのように構造体の要素を書き込みます。 VBFixedString属性を構造体の文字列フィールドに適用して、ディスクに書き込むときに文字列のサイズを示すことができます。

    Note

    VBFixedString属性で指定されたバイト数を超える文字列フィールドは、ディスクに書き込まれると切り捨てられます。

バイナリ モード

Binary モードで開かれたファイルの場合、Random モードの規則のほとんどは適用され、一部の例外があります。 Binary モードで開かれたファイルに関する次の規則は、Random モードの規則とは異なります。

  • FileOpen関数のRecordLength句は無効です。 FilePut は、すべての変数を連続してディスクに書き込みます。つまり、レコード間の埋め込みは行われません。

  • 構造体内の配列以外の配列の場合、 FilePut はデータのみを書き込みます。 記述子は書き込まれません。

  • FilePut は、2 バイト長記述子のない構造体の要素ではない可変長文字列を書き込みます。 書き込まれるバイト数は、文字列の文字数と等しくなります。 たとえば、次のステートメントでは、ファイル番号 1 に 11 バイトが書き込まれます。

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • FilePut関数を使用してファイルに書き込むには、FileIOPermissionAccess列挙体からのWriteアクセスが必要です。

こちらもご覧ください

適用対象

FilePut(Int32, Double, Int64)

変数からディスク ファイルにデータを書き込みます。 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 は、 Random モードと Binary モードでのみ有効です。

FilePutで書き込まれたデータは、通常、FileGetを使用してファイルから読み取られます。

ファイルの最初のレコードまたはバイトは位置 1 になり、2 番目のレコードまたはバイトは位置 2 になります。これ以降も同様です。 RecordNumberを省略すると、最後のFileGetまたはFilePut関数の後の次のレコードまたはバイト、または最後のSeek関数が指すバイトが書き込まれます。

StringIsFixedLength引数は、関数が文字列を変数または固定長として解釈するかどうかを制御します。 FilePut 引数が Trueされている場合、長さ記述子は書き込まれません。 FilePutStringIsFixedLength = Trueを使用する場合は、FileGetで同じ操作を行う必要があり、文字列が予想される長さに初期化されていることを確認する必要があります。

ランダム モード

Random モードで開かれたファイルには、次の規則が適用されます。

  • 書き込まれるデータの長さが、FileOpen関数のRecordLength句で指定された長さより小さい場合、FilePutはレコード長の境界に後続のレコードを書き込みます。 1 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコードの長さが書き込まれるデータの長さと一致するようにすることをお勧めします。 書き込まれるデータの長さが、FileOpen関数のRecordLength句で指定された長さを超える場合は、例外がスローされます。

  • 書き込まれる変数が文字列の場合、 FilePut は文字列の長さを含む 2 バイトの記述子を書き込み、変数に入るデータを書き込みます。 したがって、FileOpen関数の RecordLength 句で指定されるレコード長は、文字列の実際の長さよりも少なくとも 2 バイト大きい必要があります。

  • 書き込まれる変数が数値型を含むオブジェクトの場合、 FilePut はオブジェクトの VarType を識別する 2 バイトを書き込み、変数を書き込みます。 たとえば、整数を含むオブジェクトを書き込む場合、 FilePut は、 VarType(3) (Integer) としてオブジェクトを識別する 2 バイトと、データを含む 4 バイトの 6 バイトを書き込みます。 FileOpen関数の RecordLength パラメーターで指定されるレコード長は、変数の格納に必要な実際のバイト数より少なくとも 2 バイト大きい必要があります。

  • 書き込まれる変数が文字列を含むオブジェクトの場合、 FilePut は、オブジェクトの VarType(8) を識別する 2 バイト記述子(文字列の長さを示す 2 バイト記述子)を書き込み、文字列データを書き込みます。 FileOpen関数の RecordLength パラメーターで指定されるレコード長は、文字列の実際の長さより少なくとも 4 バイト大きい必要があります。 記述子を含まない文字列を配置する場合は、 TrueStringIsFixedLength パラメーターに渡し、読み取る文字列は正しい長さにする必要があります。

  • 書き込む変数が配列の場合は、配列のサイズと次元の記述子を書き込むかどうかを選択できます。 Visual Basic 6.0 以前のバージョンでは、動的配列のファイル記述子が書き込まれますが、固定サイズの配列の場合は書き込まれません。 Visual Basic 2005 では、記述子は書き込まれません。 記述子を記述するには、 ArrayIsDynamic パラメーターを True に設定します。 配列を書き込むときは、配列の読み取り方法と一致する必要があります。記述子で読み取られる場合は、記述子を記述する必要があります。 記述子は、配列のランク、サイズ、および各ランクの下限を指定します。 その長さは、2 + 8 次元数の 8 倍に等しくなります (2 + 8 * NumberOfDimensions)。 FileOpen関数のRecordLength句で指定されるレコード長は、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。 たとえば、次の配列宣言では、配列がディスクに書き込まれるときに 218 バイトが必要です。

    Dim MyArray(4, 9) As Integer
    
  • 書き込まれる変数が他の型の変数 (可変長文字列やオブジェクトではない) である場合、 FilePut は変数データのみを書き込みます。 FileOpen関数のRecordLength句で指定されるレコード長は、書き込まれるデータの長さ以上である必要があります。

  • FilePut は、要素間にパディングがない点を除き、それぞれが個別に書き込まれたかのように構造体の要素を書き込みます。 VBFixedString属性を構造体の文字列フィールドに適用して、ディスクに書き込むときに文字列のサイズを示すことができます。

    Note

    VBFixedString属性で指定されたバイト数を超える文字列フィールドは、ディスクに書き込まれると切り捨てられます。

バイナリ モード

Binary モードで開かれたファイルの場合、Random モードの規則のほとんどは適用され、一部の例外があります。 Binary モードで開かれたファイルに関する次の規則は、Random モードの規則とは異なります。

  • FileOpen関数のRecordLength句は無効です。 FilePut は、すべての変数を連続してディスクに書き込みます。つまり、レコード間の埋め込みは行われません。

  • 構造体内の配列以外の配列の場合、 FilePut はデータのみを書き込みます。 記述子は書き込まれません。

  • FilePut は、2 バイト長記述子のない構造体の要素ではない可変長文字列を書き込みます。 書き込まれるバイト数は、文字列の文字数と等しくなります。 たとえば、次のステートメントでは、ファイル番号 1 に 11 バイトが書き込まれます。

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • FilePut関数を使用してファイルに書き込むには、FileIOPermissionAccess列挙体からのWriteアクセスが必要です。

こちらもご覧ください

適用対象

FilePut(Int32, Decimal, Int64)

変数からディスク ファイルにデータを書き込みます。 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 は、 Random モードと Binary モードでのみ有効です。

FilePutで書き込まれたデータは、通常、FileGetを使用してファイルから読み取られます。

ファイルの最初のレコードまたはバイトは位置 1 になり、2 番目のレコードまたはバイトは位置 2 になります。これ以降も同様です。 RecordNumberを省略すると、最後のFileGetまたはFilePut関数の後の次のレコードまたはバイト、または最後のSeek関数が指すバイトが書き込まれます。

StringIsFixedLength引数は、関数が文字列を変数または固定長として解釈するかどうかを制御します。 FilePut 引数が Trueされている場合、長さ記述子は書き込まれません。 FilePutStringIsFixedLength = Trueを使用する場合は、FileGetで同じ操作を行う必要があり、文字列が予想される長さに初期化されていることを確認する必要があります。

ランダム モード

Random モードで開かれたファイルには、次の規則が適用されます。

  • 書き込まれるデータの長さが、FileOpen関数のRecordLength句で指定された長さより小さい場合、FilePutはレコード長の境界に後続のレコードを書き込みます。 1 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコードの長さが書き込まれるデータの長さと一致するようにすることをお勧めします。 書き込まれるデータの長さが、FileOpen関数のRecordLength句で指定された長さを超える場合は、例外がスローされます。

  • 書き込まれる変数が文字列の場合、 FilePut は文字列の長さを含む 2 バイトの記述子を書き込み、変数に入るデータを書き込みます。 したがって、FileOpen関数の RecordLength 句で指定されるレコード長は、文字列の実際の長さよりも少なくとも 2 バイト大きい必要があります。

  • 書き込まれる変数が数値型を含むオブジェクトの場合、 FilePut はオブジェクトの VarType を識別する 2 バイトを書き込み、変数を書き込みます。 たとえば、整数を含むオブジェクトを書き込む場合、 FilePut は、 VarType(3) (Integer) としてオブジェクトを識別する 2 バイトと、データを含む 4 バイトの 6 バイトを書き込みます。 FileOpen関数の RecordLength パラメーターで指定されるレコード長は、変数の格納に必要な実際のバイト数より少なくとも 2 バイト大きい必要があります。

  • 書き込まれる変数が文字列を含むオブジェクトの場合、 FilePut は、オブジェクトの VarType(8) を識別する 2 バイト記述子(文字列の長さを示す 2 バイト記述子)を書き込み、文字列データを書き込みます。 FileOpen関数の RecordLength パラメーターで指定されるレコード長は、文字列の実際の長さより少なくとも 4 バイト大きい必要があります。 記述子を含まない文字列を配置する場合は、 TrueStringIsFixedLength パラメーターに渡し、読み取る文字列は正しい長さにする必要があります。

  • 書き込む変数が配列の場合は、配列のサイズと次元の記述子を書き込むかどうかを選択できます。 Visual Basic 6.0 以前のバージョンでは、動的配列のファイル記述子が書き込まれますが、固定サイズの配列の場合は書き込まれません。 Visual Basic 2005 では、記述子は書き込まれません。 記述子を記述するには、 ArrayIsDynamic パラメーターを True に設定します。 配列を書き込むときは、配列の読み取り方法と一致する必要があります。記述子で読み取られる場合は、記述子を記述する必要があります。 記述子は、配列のランク、サイズ、および各ランクの下限を指定します。 その長さは、2 + 8 次元数の 8 倍に等しくなります (2 + 8 * NumberOfDimensions)。 FileOpen関数のRecordLength句で指定されるレコード長は、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。 たとえば、次の配列宣言では、配列がディスクに書き込まれるときに 218 バイトが必要です。

    Dim MyArray(4, 9) As Integer
    
  • 書き込まれる変数が他の型の変数 (可変長文字列やオブジェクトではない) である場合、 FilePut は変数データのみを書き込みます。 FileOpen関数のRecordLength句で指定されるレコード長は、書き込まれるデータの長さ以上である必要があります。

  • FilePut は、要素間にパディングがない点を除き、それぞれが個別に書き込まれたかのように構造体の要素を書き込みます。 VBFixedString属性を構造体の文字列フィールドに適用して、ディスクに書き込むときに文字列のサイズを示すことができます。

    Note

    VBFixedString属性で指定されたバイト数を超える文字列フィールドは、ディスクに書き込まれると切り捨てられます。

バイナリ モード

Binary モードで開かれたファイルの場合、Random モードの規則のほとんどは適用され、一部の例外があります。 Binary モードで開かれたファイルに関する次の規則は、Random モードの規則とは異なります。

  • FileOpen関数のRecordLength句は無効です。 FilePut は、すべての変数を連続してディスクに書き込みます。つまり、レコード間の埋め込みは行われません。

  • 構造体内の配列以外の配列の場合、 FilePut はデータのみを書き込みます。 記述子は書き込まれません。

  • FilePut は、2 バイト長記述子のない構造体の要素ではない可変長文字列を書き込みます。 書き込まれるバイト数は、文字列の文字数と等しくなります。 たとえば、次のステートメントでは、ファイル番号 1 に 11 バイトが書き込まれます。

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • FilePut関数を使用してファイルに書き込むには、FileIOPermissionAccess列挙体からのWriteアクセスが必要です。

こちらもご覧ください

適用対象

FilePut(Int32, DateTime, Int64)

変数からディスク ファイルにデータを書き込みます。 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 は、 Random モードと Binary モードでのみ有効です。

FilePutで書き込まれたデータは、通常、FileGetを使用してファイルから読み取られます。

ファイルの最初のレコードまたはバイトは位置 1 になり、2 番目のレコードまたはバイトは位置 2 になります。これ以降も同様です。 RecordNumberを省略すると、最後のFileGetまたはFilePut関数の後の次のレコードまたはバイト、または最後のSeek関数が指すバイトが書き込まれます。

StringIsFixedLength引数は、関数が文字列を変数または固定長として解釈するかどうかを制御します。 FilePut 引数が Trueされている場合、長さ記述子は書き込まれません。 FilePutStringIsFixedLength = Trueを使用する場合は、FileGetで同じ操作を行う必要があり、文字列が予想される長さに初期化されていることを確認する必要があります。

ランダム モード

Random モードで開かれたファイルには、次の規則が適用されます。

  • 書き込まれるデータの長さが、FileOpen関数のRecordLength句で指定された長さより小さい場合、FilePutはレコード長の境界に後続のレコードを書き込みます。 1 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコードの長さが書き込まれるデータの長さと一致するようにすることをお勧めします。 書き込まれるデータの長さが、FileOpen関数のRecordLength句で指定された長さを超える場合は、例外がスローされます。

  • 書き込まれる変数が文字列の場合、 FilePut は文字列の長さを含む 2 バイトの記述子を書き込み、変数に入るデータを書き込みます。 したがって、FileOpen関数の RecordLength 句で指定されるレコード長は、文字列の実際の長さよりも少なくとも 2 バイト大きい必要があります。

  • 書き込まれる変数が数値型を含むオブジェクトの場合、 FilePut はオブジェクトの VarType を識別する 2 バイトを書き込み、変数を書き込みます。 たとえば、整数を含むオブジェクトを書き込む場合、 FilePut は、 VarType(3) (Integer) としてオブジェクトを識別する 2 バイトと、データを含む 4 バイトの 6 バイトを書き込みます。 FileOpen関数の RecordLength パラメーターで指定されるレコード長は、変数の格納に必要な実際のバイト数より少なくとも 2 バイト大きい必要があります。

  • 書き込まれる変数が文字列を含むオブジェクトの場合、 FilePut は、オブジェクトの VarType(8) を識別する 2 バイト記述子(文字列の長さを示す 2 バイト記述子)を書き込み、文字列データを書き込みます。 FileOpen関数の RecordLength パラメーターで指定されるレコード長は、文字列の実際の長さより少なくとも 4 バイト大きい必要があります。 記述子を含まない文字列を配置する場合は、 TrueStringIsFixedLength パラメーターに渡し、読み取る文字列は正しい長さにする必要があります。

  • 書き込む変数が配列の場合は、配列のサイズと次元の記述子を書き込むかどうかを選択できます。 Visual Basic 6.0 以前のバージョンでは、動的配列のファイル記述子が書き込まれますが、固定サイズの配列の場合は書き込まれません。 Visual Basic 2005 では、記述子は書き込まれません。 記述子を記述するには、 ArrayIsDynamic パラメーターを True に設定します。 配列を書き込むときは、配列の読み取り方法と一致する必要があります。記述子で読み取られる場合は、記述子を記述する必要があります。 記述子は、配列のランク、サイズ、および各ランクの下限を指定します。 その長さは、2 + 8 次元数の 8 倍に等しくなります (2 + 8 * NumberOfDimensions)。 FileOpen関数のRecordLength句で指定されるレコード長は、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。 たとえば、次の配列宣言では、配列がディスクに書き込まれるときに 218 バイトが必要です。

    Dim MyArray(4, 9) As Integer
    
  • 書き込まれる変数が他の型の変数 (可変長文字列やオブジェクトではない) である場合、 FilePut は変数データのみを書き込みます。 FileOpen関数のRecordLength句で指定されるレコード長は、書き込まれるデータの長さ以上である必要があります。

  • FilePut は、要素間にパディングがない点を除き、それぞれが個別に書き込まれたかのように構造体の要素を書き込みます。 VBFixedString属性を構造体の文字列フィールドに適用して、ディスクに書き込むときに文字列のサイズを示すことができます。

    Note

    VBFixedString属性で指定されたバイト数を超える文字列フィールドは、ディスクに書き込まれると切り捨てられます。

バイナリ モード

Binary モードで開かれたファイルの場合、Random モードの規則のほとんどは適用され、一部の例外があります。 Binary モードで開かれたファイルに関する次の規則は、Random モードの規則とは異なります。

  • FileOpen関数のRecordLength句は無効です。 FilePut は、すべての変数を連続してディスクに書き込みます。つまり、レコード間の埋め込みは行われません。

  • 構造体内の配列以外の配列の場合、 FilePut はデータのみを書き込みます。 記述子は書き込まれません。

  • FilePut は、2 バイト長記述子のない構造体の要素ではない可変長文字列を書き込みます。 書き込まれるバイト数は、文字列の文字数と等しくなります。 たとえば、次のステートメントでは、ファイル番号 1 に 11 バイトが書き込まれます。

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • FilePut関数を使用してファイルに書き込むには、FileIOPermissionAccess列挙体からのWriteアクセスが必要です。

こちらもご覧ください

適用対象

FilePut(Int32, Char, Int64)

変数からディスク ファイルにデータを書き込みます。 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 は、 Random モードと Binary モードでのみ有効です。

FilePutで書き込まれたデータは、通常、FileGetを使用してファイルから読み取られます。

ファイルの最初のレコードまたはバイトは位置 1 になり、2 番目のレコードまたはバイトは位置 2 になります。これ以降も同様です。 RecordNumberを省略すると、最後のFileGetまたはFilePut関数の後の次のレコードまたはバイト、または最後のSeek関数が指すバイトが書き込まれます。

StringIsFixedLength引数は、関数が文字列を変数または固定長として解釈するかどうかを制御します。 FilePut 引数が Trueされている場合、長さ記述子は書き込まれません。 FilePutStringIsFixedLength = Trueを使用する場合は、FileGetで同じ操作を行う必要があり、文字列が予想される長さに初期化されていることを確認する必要があります。

ランダム モード

Random モードで開かれたファイルには、次の規則が適用されます。

  • 書き込まれるデータの長さが、FileOpen関数のRecordLength句で指定された長さより小さい場合、FilePutはレコード長の境界に後続のレコードを書き込みます。 1 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコードの長さが書き込まれるデータの長さと一致するようにすることをお勧めします。 書き込まれるデータの長さが、FileOpen関数のRecordLength句で指定された長さを超える場合は、例外がスローされます。

  • 書き込まれる変数が文字列の場合、 FilePut は文字列の長さを含む 2 バイトの記述子を書き込み、変数に入るデータを書き込みます。 したがって、FileOpen関数の RecordLength 句で指定されるレコード長は、文字列の実際の長さよりも少なくとも 2 バイト大きい必要があります。

  • 書き込まれる変数が数値型を含むオブジェクトの場合、 FilePut はオブジェクトの VarType を識別する 2 バイトを書き込み、変数を書き込みます。 たとえば、整数を含むオブジェクトを書き込む場合、 FilePut は、 VarType(3) (Integer) としてオブジェクトを識別する 2 バイトと、データを含む 4 バイトの 6 バイトを書き込みます。 FileOpen関数の RecordLength パラメーターで指定されるレコード長は、変数の格納に必要な実際のバイト数より少なくとも 2 バイト大きい必要があります。

  • 書き込まれる変数が文字列を含むオブジェクトの場合、 FilePut は、オブジェクトの VarType(8) を識別する 2 バイト記述子(文字列の長さを示す 2 バイト記述子)を書き込み、文字列データを書き込みます。 FileOpen関数の RecordLength パラメーターで指定されるレコード長は、文字列の実際の長さより少なくとも 4 バイト大きい必要があります。 記述子を含まない文字列を配置する場合は、 TrueStringIsFixedLength パラメーターに渡し、読み取る文字列は正しい長さにする必要があります。

  • 書き込む変数が配列の場合は、配列のサイズと次元の記述子を書き込むかどうかを選択できます。 Visual Basic 6.0 以前のバージョンでは、動的配列のファイル記述子が書き込まれますが、固定サイズの配列の場合は書き込まれません。 Visual Basic 2005 では、記述子は書き込まれません。 記述子を記述するには、 ArrayIsDynamic パラメーターを True に設定します。 配列を書き込むときは、配列の読み取り方法と一致する必要があります。記述子で読み取られる場合は、記述子を記述する必要があります。 記述子は、配列のランク、サイズ、および各ランクの下限を指定します。 その長さは、2 + 8 次元数の 8 倍に等しくなります (2 + 8 * NumberOfDimensions)。 FileOpen関数のRecordLength句で指定されるレコード長は、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。 たとえば、次の配列宣言では、配列がディスクに書き込まれるときに 218 バイトが必要です。

    Dim MyArray(4, 9) As Integer
    
  • 書き込まれる変数が他の型の変数 (可変長文字列やオブジェクトではない) である場合、 FilePut は変数データのみを書き込みます。 FileOpen関数のRecordLength句で指定されるレコード長は、書き込まれるデータの長さ以上である必要があります。

  • FilePut は、要素間にパディングがない点を除き、それぞれが個別に書き込まれたかのように構造体の要素を書き込みます。 VBFixedString属性を構造体の文字列フィールドに適用して、ディスクに書き込むときに文字列のサイズを示すことができます。

    Note

    VBFixedString属性で指定されたバイト数を超える文字列フィールドは、ディスクに書き込まれると切り捨てられます。

バイナリ モード

Binary モードで開かれたファイルの場合、Random モードの規則のほとんどは適用され、一部の例外があります。 Binary モードで開かれたファイルに関する次の規則は、Random モードの規則とは異なります。

  • FileOpen関数のRecordLength句は無効です。 FilePut は、すべての変数を連続してディスクに書き込みます。つまり、レコード間の埋め込みは行われません。

  • 構造体内の配列以外の配列の場合、 FilePut はデータのみを書き込みます。 記述子は書き込まれません。

  • FilePut は、2 バイト長記述子のない構造体の要素ではない可変長文字列を書き込みます。 書き込まれるバイト数は、文字列の文字数と等しくなります。 たとえば、次のステートメントでは、ファイル番号 1 に 11 バイトが書き込まれます。

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • FilePut関数を使用してファイルに書き込むには、FileIOPermissionAccess列挙体からのWriteアクセスが必要です。

こちらもご覧ください

適用対象

FilePut(Int32, Byte, Int64)

変数からディスク ファイルにデータを書き込みます。 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 は、 Random モードと Binary モードでのみ有効です。

FilePutで書き込まれたデータは、通常、FileGetを使用してファイルから読み取られます。

ファイルの最初のレコードまたはバイトは位置 1 になり、2 番目のレコードまたはバイトは位置 2 になります。これ以降も同様です。 RecordNumberを省略すると、最後のFileGetまたはFilePut関数の後の次のレコードまたはバイト、または最後のSeek関数が指すバイトが書き込まれます。

StringIsFixedLength引数は、関数が文字列を変数または固定長として解釈するかどうかを制御します。 FilePut 引数が Trueされている場合、長さ記述子は書き込まれません。 FilePutStringIsFixedLength = Trueを使用する場合は、FileGetで同じ操作を行う必要があり、文字列が予想される長さに初期化されていることを確認する必要があります。

ランダム モード

Random モードで開かれたファイルには、次の規則が適用されます。

  • 書き込まれるデータの長さが、FileOpen関数のRecordLength句で指定された長さより小さい場合、FilePutはレコード長の境界に後続のレコードを書き込みます。 1 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコードの長さが書き込まれるデータの長さと一致するようにすることをお勧めします。 書き込まれるデータの長さが、FileOpen関数のRecordLength句で指定された長さを超える場合は、例外がスローされます。

  • 書き込まれる変数が文字列の場合、 FilePut は文字列の長さを含む 2 バイトの記述子を書き込み、変数に入るデータを書き込みます。 したがって、FileOpen関数の RecordLength 句で指定されるレコード長は、文字列の実際の長さよりも少なくとも 2 バイト大きい必要があります。

  • 書き込まれる変数が数値型を含むオブジェクトの場合、 FilePut はオブジェクトの VarType を識別する 2 バイトを書き込み、変数を書き込みます。 たとえば、整数を含むオブジェクトを書き込む場合、 FilePut は、 VarType(3) (Integer) としてオブジェクトを識別する 2 バイトと、データを含む 4 バイトの 6 バイトを書き込みます。 FileOpen関数の RecordLength パラメーターで指定されるレコード長は、変数の格納に必要な実際のバイト数より少なくとも 2 バイト大きい必要があります。

  • 書き込まれる変数が文字列を含むオブジェクトの場合、 FilePut は、オブジェクトの VarType(8) を識別する 2 バイト記述子(文字列の長さを示す 2 バイト記述子)を書き込み、文字列データを書き込みます。 FileOpen関数の RecordLength パラメーターで指定されるレコード長は、文字列の実際の長さより少なくとも 4 バイト大きい必要があります。 記述子を含まない文字列を配置する場合は、 TrueStringIsFixedLength パラメーターに渡し、読み取る文字列は正しい長さにする必要があります。

  • 書き込む変数が配列の場合は、配列のサイズと次元の記述子を書き込むかどうかを選択できます。 Visual Basic 6.0 以前のバージョンでは、動的配列のファイル記述子が書き込まれますが、固定サイズの配列の場合は書き込まれません。 Visual Basic 2005 では、記述子は書き込まれません。 記述子を記述するには、 ArrayIsDynamic パラメーターを True に設定します。 配列を書き込むときは、配列の読み取り方法と一致する必要があります。記述子で読み取られる場合は、記述子を記述する必要があります。 記述子は、配列のランク、サイズ、および各ランクの下限を指定します。 その長さは、2 + 8 次元数の 8 倍に等しくなります (2 + 8 * NumberOfDimensions)。 FileOpen関数のRecordLength句で指定されるレコード長は、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。 たとえば、次の配列宣言では、配列がディスクに書き込まれるときに 218 バイトが必要です。

    Dim MyArray(4, 9) As Integer
    
  • 書き込まれる変数が他の型の変数 (可変長文字列やオブジェクトではない) である場合、 FilePut は変数データのみを書き込みます。 FileOpen関数のRecordLength句で指定されるレコード長は、書き込まれるデータの長さ以上である必要があります。

  • FilePut は、要素間にパディングがない点を除き、それぞれが個別に書き込まれたかのように構造体の要素を書き込みます。 VBFixedString属性を構造体の文字列フィールドに適用して、ディスクに書き込むときに文字列のサイズを示すことができます。

    Note

    VBFixedString属性で指定されたバイト数を超える文字列フィールドは、ディスクに書き込まれると切り捨てられます。

バイナリ モード

Binary モードで開かれたファイルの場合、Random モードの規則のほとんどは適用され、一部の例外があります。 Binary モードで開かれたファイルに関する次の規則は、Random モードの規則とは異なります。

  • FileOpen関数のRecordLength句は無効です。 FilePut は、すべての変数を連続してディスクに書き込みます。つまり、レコード間の埋め込みは行われません。

  • 構造体内の配列以外の配列の場合、 FilePut はデータのみを書き込みます。 記述子は書き込まれません。

  • FilePut は、2 バイト長記述子のない構造体の要素ではない可変長文字列を書き込みます。 書き込まれるバイト数は、文字列の文字数と等しくなります。 たとえば、次のステートメントでは、ファイル番号 1 に 11 バイトが書き込まれます。

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • FilePut関数を使用してファイルに書き込むには、FileIOPermissionAccess列挙体からのWriteアクセスが必要です。

こちらもご覧ください

適用対象

FilePut(Int32, Boolean, Int64)

変数からディスク ファイルにデータを書き込みます。 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 は、 Random モードと Binary モードでのみ有効です。

FilePutで書き込まれたデータは、通常、FileGetを使用してファイルから読み取られます。

ファイルの最初のレコードまたはバイトは位置 1 になり、2 番目のレコードまたはバイトは位置 2 になります。これ以降も同様です。 RecordNumberを省略すると、最後のFileGetまたはFilePut関数の後の次のレコードまたはバイト、または最後のSeek関数が指すバイトが書き込まれます。

StringIsFixedLength引数は、関数が文字列を変数または固定長として解釈するかどうかを制御します。 FilePut 引数が Trueされている場合、長さ記述子は書き込まれません。 FilePutStringIsFixedLength = Trueを使用する場合は、FileGetで同じ操作を行う必要があり、文字列が予想される長さに初期化されていることを確認する必要があります。

ランダム モード

Random モードで開かれたファイルには、次の規則が適用されます。

  • 書き込まれるデータの長さが、FileOpen関数のRecordLength句で指定された長さより小さい場合、FilePutはレコード長の境界に後続のレコードを書き込みます。 1 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコードの長さが書き込まれるデータの長さと一致するようにすることをお勧めします。 書き込まれるデータの長さが、FileOpen関数のRecordLength句で指定された長さを超える場合は、例外がスローされます。

  • 書き込まれる変数が文字列の場合、 FilePut は文字列の長さを含む 2 バイトの記述子を書き込み、変数に入るデータを書き込みます。 したがって、FileOpen関数の RecordLength 句で指定されるレコード長は、文字列の実際の長さよりも少なくとも 2 バイト大きい必要があります。

  • 書き込まれる変数が数値型を含むオブジェクトの場合、 FilePut はオブジェクトの VarType を識別する 2 バイトを書き込み、変数を書き込みます。 たとえば、整数を含むオブジェクトを書き込む場合、 FilePut は、 VarType(3) (Integer) としてオブジェクトを識別する 2 バイトと、データを含む 4 バイトの 6 バイトを書き込みます。 FileOpen関数の RecordLength パラメーターで指定されるレコード長は、変数の格納に必要な実際のバイト数より少なくとも 2 バイト大きい必要があります。

  • 書き込まれる変数が文字列を含むオブジェクトの場合、 FilePut は、オブジェクトの VarType(8) を識別する 2 バイト記述子(文字列の長さを示す 2 バイト記述子)を書き込み、文字列データを書き込みます。 FileOpen関数の RecordLength パラメーターで指定されるレコード長は、文字列の実際の長さより少なくとも 4 バイト大きい必要があります。 記述子を含まない文字列を配置する場合は、 TrueStringIsFixedLength パラメーターに渡し、読み取る文字列は正しい長さにする必要があります。

  • 書き込む変数が配列の場合は、配列のサイズと次元の記述子を書き込むかどうかを選択できます。 Visual Basic 6.0 以前のバージョンでは、動的配列のファイル記述子が書き込まれますが、固定サイズの配列の場合は書き込まれません。 Visual Basic 2005 では、記述子は書き込まれません。 記述子を記述するには、 ArrayIsDynamic パラメーターを True に設定します。 配列を書き込むときは、配列の読み取り方法と一致する必要があります。記述子で読み取られる場合は、記述子を記述する必要があります。 記述子は、配列のランク、サイズ、および各ランクの下限を指定します。 その長さは、2 + 8 次元数の 8 倍に等しくなります (2 + 8 * NumberOfDimensions)。 FileOpen関数のRecordLength句で指定されるレコード長は、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。 たとえば、次の配列宣言では、配列がディスクに書き込まれるときに 218 バイトが必要です。

    Dim MyArray(4, 9) As Integer
    
  • 書き込まれる変数が他の型の変数 (可変長文字列やオブジェクトではない) である場合、 FilePut は変数データのみを書き込みます。 FileOpen関数のRecordLength句で指定されるレコード長は、書き込まれるデータの長さ以上である必要があります。

  • FilePut は、要素間にパディングがない点を除き、それぞれが個別に書き込まれたかのように構造体の要素を書き込みます。 VBFixedString属性を構造体の文字列フィールドに適用して、ディスクに書き込むときに文字列のサイズを示すことができます。

    Note

    VBFixedString属性で指定されたバイト数を超える文字列フィールドは、ディスクに書き込まれると切り捨てられます。

バイナリ モード

Binary モードで開かれたファイルの場合、Random モードの規則のほとんどは適用され、一部の例外があります。 Binary モードで開かれたファイルに関する次の規則は、Random モードの規則とは異なります。

  • FileOpen関数のRecordLength句は無効です。 FilePut は、すべての変数を連続してディスクに書き込みます。つまり、レコード間の埋め込みは行われません。

  • 構造体内の配列以外の配列の場合、 FilePut はデータのみを書き込みます。 記述子は書き込まれません。

  • FilePut は、2 バイト長記述子のない構造体の要素ではない可変長文字列を書き込みます。 書き込まれるバイト数は、文字列の文字数と等しくなります。 たとえば、次のステートメントでは、ファイル番号 1 に 11 バイトが書き込まれます。

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • FilePut関数を使用してファイルに書き込むには、FileIOPermissionAccess列挙体からのWriteアクセスが必要です。

こちらもご覧ください

適用対象

FilePut(Int32, Int16, Int64)

変数からディスク ファイルにデータを書き込みます。 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 は、 Random モードと Binary モードでのみ有効です。

FilePutで書き込まれたデータは、通常、FileGetを使用してファイルから読み取られます。

ファイルの最初のレコードまたはバイトは位置 1 になり、2 番目のレコードまたはバイトは位置 2 になります。これ以降も同様です。 RecordNumberを省略すると、最後のFileGetまたはFilePut関数の後の次のレコードまたはバイト、または最後のSeek関数が指すバイトが書き込まれます。

StringIsFixedLength引数は、関数が文字列を変数または固定長として解釈するかどうかを制御します。 FilePut 引数が Trueされている場合、長さ記述子は書き込まれません。 FilePutStringIsFixedLength = Trueを使用する場合は、FileGetで同じ操作を行う必要があり、文字列が予想される長さに初期化されていることを確認する必要があります。

ランダム モード

Random モードで開かれたファイルには、次の規則が適用されます。

  • 書き込まれるデータの長さが、FileOpen関数のRecordLength句で指定された長さより小さい場合、FilePutはレコード長の境界に後続のレコードを書き込みます。 1 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコードの長さが書き込まれるデータの長さと一致するようにすることをお勧めします。 書き込まれるデータの長さが、FileOpen関数のRecordLength句で指定された長さを超える場合は、例外がスローされます。

  • 書き込まれる変数が文字列の場合、 FilePut は文字列の長さを含む 2 バイトの記述子を書き込み、変数に入るデータを書き込みます。 したがって、FileOpen関数の RecordLength 句で指定されるレコード長は、文字列の実際の長さよりも少なくとも 2 バイト大きい必要があります。

  • 書き込まれる変数が数値型を含むオブジェクトの場合、 FilePut はオブジェクトの VarType を識別する 2 バイトを書き込み、変数を書き込みます。 たとえば、整数を含むオブジェクトを書き込む場合、 FilePut は、 VarType(3) (Integer) としてオブジェクトを識別する 2 バイトと、データを含む 4 バイトの 6 バイトを書き込みます。 FileOpen関数の RecordLength パラメーターで指定されるレコード長は、変数の格納に必要な実際のバイト数より少なくとも 2 バイト大きい必要があります。

  • 書き込まれる変数が文字列を含むオブジェクトの場合、 FilePut は、オブジェクトのVarType(8) 、文字列の長さを示す 2 バイト記述子を識別する 2 バイト記述子を書き込み、文字列データを書き込みます。 FileOpen関数の RecordLength パラメーターで指定されるレコード長は、文字列の実際の長さより少なくとも 4 バイト大きい必要があります。 記述子を含まない文字列を配置する場合は、 TrueStringIsFixedLength パラメーターに渡し、読み取る文字列は正しい長さにする必要があります。

  • 書き込む変数が配列の場合は、配列のサイズと次元の記述子を書き込むかどうかを選択できます。 Visual Basic 6.0 以前のバージョンでは、動的配列のファイル記述子が書き込まれますが、固定サイズの配列の場合は書き込まれません。 Visual Basic 2005 では、記述子は書き込まれません。 記述子を記述するには、 ArrayIsDynamic パラメーターを True に設定します。 配列を書き込むときは、配列の読み取り方法と一致する必要があります。記述子で読み取られる場合は、記述子を記述する必要があります。 記述子は、配列のランク、サイズ、および各ランクの下限を指定します。 その長さは、2 + 8 次元数の 8 倍に等しくなります (2 + 8 * NumberOfDimensions)。 FileOpen関数のRecordLength句で指定されるレコード長は、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。 たとえば、次の配列宣言では、配列がディスクに書き込まれるときに 218 バイトが必要です。

    Dim MyArray(4, 9) As Integer
    
  • 書き込まれる変数が他の型の変数 (可変長文字列やオブジェクトではない) である場合、 FilePut は変数データのみを書き込みます。 FileOpen関数のRecordLength句で指定されるレコード長は、書き込まれるデータの長さ以上である必要があります。

  • FilePut は、要素間にパディングがない点を除き、それぞれが個別に書き込まれたかのように構造体の要素を書き込みます。 VBFixedString属性を構造体の文字列フィールドに適用して、ディスクに書き込むときに文字列のサイズを示すことができます。

    Note

    VBFixedString属性で指定されたバイト数を超える文字列フィールドは、ディスクに書き込まれると切り捨てられます。

バイナリ モード

Binary モードで開かれたファイルの場合、Random モードの規則のほとんどは適用され、一部の例外があります。 Binary モードで開かれたファイルに関する次の規則は、Random モードの規則とは異なります。

  • FileOpen関数のRecordLength句は無効です。 FilePut は、すべての変数を連続してディスクに書き込みます。つまり、レコード間の埋め込みは行われません。

  • 構造体内の配列以外の配列の場合、 FilePut はデータのみを書き込みます。 記述子は書き込まれません。

  • FilePut は、2 バイト長記述子のない構造体の要素ではない可変長文字列を書き込みます。 書き込まれるバイト数は、文字列の文字数と等しくなります。 たとえば、次のステートメントでは、ファイル番号 1 に 11 バイトが書き込まれます。

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • FilePut関数を使用してファイルに書き込むには、FileIOPermissionAccess列挙体からのWriteアクセスが必要です。

こちらもご覧ください

適用対象