次の方法で共有


FileSystem.FilePut メソッド

定義

変数の内容をディスク上のファイルに書き込みます。 My 機能を使用すると、FilePut よりもファイル I/O 処理の生産性とパフォーマンスが向上します。 詳細については、「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)

ソース:
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 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコード長を書き込むデータの長さと一致することをお勧めします。 書き込まれるデータの長さが関数の 句FileOpenRecordLength指定された長さを超える場合は、例外がスローされます。

  • 書き込まれる変数が文字列の場合は、 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 バイト大きくする必要があります。 記述子を使用せずに文字列を配置する場合は、 パラメーターにを渡 TrueStringIsFixedLength 必要があります。読み取り先の文字列は正しい長さである必要があります。

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

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

  • 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です。

こちらもご覧ください

適用対象

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 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコード長を書き込むデータの長さと一致することをお勧めします。 書き込まれるデータの長さが関数の 句FileOpenRecordLength指定された長さを超える場合は、例外がスローされます。

  • 書き込まれる変数が文字列の場合は、 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 バイト大きくする必要があります。 記述子を使用せずに文字列を配置する場合は、 パラメーターにを渡 TrueStringIsFixedLength 必要があります。読み取り先の文字列は正しい長さである必要があります。

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

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

  • 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です。

こちらもご覧ください

適用対象

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 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコード長を書き込むデータの長さと一致することをお勧めします。 書き込まれるデータの長さが関数の 句FileOpenRecordLength指定された長さを超える場合は、例外がスローされます。

  • 書き込まれる変数が文字列の場合は、 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 バイト大きくする必要があります。 記述子を使用せずに文字列を配置する場合は、 パラメーターにを渡 TrueStringIsFixedLength 必要があります。読み取り先の文字列は正しい長さである必要があります。

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

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

  • 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です。

こちらもご覧ください

適用対象

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 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコード長を書き込むデータの長さと一致することをお勧めします。 書き込まれるデータの長さが関数の 句FileOpenRecordLength指定された長さを超える場合は、例外がスローされます。

  • 書き込まれる変数が文字列の場合は、 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 バイト大きくする必要があります。 記述子を使用せずに文字列を配置する場合は、 パラメーターにを渡 TrueStringIsFixedLength 必要があります。読み取り先の文字列は正しい長さである必要があります。

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

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

  • 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です。

こちらもご覧ください

適用対象

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 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコード長を書き込むデータの長さと一致することをお勧めします。 書き込まれるデータの長さが関数の 句FileOpenRecordLength指定された長さを超える場合は、例外がスローされます。

  • 書き込まれる変数が文字列の場合は、 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 バイト大きくする必要があります。 記述子を使用せずに文字列を配置する場合は、 パラメーターにを渡 TrueStringIsFixedLength 必要があります。読み取り先の文字列は正しい長さである必要があります。

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

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

  • 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です。

こちらもご覧ください

適用対象

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した場合、最後または最後の関数の後、または最後FileGetSeekの関数が指す次のレコードまたはFilePutバイトが書き込まれます。

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

ランダム モード

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

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

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

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

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

  • 書き込まれる変数が配列の場合は、配列のサイズと次元の記述子を記述するかどうかを選択できます。 Visual Basic 6.0 以前のバージョンでは、動的配列のファイル記述子が書き込まれますが、固定サイズ配列の場合は書き込まれません。 Visual Basic 2005 の既定では、記述子は書き込まれません。 記述子を書き込むには、 パラメーターを ArrayIsDynamicTrue設定します。 配列を書き込むときは、配列の読み取り方法と一致する必要があります。記述子で読み取られる場合は、記述子を記述する必要があります。 記述子は、配列のランク、サイズ、および各ランクの下限を指定します。 その長さは、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です。

こちらもご覧ください

適用対象

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した場合、最後または最後の関数の後、または最後FileGetSeekの関数が指す次のレコードまたはFilePutバイトが書き込まれます。

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

ランダム モード

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

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

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

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

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

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

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

  • 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です。

こちらもご覧ください

適用対象

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 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコード長を書き込むデータの長さと一致することをお勧めします。 書き込まれるデータの長さが関数の 句FileOpenRecordLength指定された長さを超える場合は、例外がスローされます。

  • 書き込まれる変数が文字列の場合は、 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 バイト大きくする必要があります。 記述子を使用せずに文字列を配置する場合は、 パラメーターにを渡 TrueStringIsFixedLength 必要があります。読み取り先の文字列は正しい長さである必要があります。

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

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

  • 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です。

こちらもご覧ください

適用対象

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 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコード長を書き込むデータの長さと一致することをお勧めします。 書き込まれるデータの長さが関数の 句FileOpenRecordLength指定された長さを超える場合は、例外がスローされます。

  • 書き込まれる変数が文字列の場合は、 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 バイト大きくする必要があります。 記述子を使用せずに文字列を配置する場合は、 パラメーターにを渡 TrueStringIsFixedLength 必要があります。読み取り先の文字列は正しい長さである必要があります。

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

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

  • 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です。

こちらもご覧ください

適用対象

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 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコード長を書き込むデータの長さと一致することをお勧めします。 書き込まれるデータの長さが関数の 句FileOpenRecordLength指定された長さを超える場合は、例外がスローされます。

  • 書き込まれる変数が文字列の場合は、 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 バイト大きくする必要があります。 記述子を使用せずに文字列を配置する場合は、 パラメーターにを渡 TrueStringIsFixedLength 必要があります。読み取り先の文字列は正しい長さである必要があります。

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

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

  • 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です。

こちらもご覧ください

適用対象

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 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコード長を書き込むデータの長さと一致することをお勧めします。 書き込まれるデータの長さが関数の 句FileOpenRecordLength指定された長さを超える場合は、例外がスローされます。

  • 書き込まれる変数が文字列の場合は、 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 バイト大きくする必要があります。 記述子を使用せずに文字列を配置する場合は、 パラメーターにを渡 TrueStringIsFixedLength 必要があります。読み取り先の文字列は正しい長さである必要があります。

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

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

  • 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です。

こちらもご覧ください

適用対象

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 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコード長を書き込むデータの長さと一致することをお勧めします。 書き込まれるデータの長さが関数の 句FileOpenRecordLength指定された長さを超える場合は、例外がスローされます。

  • 書き込まれる変数が文字列の場合は、 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 バイト大きくする必要があります。 記述子を使用せずに文字列を配置する場合は、 パラメーターにを渡 TrueStringIsFixedLength 必要があります。読み取り先の文字列は正しい長さである必要があります。

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

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

  • 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です。

こちらもご覧ください

適用対象

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 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコード長を書き込むデータの長さと一致することをお勧めします。 書き込まれるデータの長さが関数の 句FileOpenRecordLength指定された長さを超える場合は、例外がスローされます。

  • 書き込まれる変数が文字列の場合は、 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 バイト大きくする必要があります。 記述子を使用せずに文字列を配置する場合は、 パラメーターにを渡 TrueStringIsFixedLength 必要があります。読み取り先の文字列は正しい長さである必要があります。

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

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

  • 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です。

こちらもご覧ください

適用対象

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 つのレコードの末尾と次のレコードの先頭の間のスペースには、ファイル バッファーの既存の内容が埋め込まれます。 埋め込みデータの量は確実に決定できないため、通常、レコード長を書き込むデータの長さと一致することをお勧めします。 書き込まれるデータの長さが関数の 句FileOpenRecordLength指定された長さを超える場合は、例外がスローされます。

  • 書き込まれる変数が文字列の場合は、 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 バイト大きくする必要があります。 記述子を使用せずに文字列を配置する場合は、 パラメーターにを渡 TrueStringIsFixedLength 必要があります。読み取り先の文字列は正しい長さである必要があります。

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

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

  • 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です。

こちらもご覧ください

適用対象