FileSystem.FileGet FileSystem.FileGet FileSystem.FileGet Method

定義

開いたディスク ファイルからデータを読み込んで変数に格納します。Reads data from an open disk file into a variable. My 機能を使用すると、FileGet よりもファイル I/O 処理の生産性とパフォーマンスが向上します。The My feature gives you better productivity and performance in file I/O operations than FileGet. 詳細については、「 FileSystem」を参照してください。For more information, see FileSystem.

オーバーロード

FileGet(Int32, Array, Int64, Boolean, Boolean) FileGet(Int32, Array, Int64, Boolean, Boolean) FileGet(Int32, Array, Int64, Boolean, Boolean)

開いたディスク ファイルからデータを読み込んで変数に格納します。Reads data from an open disk file into a variable. My 機能を使用すると、FileGet よりもファイル I/O 処理の生産性とパフォーマンスが向上します。The My feature gives you better productivity and performance in file I/O operations than FileGet. 詳細については、「FileSystem」を参照してください。For more information, see FileSystem.

FileGet(Int32, String, Int64, Boolean) FileGet(Int32, String, Int64, Boolean) FileGet(Int32, String, Int64, Boolean)

開いたディスク ファイルからデータを読み込んで変数に格納します。Reads data from an open disk file into a variable. My 機能を使用すると、FileGet よりもファイル I/O 処理の生産性とパフォーマンスが向上します。The My feature gives you better productivity and performance in file I/O operations than FileGet. 詳細については、「FileSystem」を参照してください。For more information, see FileSystem.

FileGet(Int32, ValueType, Int64) FileGet(Int32, ValueType, Int64) FileGet(Int32, ValueType, Int64)

開いたディスク ファイルからデータを読み込んで変数に格納します。Reads data from an open disk file into a variable. My 機能を使用すると、FileGet よりもファイル I/O 処理の生産性とパフォーマンスが向上します。The My feature gives you better productivity and performance in file I/O operations than FileGet. 詳細については、「FileSystem」を参照してください。For more information, see FileSystem.

FileGet(Int32, Single, Int64) FileGet(Int32, Single, Int64) FileGet(Int32, Single, Int64)

開いたディスク ファイルからデータを読み込んで変数に格納します。Reads data from an open disk file into a variable. My 機能を使用すると、FileGet よりもファイル I/O 処理の生産性とパフォーマンスが向上します。The My feature gives you better productivity and performance in file I/O operations than FileGet. 詳細については、「FileSystem」を参照してください。For more information, see FileSystem.

FileGet(Int32, Int64, Int64) FileGet(Int32, Int64, Int64) FileGet(Int32, Int64, Int64)

開いたディスク ファイルからデータを読み込んで変数に格納します。Reads data from an open disk file into a variable. My 機能を使用すると、FileGet よりもファイル I/O 処理の生産性とパフォーマンスが向上します。The My feature gives you better productivity and performance in file I/O operations than FileGet. 詳細については、「FileSystem」を参照してください。For more information, see FileSystem.

FileGet(Int32, Int32, Int64) FileGet(Int32, Int32, Int64) FileGet(Int32, Int32, Int64)

開いたディスク ファイルからデータを読み込んで変数に格納します。Reads data from an open disk file into a variable. My 機能を使用すると、FileGet よりもファイル I/O 処理の生産性とパフォーマンスが向上します。The My feature gives you better productivity and performance in file I/O operations than FileGet. 詳細については、「FileSystem」を参照してください。For more information, see FileSystem.

FileGet(Int32, Decimal, Int64) FileGet(Int32, Decimal, Int64) FileGet(Int32, Decimal, Int64)

開いたディスク ファイルからデータを読み込んで変数に格納します。Reads data from an open disk file into a variable. My 機能を使用すると、FileGet よりもファイル I/O 処理の生産性とパフォーマンスが向上します。The My feature gives you better productivity and performance in file I/O operations than FileGet. 詳細については、「FileSystem」を参照してください。For more information, see FileSystem.

FileGet(Int32, Double, Int64) FileGet(Int32, Double, Int64) FileGet(Int32, Double, Int64)

開いたディスク ファイルからデータを読み込んで変数に格納します。Reads data from an open disk file into a variable. My 機能を使用すると、FileGet よりもファイル I/O 処理の生産性とパフォーマンスが向上します。The My feature gives you better productivity and performance in file I/O operations than FileGet. 詳細については、「FileSystem」を参照してください。For more information, see FileSystem.

FileGet(Int32, DateTime, Int64) FileGet(Int32, DateTime, Int64) FileGet(Int32, DateTime, Int64)

開いたディスク ファイルからデータを読み込んで変数に格納します。Reads data from an open disk file into a variable. My 機能を使用すると、FileGet よりもファイル I/O 処理の生産性とパフォーマンスが向上します。The My feature gives you better productivity and performance in file I/O operations than FileGet. 詳細については、「FileSystem」を参照してください。For more information, see FileSystem.

FileGet(Int32, Char, Int64) FileGet(Int32, Char, Int64) FileGet(Int32, Char, Int64)

開いたディスク ファイルからデータを読み込んで変数に格納します。Reads data from an open disk file into a variable. My 機能を使用すると、FileGet よりもファイル I/O 処理の生産性とパフォーマンスが向上します。The My feature gives you better productivity and performance in file I/O operations than FileGet. 詳細については、「FileSystem」を参照してください。For more information, see FileSystem.

FileGet(Int32, Byte, Int64) FileGet(Int32, Byte, Int64) FileGet(Int32, Byte, Int64)

開いたディスク ファイルからデータを読み込んで変数に格納します。Reads data from an open disk file into a variable. My 機能を使用すると、FileGet よりもファイル I/O 処理の生産性とパフォーマンスが向上します。The My feature gives you better productivity and performance in file I/O operations than FileGet. 詳細については、「FileSystem」を参照してください。For more information, see FileSystem.

FileGet(Int32, Boolean, Int64) FileGet(Int32, Boolean, Int64) FileGet(Int32, Boolean, Int64)

開いたディスク ファイルからデータを読み込んで変数に格納します。Reads data from an open disk file into a variable. My 機能を使用すると、FileGet よりもファイル I/O 処理の生産性とパフォーマンスが向上します。The My feature gives you better productivity and performance in file I/O operations than FileGet. 詳細については、「FileSystem」を参照してください。For more information, see FileSystem

FileGet(Int32, Int16, Int64) FileGet(Int32, Int16, Int64) FileGet(Int32, Int16, Int64)

開いたディスク ファイルからデータを読み込んで変数に格納します。Reads data from an open disk file into a variable. My 機能を使用すると、FileGet よりもファイル I/O 処理の生産性とパフォーマンスが向上します。The My feature gives you better productivity and performance in file I/O operations than FileGet. 詳細については、「FileSystem」を参照してください。For more information, see FileSystem.

FileGet(Int32, Array, Int64, Boolean, Boolean) FileGet(Int32, Array, Int64, Boolean, Boolean) FileGet(Int32, Array, Int64, Boolean, Boolean)

開いたディスク ファイルからデータを読み込んで変数に格納します。Reads data from an open disk file into a variable. My 機能を使用すると、FileGet よりもファイル I/O 処理の生産性とパフォーマンスが向上します。The My feature gives you better productivity and performance in file I/O operations than FileGet. 詳細については、「FileSystem」を参照してください。For more information, see FileSystem.

public static void FileGet (int FileNumber, ref Array Value, long RecordNumber = -1, bool ArrayIsDynamic = false, bool StringIsFixedLength = false);
static member FileGet : int *  * int64 * bool * bool -> unit
Public Sub FileGet (FileNumber As Integer, ByRef Value As Array, Optional RecordNumber As Long = -1, Optional ArrayIsDynamic As Boolean = false, Optional StringIsFixedLength As Boolean = false)

パラメーター

FileNumber
Int32 Int32 Int32

必須です。Required. 任意の有効なファイル数。Any valid file number.

Value
Array Array Array

必須です。Required. データの読み込み先となる有効な変数名。Valid variable name into which data is read.

RecordNumber
Int64 Int64 Int64

任意。Optional. 読み込みを開始する位置の、レコード数 (Random モードのファイル) またはバイト数 (Binary モードのファイル)。Record number (Random mode files) or byte number (Binary mode files) at which reading starts.

ArrayIsDynamic
Boolean Boolean Boolean

任意。Optional. 文字列を書き込む場合のみ適用します。Applies only when writing an array. 配列を動的として扱うかどうか、およびサイズと境界を表す配列記述子が必要かどうかを指定します。Specifies whether the array is to be treated as dynamic and whether an array descriptor describing the size and bounds of the array is necessary.

StringIsFixedLength
Boolean Boolean Boolean

任意。Optional. 文字列を書き込む場合のみ適用します。Applies only when writing a string. 長さを表す文字列に対して 2 バイトの記述子を書き込むかどうかを指定します。Specifies whether to write a two-byte descriptor for the string that describes the length. 既定値は、False です。The default is False.

例外

RecordNumber は < 1 で、-1 と等しくありません。RecordNumber < 1 and not equal to -1.

ファイル モードが無効です。File mode is invalid.

注釈

FileGetは、およびBinaryモードRandomでのみ有効です。FileGet is valid only in Random and Binary mode.

FileGet読み取られるデータは、通常、を使用FilePutしてファイルに書き込まれます。Data read with FileGet is usually written to a file by using FilePut.

ファイル内の最初のレコードまたはバイトの位置は1、2番目のレコード、またはバイトの位置は2になります。The first record or byte in a file is at position 1, the second record or byte is at position 2, and so on. を省略RecordNumberした場合、最後FileGetのまたFilePutは関数 (または最後Seekの関数によって参照される) に続く次のレコードまたはバイトが読み取られます。If you omit RecordNumber, the next record or byte following the last FileGet or FilePut function (or pointed to by the last Seek function) is read.

重要

ファイルから読み取る場合は、ファイル名拡張子に基づいてファイルの内容を決定しないでください。When reading from files, do not make decisions about the contents of a file based on the file name extension. たとえば、Form1.vb という名前のファイルを Visual Basic ソースファイルにすることはできません。For example, a file that is named Form1.vb may not be a Visual Basic source file.

ランダムモードRandom Mode

モードでRandom開かれたファイルの場合、次の規則が適用されます。For files opened in Random mode, the following rules apply:

  • 読み取られるデータの長さが、 RecordLength FileOpen関数の句で指定された長さよりも少ない場合、 FileGetは、レコード長の境界の後続のレコードを読み取ります。If the length of the data being read is less than the length specified in the RecordLength clause of the FileOpen function, FileGet reads subsequent records on record-length boundaries. 1つのレコードの末尾と次のレコードの先頭との間のスペースは、ファイルバッファーの既存の内容に埋め込まれます。The space between the end of one record and the starting of the next record is padded with the existing contents of the file buffer. 埋め込みデータの量はいかなる確実性でも判断できないため、通常は、レコードの長さを読み取り中のデータの長さと一致させることをお勧めします。Because the amount of padding data cannot be determined with any certainty, it is generally a good idea to have the record length match the length of the data being read.

  • 既定では、に読み込む変数が文字列FileGetである場合、は文字列の長さを含む2バイトの記述子を読み取り、変数に入力されたデータを読み取ります。By default, if the variable being read into is a string, FileGet reads a two-byte descriptor that contains the string length and then reads the data that goes into the variable. したがって、 RecordLength FileOpen関数の句で指定されるレコードの長さは、文字列の実際の長さよりも2バイト以上である必要があります。Therefore, the record length specified by the RecordLength clause of the FileOpen function must be at least two bytes greater than the actual length of the string. Visual Basic 6.0 以前のバージョンでは固定長文字列がサポートされています。ファイルに書き込む場合、長さ記述子は書き込まれません。Visual Basic 6.0 and earlier versions support fixed-length strings; when put to a file, the length descriptor is not written. 記述子を含まない文字列を読み取る場合は、 True StringIsFixedLengthパラメーターにを渡す必要があります。また、読み取る文字列は正しい長さである必要があります。If you want to read a string without the descriptor, you should pass True to the StringIsFixedLength parameter, and the string you read into should be the correct length.

  • に読み取る変数が配列の場合は、配列のサイズと次元の記述子を読み取るかどうかを選択できます。If the variable being read into is an array, you can choose whether to read a descriptor for the size and dimension of the array. 記述子を書き込むには、 ArrayIsDynamicパラメーターをにTrue設定します。To write the descriptor, set the ArrayIsDynamic parameter to True. 配列を読み取るときは、配列の記述方法と一致する必要があります。When reading the array, you have to match the way the array was written. 記述子を使用して記述されている場合は、記述子を読み取る必要があります。If it was written with the descriptor, you have to read the descriptor. 記述子が使用されていない場合は、にFileGet渡される配列のサイズと境界によって、読み取る対象が決まります。If the descriptor is not used, the size and bounds of the array passed into FileGet determine what to read.

    記述子は、配列のランク、サイズ、および各ランクの下限を指定します。The descriptor specifies the rank of the array, the size, and the lower bounds for each rank. 長さは 2 + 次元数の8倍になります。(2 + 8 * NumberOfDimensions)。Its length equals 2 plus 8 times the number of dimensions: (2 + 8 * NumberOfDimensions). FileOpen関数のRecordLengthパラメーターによって指定されたレコードの長さは、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。The record length specified by the RecordLength parameter in the FileOpen function must be greater than or equal to the sum of all the bytes required to write the array data and the array descriptor. たとえば、次の配列宣言では、配列がディスクに書き込まれるときに218バイトが必要です。For example, the following array declaration requires 218 bytes when the array is written to disk.

    Dim MyArray(4, 9) As Integer
    

    218バイトは次のように分散されます。The 218 bytes are distributed as follows:

    • 記述子の18バイト:(2 + 8 * 2)18 bytes for the descriptor: (2 + 8 * 2)

    • データの200バイト:(5 * 10 * 4)。200 bytes for the data: (5 * 10 * 4).

  • 読み取り先の変数が、可変長文字列またはオブジェクトではなく、他の型の変数である場合、 FileGetは変数データだけを読み取ります。If the variable being read into is any other type of variable (not a variable-length string or an object), FileGet reads only the variable data. FileOpen関数のRecordLength句で指定されたレコードの長さは、読み取るデータの長さ以上である必要があります。The record length specified by the RecordLength clause in the FileOpen function must be greater than or equal to the length of the data being read.

  • FileGetは、それぞれが個別に読み取られているかのように、構造体の要素を読み取ります。ただし、要素間にパディングはありません。FileGet reads elements of structures as if each were being read individually, except that there is no padding between elements. ディスク上では、(を使用して記述された) FilePutユーザー定義型の動的配列に、長さが 2 + 次元数の8倍の値を持つ記述子がプレフィックスとして付けられます。(2 + 8 * NumberOfDimensions)。On disk, a dynamic array in a user-defined type (written with FilePut) is prefixed by a descriptor whose length equals 2 plus 8 times the number of dimensions: (2 + 8 * NumberOfDimensions). FileOpen関数のRecordLength句で指定されたレコードの長さは、個々の要素を読み取るために必要なすべてのバイトの合計以上である必要があります。The record length specified by the RecordLength clause in the FileOpen function must be greater than or equal to the sum of all the bytes required to read the individual elements. これには、すべての配列とその記述子が含まれます。This includes any arrays and their descriptors. 属性VBFixedStringは、ディスクに書き込まれるときに文字列のサイズを示すために、構造体の文字列フィールドに適用できます。The VBFixedString attribute can be applied to string fields in the structures to indicate the size of a string when written to disk.

バイナリモードBinary Mode

モードでBinary開かれたファイルの場合はRandom 、ほとんどのモードルールが適用されますが、例外もあります。For files opened in Binary mode, most of the Random mode rules apply, with some exceptions. モードでBinary開かれたファイルの次の規則は、モードRandomの規則とは異なります。The following rules for files opened in Binary mode differ from the rules for Random mode:

  • 関数内の句は無効です。 RecordLength FileOpenThe RecordLength clause in the FileOpen function has no effect. FileGetすべての変数をディスクから連続して読み取ります。つまり、レコード間の埋め込みは行われません。FileGet reads all variables from disk contiguously; that is, without padding between records.

  • 構造体の配列以外の配列の場合、はFileGetデータだけを読み取ります。For any array other than an array in a structure, FileGet reads only the data. 記述子が読み取られません。No descriptor is read.

  • FileGet2バイト長記述子を予期せずに、構造体の要素ではない可変長文字列を読み取ります。FileGet reads variable-length strings that are not elements of structures without expecting the two-byte length descriptor. 読み取るバイト数は、既に文字列に含まれている文字数と同じです。The number of bytes read equals the number of characters already in the string.

    重要

    FileGet関数を使用してファイルから読み取るにReadは、 FileIOPermissionAccess列挙からのアクセスが必要です。Reading from a file by using the FileGet function requires Read access from the FileIOPermissionAccess enumeration.

こちらもご覧ください

FileGet(Int32, String, Int64, Boolean) FileGet(Int32, String, Int64, Boolean) FileGet(Int32, String, Int64, Boolean)

開いたディスク ファイルからデータを読み込んで変数に格納します。Reads data from an open disk file into a variable. My 機能を使用すると、FileGet よりもファイル I/O 処理の生産性とパフォーマンスが向上します。The My feature gives you better productivity and performance in file I/O operations than FileGet. 詳細については、「FileSystem」を参照してください。For more information, see FileSystem.

public static void FileGet (int FileNumber, ref string Value, long RecordNumber = -1, bool StringIsFixedLength = false);
static member FileGet : int *  * int64 * bool -> unit
Public Sub FileGet (FileNumber As Integer, ByRef Value As String, Optional RecordNumber As Long = -1, Optional StringIsFixedLength As Boolean = false)

パラメーター

FileNumber
Int32 Int32 Int32

必須です。Required. 任意の有効なファイル数。Any valid file number.

Value
String String String

必須です。Required. データの読み込み先となる有効な変数名。Valid variable name into which data is read.

RecordNumber
Int64 Int64 Int64

任意。Optional. 読み込みを開始する位置の、レコード数 (Random モードのファイル) またはバイト数 (Binary モードのファイル)。Record number (Random mode files) or byte number (Binary mode files) at which reading starts.

StringIsFixedLength
Boolean Boolean Boolean

任意。Optional. 文字列を書き込む場合のみ適用します。Applies only when writing a string. 長さを表す文字列に対して 2 バイトの記述子を書き込むかどうかを指定します。Specifies whether to write a two-byte descriptor for the string that describes the length. 既定値は、False です。The default is False.

例外

RecordNumber は < 1 で、-1 と等しくありません。RecordNumber < 1 and not equal to -1.

ファイル モードが無効です。File mode is invalid.

注釈

FileGetは、およびBinaryモードRandomでのみ有効です。FileGet is valid only in Random and Binary mode.

FileGet読み取られるデータは、通常、を使用FilePutしてファイルに書き込まれます。Data read with FileGet is usually written to a file by using FilePut.

ファイル内の最初のレコードまたはバイトの位置は1、2番目のレコード、またはバイトの位置は2になります。The first record or byte in a file is at position 1, the second record or byte is at position 2, and so on. を省略RecordNumberした場合、最後FileGetのまたFilePutは関数 (または最後Seekの関数によって参照される) に続く次のレコードまたはバイトが読み取られます。If you omit RecordNumber, the next record or byte following the last FileGet or FilePut function (or pointed to by the last Seek function) is read.

重要

ファイルから読み取る場合は、ファイル名拡張子に基づいてファイルの内容を決定しないでください。When reading from files, do not make decisions about the contents of a file based on the file name extension. たとえば、Form1.vb という名前のファイルを Visual Basic ソースファイルにすることはできません。For example, a file that is named Form1.vb may not be a Visual Basic source file.

ランダムモードRandom Mode

モードでRandom開かれたファイルの場合、次の規則が適用されます。For files opened in Random mode, the following rules apply:

  • 読み取られるデータの長さが、 RecordLength FileOpen関数の句で指定された長さよりも少ない場合、 FileGetは、レコード長の境界の後続のレコードを読み取ります。If the length of the data being read is less than the length specified in the RecordLength clause of the FileOpen function, FileGet reads subsequent records on record-length boundaries. 1つのレコードの末尾と次のレコードの先頭との間のスペースは、ファイルバッファーの既存の内容に埋め込まれます。The space between the end of one record and the start of the next record is padded with the existing contents of the file buffer. 埋め込みデータの量はいかなる確実性でも判断できないため、通常は、レコードの長さを読み取り中のデータの長さと一致させることをお勧めします。Because the amount of padding data cannot be determined with any certainty, it is generally a good idea to have the record length match the length of the data being read.

  • 既定では、に読み込む変数が文字列FileGetである場合、は文字列の長さを含む2バイトの記述子を読み取り、変数に入力されたデータを読み取ります。By default, if the variable being read into is a string, FileGet reads a two-byte descriptor that contains the string length and then reads the data that goes into the variable. したがって、 RecordLength FileOpen関数の句で指定されるレコードの長さは、文字列の実際の長さよりも2バイト以上である必要があります。Therefore, the record length specified by the RecordLength clause of the FileOpen function must be at least two bytes greater than the actual length of the string. Visual Basic 6.0 以前のバージョンでは固定長文字列がサポートされています。ファイルに書き込む場合、長さ記述子は書き込まれません。Visual Basic 6.0 and earlier versions support fixed-length strings; when put to a file, the length descriptor is not written. 記述子を含まない文字列を読み取る場合は、 True StringIsFixedLengthパラメーターにを渡す必要があります。また、読み取る文字列は正しい長さである必要があります。If you want to read a string without the descriptor, you should pass True to the StringIsFixedLength parameter, and the string you read into should be the correct length.

  • に読み取る変数が配列の場合は、配列のサイズと次元の記述子を読み取るかどうかを選択できます。If the variable being read into is an array, you can choose whether to read a descriptor for the size and dimension of the array. 記述子を書き込むには、 ArrayIsDynamicパラメーターをにTrue設定します。To write the descriptor, set the ArrayIsDynamic parameter to True. 配列を読み取るときは、配列の記述方法と一致する必要があります。When reading the array, you have to match the way the array was written. 記述子を使用して記述されている場合は、記述子を読み取る必要があります。If it was written with the descriptor, you have to read the descriptor. 記述子が使用されていない場合は、にFileGet渡される配列のサイズと境界によって、読み取る対象が決まります。If the descriptor is not used, the size and bounds of the array passed into FileGet determine what to read.

    記述子は、配列のランク、サイズ、および各ランクの下限を指定します。The descriptor specifies the rank of the array, the size, and the lower bounds for each rank. 長さは 2 + 次元数の8倍になります。(2 + 8 * NumberOfDimensions)。Its length equals 2 plus 8 times the number of dimensions: (2 + 8 * NumberOfDimensions). FileOpen関数のRecordLengthパラメーターによって指定されたレコードの長さは、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。The record length specified by the RecordLength parameter in the FileOpen function must be greater than or equal to the sum of all the bytes required to write the array data and the array descriptor. たとえば、次の配列宣言では、配列がディスクに書き込まれるときに218バイトが必要です。For example, the following array declaration requires 218 bytes when the array is written to disk.

    Dim MyArray(4, 9) As Integer
    

    218バイトは次のように分散されます。The 218 bytes are distributed as follows:

    • 記述子の18バイト:(2 + 8 * 2)18 bytes for the descriptor: (2 + 8 * 2)

    • データの200バイト:(5 * 10 * 4)。200 bytes for the data: (5 * 10 * 4).

  • 読み取り先の変数が、可変長文字列またはオブジェクトではなく、他の型の変数である場合、 FileGetは変数データだけを読み取ります。If the variable being read into is any other type of variable (not a variable-length string or an object), FileGet reads only the variable data. FileOpen関数のRecordLength句で指定されたレコードの長さは、読み取るデータの長さ以上である必要があります。The record length specified by the RecordLength clause in the FileOpen function must be greater than or equal to the length of the data being read.

  • FileGetは、それぞれが個別に読み取られているかのように、構造体の要素を読み取ります。ただし、要素間にパディングはありません。FileGet reads elements of structures as if each were being read individually, except that there is no padding between elements. ディスク上では、(を使用して記述された) FilePutユーザー定義型の動的配列に、長さが 2 + 次元数の8倍の値を持つ記述子がプレフィックスとして付けられます。(2 + 8 * NumberOfDimensions)。On disk, a dynamic array in a user-defined type (written with FilePut) is prefixed by a descriptor whose length equals 2 plus 8 times the number of dimensions: (2 + 8 * NumberOfDimensions). FileOpen関数のRecordLength句で指定されたレコードの長さは、個々の要素を読み取るために必要なすべてのバイトの合計以上である必要があります。The record length specified by the RecordLength clause in the FileOpen function must be greater than or equal to the sum of all the bytes required to read the individual elements. これには、すべての配列とその記述子が含まれます。This includes any arrays and their descriptors. 属性VBFixedStringは、ディスクに書き込まれるときに文字列のサイズを示すために、構造体の文字列フィールドに適用できます。The VBFixedString attribute can be applied to string fields in the structures to indicate the size of a string when written to disk.

バイナリモードBinary Mode

モードでBinary開かれたファイルの場合はRandom 、ほとんどのモードルールが適用されますが、例外もあります。For files opened in Binary mode, most of the Random mode rules apply, with some exceptions. モードでBinary開かれたファイルの次の規則は、モードRandomの規則とは異なります。The following rules for files opened in Binary mode differ from the rules for Random mode:

  • 関数内の句は無効です。 RecordLength FileOpenThe RecordLength clause in the FileOpen function has no effect. FileGetすべての変数をディスクから連続して読み取ります。つまり、レコード間の埋め込みは行われません。FileGet reads all variables from disk contiguously; that is, without padding between records.

  • 構造体の配列以外の配列の場合、はFileGetデータだけを読み取ります。For any array other than an array in a structure, FileGet reads only the data. 記述子が読み取られません。No descriptor is read.

  • FileGet2バイト長記述子を予期せずに、構造体の要素ではない可変長文字列を読み取ります。FileGet reads variable-length strings that are not elements of structures without expecting the two-byte length descriptor. 読み取るバイト数は、既に文字列に含まれている文字数と同じです。The number of bytes read equals the number of characters already in the string.

    重要

    FileGet関数を使用してファイルから読み取るにReadは、 FileIOPermissionAccess列挙からのアクセスが必要です。Reading from a file by using the FileGet function requires Read access from the FileIOPermissionAccess enumeration.

こちらもご覧ください

FileGet(Int32, ValueType, Int64) FileGet(Int32, ValueType, Int64) FileGet(Int32, ValueType, Int64)

開いたディスク ファイルからデータを読み込んで変数に格納します。Reads data from an open disk file into a variable. My 機能を使用すると、FileGet よりもファイル I/O 処理の生産性とパフォーマンスが向上します。The My feature gives you better productivity and performance in file I/O operations than FileGet. 詳細については、「FileSystem」を参照してください。For more information, see FileSystem.

public static void FileGet (int FileNumber, ref ValueType Value, long RecordNumber = -1);
static member FileGet : int *  * int64 -> unit
Public Sub FileGet (FileNumber As Integer, ByRef Value As ValueType, Optional RecordNumber As Long = -1)

パラメーター

FileNumber
Int32 Int32 Int32

必須です。Required. 任意の有効なファイル数。Any valid file number.

Value
ValueType ValueType ValueType

必須です。Required. データの読み込み先となる有効な変数名。Valid variable name into which data is read.

RecordNumber
Int64 Int64 Int64

任意。Optional. 読み込みを開始する位置の、レコード数 (Random モードのファイル) またはバイト数 (Binary モードのファイル)。Record number (Random mode files) or byte number (Binary mode files) at which reading starts.

例外

RecordNumber は < 1 で、-1 と等しくありません。RecordNumber < 1 and not equal to -1.

ファイル モードが無効です。File mode is invalid.

注釈

FileGetは、およびBinaryモードRandomでのみ有効です。FileGet is valid only in Random and Binary mode.

FileGet読み取られるデータは、通常、を使用FilePutしてファイルに書き込まれます。Data read with FileGet is usually written to a file by using FilePut.

ファイル内の最初のレコードまたはバイトの位置は1、2番目のレコード、またはバイトの位置は2になります。The first record or byte in a file is at position 1, the second record or byte is at position 2, and so on. を省略RecordNumberした場合、最後FileGetのまたFilePutは関数 (または最後Seekの関数によって参照される) に続く次のレコードまたはバイトが読み取られます。If you omit RecordNumber, the next record or byte following the last FileGet or FilePut function (or pointed to by the last Seek function) is read.

重要

ファイルから読み取る場合は、ファイル名拡張子に基づいてファイルの内容を決定しないでください。When reading from files, do not make decisions about the contents of a file based on the file name extension. たとえば、Form1.vb という名前のファイルを Visual Basic ソースファイルにすることはできません。For example, a file that is named Form1.vb may not be a Visual Basic source file.

ランダムモードRandom Mode

モードでRandom開かれたファイルの場合、次の規則が適用されます。For files opened in Random mode, the following rules apply:

  • 読み取られるデータの長さが、 RecordLength FileOpen関数の句で指定された長さよりも少ない場合、 FileGetは、レコード長の境界の後続のレコードを読み取ります。If the length of the data being read is less than the length specified in the RecordLength clause of the FileOpen function, FileGet reads subsequent records on record-length boundaries. 1つのレコードの末尾と次のレコードの先頭との間のスペースは、ファイルバッファーの既存の内容に埋め込まれます。The space between the end of one record and the start of the next record is padded with the existing contents of the file buffer. 埋め込みデータの量はいかなる確実性でも判断できないため、通常は、レコードの長さを読み取り中のデータの長さと一致させることをお勧めします。Because the amount of padding data cannot be determined with any certainty, it is generally a good idea to have the record length match the length of the data being read.

  • 既定では、に読み込む変数が文字列FileGetである場合、は文字列の長さを含む2バイトの記述子を読み取り、変数に入力されたデータを読み取ります。By default, if the variable being read into is a string, FileGet reads a two-byte descriptor that contains the string length and then reads the data that goes into the variable. したがって、 RecordLength FileOpen関数の句で指定されるレコードの長さは、文字列の実際の長さよりも2バイト以上である必要があります。Therefore, the record length specified by the RecordLength clause of the FileOpen function must be at least two bytes greater than the actual length of the string. Visual Basic 6.0 以前のバージョンでは固定長文字列がサポートされています。ファイルに書き込む場合、長さ記述子は書き込まれません。Visual Basic 6.0 and earlier versions support fixed-length strings; when put to a file, the length descriptor is not written. 記述子を含まない文字列を読み取る場合は、 True StringIsFixedLengthパラメーターにを渡す必要があります。また、読み取る文字列は正しい長さである必要があります。If you want to read a string without the descriptor, you should pass True to the StringIsFixedLength parameter, and the string you read into should be the correct length.

  • に読み取る変数が配列の場合は、配列のサイズと次元の記述子を読み取るかどうかを選択できます。If the variable being read into is an array, you can choose whether to read a descriptor for the size and dimension of the array. 記述子を書き込むには、 ArrayIsDynamicパラメーターをにTrue設定します。To write the descriptor, set the ArrayIsDynamic parameter to True. 配列を読み取るときは、配列の記述方法と一致する必要があります。When reading the array, you have to match the way the array was written. 記述子を使用して記述されている場合は、記述子を読み取る必要があります。If it was written with the descriptor, you have to read the descriptor. 記述子が使用されていない場合は、にFileGet渡される配列のサイズと境界によって、読み取る対象が決まります。If the descriptor is not used, the size and bounds of the array passed into FileGet determine what to read.

    記述子は、配列のランク、サイズ、および各ランクの下限を指定します。The descriptor specifies the rank of the array, the size, and the lower bounds for each rank. 長さは 2 + 次元数の8倍になります。(2 + 8 * NumberOfDimensions)。Its length equals 2 plus 8 times the number of dimensions: (2 + 8 * NumberOfDimensions). FileOpen関数のRecordLengthパラメーターによって指定されたレコードの長さは、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。The record length specified by the RecordLength parameter in the FileOpen function must be greater than or equal to the sum of all the bytes required to write the array data and the array descriptor. たとえば、次の配列宣言では、配列がディスクに書き込まれるときに218バイトが必要です。For example, the following array declaration requires 218 bytes when the array is written to disk.

    Dim MyArray(4, 9) As Integer
    

    218バイトは次のように分散されます。The 218 bytes are distributed as follows:

    • 記述子の18バイト:(2 + 8 * 2)18 bytes for the descriptor: (2 + 8 * 2)

    • データの200バイト:(5 * 10 * 4)。200 bytes for the data: (5 * 10 * 4).

  • 読み取り先の変数が、可変長文字列またはオブジェクトではなく、他の型の変数である場合、 FileGetは変数データだけを読み取ります。If the variable being read into is any other type of variable (not a variable-length string or an object), FileGet reads only the variable data. FileOpen関数のRecordLength句で指定されたレコードの長さは、読み取るデータの長さ以上である必要があります。The record length specified by the RecordLength clause in the FileOpen function must be greater than or equal to the length of the data being read.

  • FileGetは、それぞれが個別に読み取られているかのように、構造体の要素を読み取ります。ただし、要素間にパディングはありません。FileGet reads elements of structures as if each were being read individually, except that there is no padding between elements. ディスク上では、(を使用して記述された) FilePutユーザー定義型の動的配列に、長さが 2 + 次元数の8倍の値を持つ記述子がプレフィックスとして付けられます。(2 + 8 * NumberOfDimensions)。On disk, a dynamic array in a user-defined type (written with FilePut) is prefixed by a descriptor whose length equals 2 plus 8 times the number of dimensions: (2 + 8 * NumberOfDimensions). FileOpen関数のRecordLength句で指定されたレコードの長さは、個々の要素を読み取るために必要なすべてのバイトの合計以上である必要があります。The record length specified by the RecordLength clause in the FileOpen function must be greater than or equal to the sum of all the bytes required to read the individual elements. これには、すべての配列とその記述子が含まれます。This includes any arrays and their descriptors. 属性VBFixedStringは、ディスクに書き込まれるときに文字列のサイズを示すために、構造体の文字列フィールドに適用できます。The VBFixedString attribute can be applied to string fields in the structures to indicate the size of a string when written to disk.

バイナリモードBinary Mode

モードでBinary開かれたファイルの場合はRandom 、ほとんどのモードルールが適用されますが、例外もあります。For files opened in Binary mode, most of the Random mode rules apply, with some exceptions. モードでBinary開かれたファイルの次の規則は、モードRandomの規則とは異なります。The following rules for files opened in Binary mode differ from the rules for Random mode:

  • 関数内の句は無効です。 RecordLength FileOpenThe RecordLength clause in the FileOpen function has no effect. FileGetすべての変数をディスクから連続して読み取ります。つまり、レコード間の埋め込みは行われません。FileGet reads all variables from disk contiguously; that is, without padding between records.

  • 構造体の配列以外の配列の場合、はFileGetデータだけを読み取ります。For any array other than an array in a structure, FileGet reads only the data. 記述子が読み取られません。No descriptor is read.

  • FileGet2バイト長記述子を予期せずに、構造体の要素ではない可変長文字列を読み取ります。FileGet reads variable-length strings that are not elements of structures without expecting the two-byte length descriptor. 読み取るバイト数は、既に文字列に含まれている文字数と同じです。The number of bytes read equals the number of characters already in the string.

    重要

    FileGet関数を使用してファイルから読み取るにReadは、 FileIOPermissionAccess列挙からのアクセスが必要です。Reading from a file by using the FileGet function requires Read access from the FileIOPermissionAccess enumeration.

こちらもご覧ください

FileGet(Int32, Single, Int64) FileGet(Int32, Single, Int64) FileGet(Int32, Single, Int64)

開いたディスク ファイルからデータを読み込んで変数に格納します。Reads data from an open disk file into a variable. My 機能を使用すると、FileGet よりもファイル I/O 処理の生産性とパフォーマンスが向上します。The My feature gives you better productivity and performance in file I/O operations than FileGet. 詳細については、「FileSystem」を参照してください。For more information, see FileSystem.

public static void FileGet (int FileNumber, ref float Value, long RecordNumber = -1);
static member FileGet : int *  * int64 -> unit
Public Sub FileGet (FileNumber As Integer, ByRef Value As Single, Optional RecordNumber As Long = -1)

パラメーター

FileNumber
Int32 Int32 Int32

必須です。Required. 任意の有効なファイル数。Any valid file number.

Value
Single Single Single

必須です。Required. データの読み込み先となる有効な変数名。Valid variable name into which data is read.

RecordNumber
Int64 Int64 Int64

任意。Optional. 読み込みを開始する位置の、レコード数 (Random モードのファイル) またはバイト数 (Binary モードのファイル)。Record number (Random mode files) or byte number (Binary mode files) at which reading starts.

例外

RecordNumber は < 1 で、-1 と等しくありません。RecordNumber < 1 and not equal to -1.

ファイル モードが無効です。File mode is invalid.

注釈

FileGetは、およびBinaryモードRandomでのみ有効です。FileGet is valid only in Random and Binary mode.

FileGet読み取られるデータは、通常、を使用FilePutしてファイルに書き込まれます。Data read with FileGet is usually written to a file by using FilePut.

ファイル内の最初のレコードまたはバイトの位置は1、2番目のレコード、またはバイトの位置は2になります。The first record or byte in a file is at position 1, the second record or byte is at position 2, and so on. を省略RecordNumberした場合、最後FileGetのまたFilePutは関数 (または最後Seekの関数によって参照される) に続く次のレコードまたはバイトが読み取られます。If you omit RecordNumber, the next record or byte following the last FileGet or FilePut function (or pointed to by the last Seek function) is read.

重要

ファイルから読み取る場合は、ファイル名拡張子に基づいてファイルの内容を決定しないでください。When reading from files, do not make decisions about the contents of a file based on the file name extension. たとえば、Form1.vb という名前のファイルを Visual Basic ソースファイルにすることはできません。For example, a file that is named Form1.vb may not be a Visual Basic source file.

ランダムモードRandom Mode

モードでRandom開かれたファイルの場合、次の規則が適用されます。For files opened in Random mode, the following rules apply:

  • 読み取られるデータの長さが、 RecordLength FileOpen関数の句で指定された長さよりも少ない場合、 FileGetは、レコード長の境界の後続のレコードを読み取ります。If the length of the data being read is less than the length specified in the RecordLength clause of the FileOpen function, FileGet reads subsequent records on record-length boundaries. 1つのレコードの末尾と次のレコードの先頭との間のスペースは、ファイルバッファーの既存の内容に埋め込まれます。The space between the end of one record and the start of the next record is padded with the existing contents of the file buffer. 埋め込みデータの量はいかなる確実性でも判断できないため、通常は、レコードの長さを読み取り中のデータの長さと一致させることをお勧めします。Because the amount of padding data cannot be determined with any certainty, it is generally a good idea to have the record length match the length of the data being read.

  • 既定では、に読み込む変数が文字列FileGetである場合、は文字列の長さを含む2バイトの記述子を読み取り、変数に入力されたデータを読み取ります。By default, if the variable being read into is a string, FileGet reads a two-byte descriptor that contains the string length and then reads the data that goes into the variable. したがって、 RecordLength FileOpen関数の句で指定されるレコードの長さは、文字列の実際の長さよりも2バイト以上である必要があります。Therefore, the record length specified by the RecordLength clause of the FileOpen function must be at least two bytes greater than the actual length of the string. Visual Basic 6.0 以前のバージョンでは固定長文字列がサポートされています。ファイルに書き込む場合、長さ記述子は書き込まれません。Visual Basic 6.0 and earlier versions support fixed-length strings; when put to a file, the length descriptor is not written. 記述子を含まない文字列を読み取る場合は、 True StringIsFixedLengthパラメーターにを渡す必要があります。また、読み取る文字列は正しい長さである必要があります。If you want to read a string without the descriptor, you should pass True to the StringIsFixedLength parameter, and the string you read into should be the correct length.

  • に読み取る変数が配列の場合は、配列のサイズと次元の記述子を読み取るかどうかを選択できます。If the variable being read into is an array, you can choose whether to read a descriptor for the size and dimension of the array. 記述子を書き込むには、 ArrayIsDynamicパラメーターをにTrue設定します。To write the descriptor, set the ArrayIsDynamic parameter to True. 配列を読み取るときは、配列の記述方法と一致する必要があります。When reading the array, you have to match the way the array was written. 記述子を使用して記述されている場合は、記述子を読み取る必要があります。If it was written with the descriptor, you have to read the descriptor. 記述子が使用されていない場合は、にFileGet渡される配列のサイズと境界によって、読み取る対象が決まります。If the descriptor is not used, the size and bounds of the array passed into FileGet determine what to read.

    記述子は、配列のランク、サイズ、および各ランクの下限を指定します。The descriptor specifies the rank of the array, the size, and the lower bounds for each rank. 長さは 2 + 次元数の8倍になります。(2 + 8 * NumberOfDimensions)。Its length equals 2 plus 8 times the number of dimensions: (2 + 8 * NumberOfDimensions). FileOpen関数のRecordLengthパラメーターによって指定されたレコードの長さは、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。The record length specified by the RecordLength parameter in the FileOpen function must be greater than or equal to the sum of all the bytes required to write the array data and the array descriptor. たとえば、次の配列宣言では、配列がディスクに書き込まれるときに218バイトが必要です。For example, the following array declaration requires 218 bytes when the array is written to disk.

    Dim MyArray(4, 9) As Integer
    

    218バイトは次のように分散されます。The 218 bytes are distributed as follows:

    • 記述子の18バイト:(2 + 8 * 2)18 bytes for the descriptor: (2 + 8 * 2)

    • データの200バイト:(5 * 10 * 4)。200 bytes for the data: (5 * 10 * 4).

  • 読み取り先の変数が、可変長文字列またはオブジェクトではなく、他の型の変数である場合、 FileGetは変数データだけを読み取ります。If the variable being read into is any other type of variable (not a variable-length string or an object), FileGet reads only the variable data. FileOpen関数のRecordLength句で指定されたレコードの長さは、読み取るデータの長さ以上である必要があります。The record length specified by the RecordLength clause in the FileOpen function must be greater than or equal to the length of the data being read.

  • FileGetは、それぞれが個別に読み取られているかのように、構造体の要素を読み取ります。ただし、要素間にパディングはありません。FileGet reads elements of structures as if each were being read individually, except that there is no padding between elements. ディスク上では、(を使用して記述された) FilePutユーザー定義型の動的配列に、長さが 2 + 次元数の8倍の値を持つ記述子がプレフィックスとして付けられます。(2 + 8 * NumberOfDimensions)。On disk, a dynamic array in a user-defined type (written with FilePut) is prefixed by a descriptor whose length equals 2 plus 8 times the number of dimensions: (2 + 8 * NumberOfDimensions). FileOpen関数のRecordLength句で指定されたレコードの長さは、個々の要素を読み取るために必要なすべてのバイトの合計以上である必要があります。The record length specified by the RecordLength clause in the FileOpen function must be greater than or equal to the sum of all the bytes required to read the individual elements. これには、すべての配列とその記述子が含まれます。This includes any arrays and their descriptors. 属性VBFixedStringは、ディスクに書き込まれるときに文字列のサイズを示すために、構造体の文字列フィールドに適用できます。The VBFixedString attribute can be applied to string fields in the structures to indicate the size of a string when written to disk.

バイナリモードBinary Mode

モードでBinary開かれたファイルの場合はRandom 、ほとんどのモードルールが適用されますが、例外もあります。For files opened in Binary mode, most of the Random mode rules apply, with some exceptions. モードでBinary開かれたファイルの次の規則は、モードRandomの規則とは異なります。The following rules for files opened in Binary mode differ from the rules for Random mode:

  • 関数内の句は無効です。 RecordLength FileOpenThe RecordLength clause in the FileOpen function has no effect. FileGetすべての変数をディスクから連続して読み取ります。つまり、レコード間の埋め込みは行われません。FileGet reads all variables from disk contiguously; that is, without padding between records.

  • 構造体の配列以外の配列の場合、はFileGetデータだけを読み取ります。For any array other than an array in a structure, FileGet reads only the data. 記述子が読み取られません。No descriptor is read.

  • FileGet2バイト長記述子を予期せずに、構造体の要素ではない可変長文字列を読み取ります。FileGet reads variable-length strings that are not elements of structures without expecting the two-byte length descriptor. 読み取るバイト数は、既に文字列に含まれている文字数と同じです。The number of bytes read equals the number of characters already in the string.

    重要

    FileGet関数を使用してファイルから読み取るにReadは、 FileIOPermissionAccess列挙からのアクセスが必要です。Reading from a file by using the FileGet function requires Read access from the FileIOPermissionAccess enumeration.

こちらもご覧ください

FileGet(Int32, Int64, Int64) FileGet(Int32, Int64, Int64) FileGet(Int32, Int64, Int64)

開いたディスク ファイルからデータを読み込んで変数に格納します。Reads data from an open disk file into a variable. My 機能を使用すると、FileGet よりもファイル I/O 処理の生産性とパフォーマンスが向上します。The My feature gives you better productivity and performance in file I/O operations than FileGet. 詳細については、「FileSystem」を参照してください。For more information, see FileSystem.

public static void FileGet (int FileNumber, ref long Value, long RecordNumber = -1);
static member FileGet : int *  * int64 -> unit
Public Sub FileGet (FileNumber As Integer, ByRef Value As Long, Optional RecordNumber As Long = -1)

パラメーター

FileNumber
Int32 Int32 Int32

必須です。Required. 任意の有効なファイル数。Any valid file number.

Value
Int64 Int64 Int64

必須です。Required. データの読み込み先となる有効な変数名。Valid variable name into which data is read.

RecordNumber
Int64 Int64 Int64

任意。Optional. 読み込みを開始する位置の、レコード数 (Random モードのファイル) またはバイト数 (Binary モードのファイル)。Record number (Random mode files) or byte number (Binary mode files) at which reading starts.

例外

RecordNumber は < 1 で、-1 と等しくありません。RecordNumber < 1 and not equal to -1.

ファイル モードが無効です。File mode is invalid.

注釈

FileGetは、およびBinaryモードRandomでのみ有効です。FileGet is valid only in Random and Binary mode.

FileGet読み取られるデータは、通常、を使用FilePutしてファイルに書き込まれます。Data read with FileGet is usually written to a file by using FilePut.

ファイル内の最初のレコードまたはバイトの位置は1、2番目のレコード、またはバイトの位置は2になります。The first record or byte in a file is at position 1, the second record or byte is at position 2, and so on. を省略RecordNumberした場合、最後FileGetのまたFilePutは関数 (または最後Seekの関数によって参照される) に続く次のレコードまたはバイトが読み取られます。If you omit RecordNumber, the next record or byte following the last FileGet or FilePut function (or pointed to by the last Seek function) is read.

重要

ファイルから読み取る場合は、ファイル名拡張子に基づいてファイルの内容を決定しないでください。When reading from files, do not make decisions about the contents of a file based on the file name extension. たとえば、Form1.vb という名前のファイルを Visual Basic ソースファイルにすることはできません。For example, a file that is named Form1.vb may not be a Visual Basic source file.

ランダムモードRandom Mode

モードでRandom開かれたファイルの場合、次の規則が適用されます。For files opened in Random mode, the following rules apply:

  • 読み取られるデータの長さが、 RecordLength FileOpen関数の句で指定された長さよりも少ない場合、 FileGetは、レコード長の境界の後続のレコードを読み取ります。If the length of the data being read is less than the length specified in the RecordLength clause of the FileOpen function, FileGet reads subsequent records on record-length boundaries. 1つのレコードの末尾と次のレコードの先頭との間のスペースは、ファイルバッファーの既存の内容に埋め込まれます。The space between the end of one record and the start of the next record is padded with the existing contents of the file buffer. 埋め込みデータの量はいかなる確実性でも判断できないため、通常は、レコードの長さを読み取り中のデータの長さと一致させることをお勧めします。Because the amount of padding data cannot be determined with any certainty, it is generally a good idea to have the record length match the length of the data being read.

  • 既定では、に読み込む変数が文字列FileGetである場合、は文字列の長さを含む2バイトの記述子を読み取り、変数に入力されたデータを読み取ります。By default, if the variable being read into is a string, FileGet reads a two-byte descriptor that contains the string length and then reads the data that goes into the variable. したがって、 RecordLength FileOpen関数の句で指定されるレコードの長さは、文字列の実際の長さよりも2バイト以上である必要があります。Therefore, the record length specified by the RecordLength clause of the FileOpen function must be at least two bytes greater than the actual length of the string. Visual Basic 6.0 以前のバージョンでは固定長文字列がサポートされています。ファイルに書き込む場合、長さ記述子は書き込まれません。Visual Basic 6.0 and earlier versions support fixed-length strings; when put to a file, the length descriptor is not written. 記述子を含まない文字列を読み取る場合は、 True StringIsFixedLengthパラメーターにを渡す必要があります。また、読み取る文字列は正しい長さである必要があります。If you want to read a string without the descriptor, you should pass True to the StringIsFixedLength parameter, and the string you read into should be the correct length.

  • に読み取る変数が配列の場合は、配列のサイズと次元の記述子を読み取るかどうかを選択できます。If the variable being read into is an array, you can choose whether to read a descriptor for the size and dimension of the array. 記述子を書き込むには、 ArrayIsDynamicパラメーターをにTrue設定します。To write the descriptor, set the ArrayIsDynamic parameter to True. 配列を読み取るときは、配列の記述方法と一致する必要があります。When reading the array, you have to match the way the array was written. 記述子を使用して記述されている場合は、記述子を読み取る必要があります。If it was written with the descriptor, you have to read the descriptor. 記述子が使用されていない場合は、にFileGet渡される配列のサイズと境界によって、読み取る対象が決まります。If the descriptor is not used, the size and bounds of the array passed into FileGet determine what to read.

    記述子は、配列のランク、サイズ、および各ランクの下限を指定します。The descriptor specifies the rank of the array, the size, and the lower bounds for each rank. 長さは 2 + 次元数の8倍になります。(2 + 8 * NumberOfDimensions)。Its length equals 2 plus 8 times the number of dimensions: (2 + 8 * NumberOfDimensions). FileOpen関数のRecordLengthパラメーターによって指定されたレコードの長さは、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。The record length specified by the RecordLength parameter in the FileOpen function must be greater than or equal to the sum of all the bytes required to write the array data and the array descriptor. たとえば、次の配列宣言では、配列がディスクに書き込まれるときに218バイトが必要です。For example, the following array declaration requires 218 bytes when the array is written to disk.

    Dim MyArray(4, 9) As Integer
    

    218バイトは次のように分散されます。The 218 bytes are distributed as follows:

    • 記述子の18バイト:(2 + 8 * 2)18 bytes for the descriptor: (2 + 8 * 2)

    • データの200バイト:(5 * 10 * 4)。200 bytes for the data: (5 * 10 * 4).

  • 読み取り先の変数が、可変長文字列またはオブジェクトではなく、他の型の変数である場合、 FileGetは変数データだけを読み取ります。If the variable being read into is any other type of variable (not a variable-length string or an object), FileGet reads only the variable data. FileOpen関数のRecordLength句で指定されたレコードの長さは、読み取るデータの長さ以上である必要があります。The record length specified by the RecordLength clause in the FileOpen function must be greater than or equal to the length of the data being read.

  • FileGetは、それぞれが個別に読み取られているかのように、構造体の要素を読み取ります。ただし、要素間にパディングはありません。FileGet reads elements of structures as if each were being read individually, except that there is no padding between elements. ディスク上では、(を使用して記述された) FilePutユーザー定義型の動的配列に、長さが 2 + 次元数の8倍の値を持つ記述子がプレフィックスとして付けられます。(2 + 8 * NumberOfDimensions)。On disk, a dynamic array in a user-defined type (written with FilePut) is prefixed by a descriptor whose length equals 2 plus 8 times the number of dimensions: (2 + 8 * NumberOfDimensions). FileOpen関数のRecordLength句で指定されたレコードの長さは、個々の要素を読み取るために必要なすべてのバイトの合計以上である必要があります。The record length specified by the RecordLength clause in the FileOpen function must be greater than or equal to the sum of all the bytes required to read the individual elements. これには、すべての配列とその記述子が含まれます。This includes any arrays and their descriptors. 属性VBFixedStringは、ディスクに書き込まれるときに文字列のサイズを示すために、構造体の文字列フィールドに適用できます。The VBFixedString attribute can be applied to string fields in the structures to indicate the size of a string when written to disk.

バイナリモードBinary Mode

モードでBinary開かれたファイルの場合はRandom 、ほとんどのモードルールが適用されますが、例外もあります。For files opened in Binary mode, most of the Random mode rules apply, with some exceptions. モードでBinary開かれたファイルの次の規則は、モードRandomの規則とは異なります。The following rules for files opened in Binary mode differ from the rules for Random mode:

  • 関数内の句は無効です。 RecordLength FileOpenThe RecordLength clause in the FileOpen function has no effect. FileGetすべての変数をディスクから連続して読み取ります。つまり、レコード間の埋め込みは行われません。FileGet reads all variables from disk contiguously; that is, without padding between records.

  • 構造体の配列以外の配列の場合、はFileGetデータだけを読み取ります。For any array other than an array in a structure, FileGet reads only the data. 記述子が読み取られません。No descriptor is read.

  • FileGet2バイト長記述子を予期せずに、構造体の要素ではない可変長文字列を読み取ります。FileGet reads variable-length strings that are not elements of structures without expecting the two-byte length descriptor. 読み取るバイト数は、既に文字列に含まれている文字数と同じです。The number of bytes read equals the number of characters already in the string.

    重要

    FileGet関数を使用してファイルから読み取るにReadは、 FileIOPermissionAccess列挙からのアクセスが必要です。Reading from a file by using the FileGet function requires Read access from the FileIOPermissionAccess enumeration.

こちらもご覧ください

FileGet(Int32, Int32, Int64) FileGet(Int32, Int32, Int64) FileGet(Int32, Int32, Int64)

開いたディスク ファイルからデータを読み込んで変数に格納します。Reads data from an open disk file into a variable. My 機能を使用すると、FileGet よりもファイル I/O 処理の生産性とパフォーマンスが向上します。The My feature gives you better productivity and performance in file I/O operations than FileGet. 詳細については、「FileSystem」を参照してください。For more information, see FileSystem.

public static void FileGet (int FileNumber, ref int Value, long RecordNumber = -1);
static member FileGet : int *  * int64 -> unit
Public Sub FileGet (FileNumber As Integer, ByRef Value As Integer, Optional RecordNumber As Long = -1)

パラメーター

FileNumber
Int32 Int32 Int32

必須です。Required. 任意の有効なファイル数。Any valid file number.

Value
Int32 Int32 Int32

必須です。Required. データの読み込み先となる有効な変数名。Valid variable name into which data is read.

RecordNumber
Int64 Int64 Int64

任意。Optional. 読み込みを開始する位置の、レコード数 (Random モードのファイル) またはバイト数 (Binary モードのファイル)。Record number (Random mode files) or byte number (Binary mode files) at which reading starts.

例外

RecordNumber は < 1 で、-1 と等しくありません。RecordNumber < 1 and not equal to -1.

ファイル モードが無効です。File mode is invalid.

注釈

FileGetは、およびBinaryモードRandomでのみ有効です。FileGet is valid only in Random and Binary mode.

FileGet読み取られるデータは、通常、を使用FilePutしてファイルに書き込まれます。Data read with FileGet is usually written to a file by using FilePut.

ファイル内の最初のレコードまたはバイトの位置は1、2番目のレコード、またはバイトの位置は2になります。The first record or byte in a file is at position 1, the second record or byte is at position 2, and so on. を省略RecordNumberした場合、最後FileGetのまたFilePutは関数 (または最後Seekの関数によって参照される) に続く次のレコードまたはバイトが読み取られます。If you omit RecordNumber, the next record or byte following the last FileGet or FilePut function (or pointed to by the last Seek function) is read.

重要

ファイルから読み取る場合は、ファイル名拡張子に基づいてファイルの内容を決定しないでください。When reading from files, do not make decisions about the contents of a file based on the file name extension. たとえば、Form1.vb という名前のファイルを Visual Basic ソースファイルにすることはできません。For example, a file that is named Form1.vb may not be a Visual Basic source file.

ランダムモードRandom Mode

モードでRandom開かれたファイルの場合、次の規則が適用されます。For files opened in Random mode, the following rules apply:

  • 読み取られるデータの長さが、 RecordLength FileOpen関数の句で指定された長さよりも少ない場合、 FileGetは、レコード長の境界の後続のレコードを読み取ります。If the length of the data being read is less than the length specified in the RecordLength clause of the FileOpen function, FileGet reads subsequent records on record-length boundaries. 1つのレコードの末尾と次のレコードの先頭との間のスペースは、ファイルバッファーの既存の内容に埋め込まれます。The space between the end of one record and the start of the next record is padded with the existing contents of the file buffer. 埋め込みデータの量はいかなる確実性でも判断できないため、通常は、レコードの長さを読み取り中のデータの長さと一致させることをお勧めします。Because the amount of padding data cannot be determined with any certainty, it is generally a good idea to have the record length match the length of the data being read.

  • 既定では、に読み込む変数が文字列FileGetである場合、は文字列の長さを含む2バイトの記述子を読み取り、変数に入力されたデータを読み取ります。By default, if the variable being read into is a string, FileGet reads a two-byte descriptor that contains the string length and then reads the data that goes into the variable. したがって、 RecordLength FileOpen関数の句で指定されるレコードの長さは、文字列の実際の長さよりも2バイト以上である必要があります。Therefore, the record length specified by the RecordLength clause of the FileOpen function must be at least two bytes greater than the actual length of the string. Visual Basic 6.0 以前のバージョンでは固定長文字列がサポートされています。ファイルに書き込む場合、長さ記述子は書き込まれません。Visual Basic 6.0 and earlier versions support fixed-length strings; when put to a file, the length descriptor is not written. 記述子を含まない文字列を読み取る場合は、 True StringIsFixedLengthパラメーターにを渡す必要があります。また、読み取る文字列は正しい長さである必要があります。If you want to read a string without the descriptor, you should pass True to the StringIsFixedLength parameter, and the string you read into should be the correct length.

  • に読み取る変数が配列の場合は、配列のサイズと次元の記述子を読み取るかどうかを選択できます。If the variable being read into is an array, you can choose whether to read a descriptor for the size and dimension of the array. 記述子を書き込むには、 ArrayIsDynamicパラメーターをにTrue設定します。To write the descriptor, set the ArrayIsDynamic parameter to True. 配列を読み取るときは、配列の記述方法と一致する必要があります。When reading the array, you have to match the way the array was written. 記述子を使用して記述されている場合は、記述子を読み取る必要があります。If it was written with the descriptor, you have to read the descriptor. 記述子が使用されていない場合は、にFileGet渡される配列のサイズと境界によって、読み取る対象が決まります。If the descriptor is not used, the size and bounds of the array passed into FileGet determine what to read.

    記述子は、配列のランク、サイズ、および各ランクの下限を指定します。The descriptor specifies the rank of the array, the size, and the lower bounds for each rank. 長さは 2 + 次元数の8倍になります。(2 + 8 * NumberOfDimensions)。Its length equals 2 plus 8 times the number of dimensions: (2 + 8 * NumberOfDimensions). FileOpen関数のRecordLengthパラメーターによって指定されたレコードの長さは、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。The record length specified by the RecordLength parameter in the FileOpen function must be greater than or equal to the sum of all the bytes required to write the array data and the array descriptor. たとえば、次の配列宣言では、配列がディスクに書き込まれるときに218バイトが必要です。For example, the following array declaration requires 218 bytes when the array is written to disk.

    Dim MyArray(4, 9) As Integer
    

    218バイトは次のように分散されます。The 218 bytes are distributed as follows:

    • 記述子の18バイト:(2 + 8 * 2)18 bytes for the descriptor: (2 + 8 * 2)

    • データの200バイト:(5 * 10 * 4)。200 bytes for the data: (5 * 10 * 4).

  • 読み取り先の変数が、可変長文字列またはオブジェクトではなく、他の型の変数である場合、 FileGetは変数データだけを読み取ります。If the variable being read into is any other type of variable (not a variable-length string or an object), FileGet reads only the variable data. FileOpen関数のRecordLength句で指定されたレコードの長さは、読み取るデータの長さ以上である必要があります。The record length specified by the RecordLength clause in the FileOpen function must be greater than or equal to the length of the data being read.

  • FileGetは、それぞれが個別に読み取られているかのように、構造体の要素を読み取ります。ただし、要素間にパディングはありません。FileGet reads elements of structures as if each were being read individually, except that there is no padding between elements. ディスク上では、(を使用して記述された) FilePutユーザー定義型の動的配列に、長さが 2 + 次元数の8倍の値を持つ記述子がプレフィックスとして付けられます。(2 + 8 * NumberOfDimensions)。On disk, a dynamic array in a user-defined type (written with FilePut) is prefixed by a descriptor whose length equals 2 plus 8 times the number of dimensions: (2 + 8 * NumberOfDimensions). FileOpen関数のRecordLength句で指定されたレコードの長さは、個々の要素を読み取るために必要なすべてのバイトの合計以上である必要があります。The record length specified by the RecordLength clause in the FileOpen function must be greater than or equal to the sum of all the bytes required to read the individual elements. これには、すべての配列とその記述子が含まれます。This includes any arrays and their descriptors. 属性VBFixedStringは、ディスクに書き込まれるときに文字列のサイズを示すために、構造体の文字列フィールドに適用できます。The VBFixedString attribute can be applied to string fields in the structures to indicate the size of a string when written to disk.

バイナリモードBinary Mode

モードでBinary開かれたファイルの場合はRandom 、ほとんどのモードルールが適用されますが、例外もあります。For files opened in Binary mode, most of the Random mode rules apply, with some exceptions. モードでBinary開かれたファイルの次の規則は、モードRandomの規則とは異なります。The following rules for files opened in Binary mode differ from the rules for Random mode:

  • 関数内の句は無効です。 RecordLength FileOpenThe RecordLength clause in the FileOpen function has no effect. FileGetすべての変数をディスクから連続して読み取ります。つまり、レコード間の埋め込みは行われません。FileGet reads all variables from disk contiguously; that is, without padding between records.

  • 構造体の配列以外の配列の場合、はFileGetデータだけを読み取ります。For any array other than an array in a structure, FileGet reads only the data. 記述子が読み取られません。No descriptor is read.

  • FileGet2バイト長記述子を予期せずに、構造体の要素ではない可変長文字列を読み取ります。FileGet reads variable-length strings that are not elements of structures without expecting the two-byte length descriptor. 読み取るバイト数は、既に文字列に含まれている文字数と同じです。The number of bytes read equals the number of characters already in the string.

    重要

    FileGet関数を使用してファイルから読み取るにReadは、 FileIOPermissionAccess列挙からのアクセスが必要です。Reading from a file by using the FileGet function requires Read access from the FileIOPermissionAccess enumeration.

こちらもご覧ください

FileGet(Int32, Decimal, Int64) FileGet(Int32, Decimal, Int64) FileGet(Int32, Decimal, Int64)

開いたディスク ファイルからデータを読み込んで変数に格納します。Reads data from an open disk file into a variable. My 機能を使用すると、FileGet よりもファイル I/O 処理の生産性とパフォーマンスが向上します。The My feature gives you better productivity and performance in file I/O operations than FileGet. 詳細については、「FileSystem」を参照してください。For more information, see FileSystem.

public static void FileGet (int FileNumber, ref decimal Value, long RecordNumber = -1);
static member FileGet : int *  * int64 -> unit
Public Sub FileGet (FileNumber As Integer, ByRef Value As Decimal, Optional RecordNumber As Long = -1)

パラメーター

FileNumber
Int32 Int32 Int32

必須です。Required. 任意の有効なファイル数。Any valid file number.

Value
Decimal Decimal Decimal

必須です。Required. データの読み込み先となる有効な変数名。Valid variable name into which data is read.

RecordNumber
Int64 Int64 Int64

任意。Optional. 読み込みを開始する位置の、レコード数 (Random モードのファイル) またはバイト数 (Binary モードのファイル)。Record number (Random mode files) or byte number (Binary mode files) at which reading starts.

例外

RecordNumber は < 1 で、-1 と等しくありません。RecordNumber < 1 and not equal to -1.

ファイル モードが無効です。File mode is invalid.

注釈

FileGetは、およびBinaryモードRandomでのみ有効です。FileGet is valid only in Random and Binary mode.

FileGet読み取られるデータは、通常、を使用FilePutしてファイルに書き込まれます。Data read with FileGet is usually written to a file by using FilePut.

ファイル内の最初のレコードまたはバイトの位置は1、2番目のレコード、またはバイトの位置は2になります。The first record or byte in a file is at position 1, the second record or byte is at position 2, and so on. を省略RecordNumberした場合、最後FileGetのまたFilePutは関数 (または最後Seekの関数によって参照される) に続く次のレコードまたはバイトが読み取られます。If you omit RecordNumber, the next record or byte following the last FileGet or FilePut function (or pointed to by the last Seek function) is read.

重要

ファイルから読み取る場合は、ファイル名拡張子に基づいてファイルの内容を決定しないでください。When reading from files, do not make decisions about the contents of a file based on the file name extension. たとえば、Form1.vb という名前のファイルを Visual Basic ソースファイルにすることはできません。For example, a file that is named Form1.vb may not be a Visual Basic source file.

ランダムモードRandom Mode

モードでRandom開かれたファイルの場合、次の規則が適用されます。For files opened in Random mode, the following rules apply:

  • 読み取られるデータの長さが、 RecordLength FileOpen関数の句で指定された長さよりも少ない場合、 FileGetは、レコード長の境界の後続のレコードを読み取ります。If the length of the data being read is less than the length specified in the RecordLength clause of the FileOpen function, FileGet reads subsequent records on record-length boundaries. 1つのレコードの末尾と次のレコードの先頭との間のスペースは、ファイルバッファーの既存の内容に埋め込まれます。The space between the end of one record and the start of the next record is padded with the existing contents of the file buffer. 埋め込みデータの量はいかなる確実性でも判断できないため、通常は、レコードの長さを読み取り中のデータの長さと一致させることをお勧めします。Because the amount of padding data cannot be determined with any certainty, it is generally a good idea to have the record length match the length of the data being read.

  • 既定では、に読み込む変数が文字列FileGetである場合、は文字列の長さを含む2バイトの記述子を読み取り、変数に入力されたデータを読み取ります。By default, if the variable being read into is a string, FileGet reads a two-byte descriptor that contains the string length and then reads the data that goes into the variable. したがって、 RecordLength FileOpen関数の句で指定されるレコードの長さは、文字列の実際の長さよりも2バイト以上である必要があります。Therefore, the record length specified by the RecordLength clause of the FileOpen function must be at least two bytes greater than the actual length of the string. Visual Basic 6.0 以前のバージョンでは固定長文字列がサポートされています。ファイルに書き込む場合、長さ記述子は書き込まれません。Visual Basic 6.0 and earlier versions support fixed-length strings; when put to a file, the length descriptor is not written. 記述子を含まない文字列を読み取る場合は、 True StringIsFixedLengthパラメーターにを渡す必要があります。また、読み取る文字列は正しい長さである必要があります。If you want to read a string without the descriptor, you should pass True to the StringIsFixedLength parameter, and the string you read into should be the correct length.

  • に読み取る変数が配列の場合は、配列のサイズと次元の記述子を読み取るかどうかを選択できます。If the variable being read into is an array, you can choose whether to read a descriptor for the size and dimension of the array. 記述子を書き込むには、 ArrayIsDynamicパラメーターをにTrue設定します。To write the descriptor, set the ArrayIsDynamic parameter to True. 配列を読み取るときは、配列の記述方法と一致する必要があります。When reading the array, you have to match the way the array was written. 記述子を使用して記述されている場合は、記述子を読み取る必要があります。If it was written with the descriptor, you have to read the descriptor. 記述子が使用されていない場合は、にFileGet渡される配列のサイズと境界によって、読み取る対象が決まります。If the descriptor is not used, the size and bounds of the array passed into FileGet determine what to read.

    記述子は、配列のランク、サイズ、および各ランクの下限を指定します。The descriptor specifies the rank of the array, the size, and the lower bounds for each rank. 長さは 2 + 次元数の8倍になります。(2 + 8 * NumberOfDimensions)。Its length equals 2 plus 8 times the number of dimensions: (2 + 8 * NumberOfDimensions). FileOpen関数のRecordLengthパラメーターによって指定されたレコードの長さは、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。The record length specified by the RecordLength parameter in the FileOpen function must be greater than or equal to the sum of all the bytes required to write the array data and the array descriptor. たとえば、次の配列宣言では、配列がディスクに書き込まれるときに218バイトが必要です。For example, the following array declaration requires 218 bytes when the array is written to disk.

    Dim MyArray(4, 9) As Integer
    

    218バイトは次のように分散されます。The 218 bytes are distributed as follows:

    • 記述子の18バイト:(2 + 8 * 2)18 bytes for the descriptor: (2 + 8 * 2)

    • データの200バイト:(5 * 10 * 4)。200 bytes for the data: (5 * 10 * 4).

  • 読み取り先の変数が、可変長文字列またはオブジェクトではなく、他の型の変数である場合、 FileGetは変数データだけを読み取ります。If the variable being read into is any other type of variable (not a variable-length string or an object), FileGet reads only the variable data. FileOpen関数のRecordLength句で指定されたレコードの長さは、読み取るデータの長さ以上である必要があります。The record length specified by the RecordLength clause in the FileOpen function must be greater than or equal to the length of the data being read.

  • FileGetは、それぞれが個別に読み取られているかのように、構造体の要素を読み取ります。ただし、要素間にパディングはありません。FileGet reads elements of structures as if each were being read individually, except that there is no padding between elements. ディスク上では、(を使用して記述された) FilePutユーザー定義型の動的配列に、長さが 2 + 次元数の8倍の値を持つ記述子がプレフィックスとして付けられます。(2 + 8 * NumberOfDimensions)。On disk, a dynamic array in a user-defined type (written with FilePut) is prefixed by a descriptor whose length equals 2 plus 8 times the number of dimensions: (2 + 8 * NumberOfDimensions). FileOpen関数のRecordLength句で指定されたレコードの長さは、個々の要素を読み取るために必要なすべてのバイトの合計以上である必要があります。The record length specified by the RecordLength clause in the FileOpen function must be greater than or equal to the sum of all the bytes required to read the individual elements. これには、すべての配列とその記述子が含まれます。This includes any arrays and their descriptors. 属性VBFixedStringは、ディスクに書き込まれるときに文字列のサイズを示すために、構造体の文字列フィールドに適用できます。The VBFixedString attribute can be applied to string fields in the structures to indicate the size of a string when written to disk.

バイナリモードBinary Mode

モードでBinary開かれたファイルの場合はRandom 、ほとんどのモードルールが適用されますが、例外もあります。For files opened in Binary mode, most of the Random mode rules apply, with some exceptions. モードでBinary開かれたファイルの次の規則は、モードRandomの規則とは異なります。The following rules for files opened in Binary mode differ from the rules for Random mode:

  • 関数内の句は無効です。 RecordLength FileOpenThe RecordLength clause in the FileOpen function has no effect. FileGetすべての変数をディスクから連続して読み取ります。つまり、レコード間の埋め込みは行われません。FileGet reads all variables from disk contiguously; that is, without padding between records.

  • 構造体の配列以外の配列の場合、はFileGetデータだけを読み取ります。For any array other than an array in a structure, FileGet reads only the data. 記述子が読み取られません。No descriptor is read.

  • FileGet2バイト長記述子を予期せずに、構造体の要素ではない可変長文字列を読み取ります。FileGet reads variable-length strings that are not elements of structures without expecting the two-byte length descriptor. 読み取るバイト数は、既に文字列に含まれている文字数と同じです。The number of bytes read equals the number of characters already in the string.

    重要

    FileGet関数を使用してファイルから読み取るにReadは、 FileIOPermissionAccess列挙からのアクセスが必要です。Reading from a file by using the FileGet function requires Read access from the FileIOPermissionAccess enumeration.

こちらもご覧ください

FileGet(Int32, Double, Int64) FileGet(Int32, Double, Int64) FileGet(Int32, Double, Int64)

開いたディスク ファイルからデータを読み込んで変数に格納します。Reads data from an open disk file into a variable. My 機能を使用すると、FileGet よりもファイル I/O 処理の生産性とパフォーマンスが向上します。The My feature gives you better productivity and performance in file I/O operations than FileGet. 詳細については、「FileSystem」を参照してください。For more information, see FileSystem.

public static void FileGet (int FileNumber, ref double Value, long RecordNumber = -1);
static member FileGet : int *  * int64 -> unit
Public Sub FileGet (FileNumber As Integer, ByRef Value As Double, Optional RecordNumber As Long = -1)

パラメーター

FileNumber
Int32 Int32 Int32

必須です。Required. 任意の有効なファイル数。Any valid file number.

Value
Double Double Double

必須です。Required. データの読み込み先となる有効な変数名。Valid variable name into which data is read.

RecordNumber
Int64 Int64 Int64

任意。Optional. 読み込みを開始する位置の、レコード数 (Random モードのファイル) またはバイト数 (Binary モードのファイル)。Record number (Random mode files) or byte number (Binary mode files) at which reading starts.

例外

RecordNumber は < 1 で、-1 と等しくありません。RecordNumber < 1 and not equal to -1.

ファイル モードが無効です。File mode is invalid.

注釈

FileGetは、およびBinaryモードRandomでのみ有効です。FileGet is valid only in Random and Binary mode.

FileGet読み取られるデータは、通常、を使用FilePutしてファイルに書き込まれます。Data read with FileGet is usually written to a file by using FilePut.

ファイル内の最初のレコードまたはバイトの位置は1、2番目のレコード、またはバイトの位置は2になります。The first record or byte in a file is at position 1, the second record or byte is at position 2, and so on. を省略RecordNumberした場合、最後FileGetのまたFilePutは関数 (または最後Seekの関数によって参照される) に続く次のレコードまたはバイトが読み取られます。If you omit RecordNumber, the next record or byte following the last FileGet or FilePut function (or pointed to by the last Seek function) is read.

重要

ファイルから読み取る場合は、ファイル名拡張子に基づいてファイルの内容を決定しないでください。When reading from files, do not make decisions about the contents of a file based on the file name extension. たとえば、Form1.vb という名前のファイルを Visual Basic ソースファイルにすることはできません。For example, a file that is named Form1.vb may not be a Visual Basic source file.

ランダムモードRandom Mode

モードでRandom開かれたファイルの場合、次の規則が適用されます。For files opened in Random mode, the following rules apply:

  • 読み取られるデータの長さが、 RecordLength FileOpen関数の句で指定された長さよりも少ない場合、 FileGetは、レコード長の境界の後続のレコードを読み取ります。If the length of the data being read is less than the length specified in the RecordLength clause of the FileOpen function, FileGet reads subsequent records on record-length boundaries. 1つのレコードの末尾と次のレコードの先頭との間のスペースは、ファイルバッファーの既存の内容に埋め込まれます。The space between the end of one record and the start of the next record is padded with the existing contents of the file buffer. 埋め込みデータの量はいかなる確実性でも判断できないため、通常は、レコードの長さを読み取り中のデータの長さと一致させることをお勧めします。Because the amount of padding data cannot be determined with any certainty, it is generally a good idea to have the record length match the length of the data being read.

  • 既定では、に読み込む変数が文字列FileGetである場合、は文字列の長さを含む2バイトの記述子を読み取り、変数に入力されたデータを読み取ります。By default, if the variable being read into is a string, FileGet reads a two-byte descriptor that contains the string length and then reads the data that goes into the variable. したがって、 RecordLength FileOpen関数の句で指定されるレコードの長さは、文字列の実際の長さよりも2バイト以上である必要があります。Therefore, the record length specified by the RecordLength clause of the FileOpen function must be at least two bytes greater than the actual length of the string. Visual Basic 6.0 以前のバージョンでは固定長文字列がサポートされています。ファイルに書き込む場合、長さ記述子は書き込まれません。Visual Basic 6.0 and earlier versions support fixed-length strings; when put to a file, the length descriptor is not written. 記述子を含まない文字列を読み取る場合は、 True StringIsFixedLengthパラメーターにを渡す必要があります。また、読み取る文字列は正しい長さである必要があります。If you want to read a string without the descriptor, you should pass True to the StringIsFixedLength parameter, and the string you read into should be the correct length.

  • に読み取る変数が配列の場合は、配列のサイズと次元の記述子を読み取るかどうかを選択できます。If the variable being read into is an array, you can choose whether to read a descriptor for the size and dimension of the array. 記述子を書き込むには、 ArrayIsDynamicパラメーターをにTrue設定します。To write the descriptor, set the ArrayIsDynamic parameter to True. 配列を読み取るときは、配列の記述方法と一致する必要があります。When reading the array, you have to match the way the array was written. 記述子を使用して記述されている場合は、記述子を読み取る必要があります。If it was written with the descriptor, you have to read the descriptor. 記述子が使用されていない場合は、にFileGet渡される配列のサイズと境界によって、読み取る対象が決まります。If the descriptor is not used, the size and bounds of the array passed into FileGet determine what to read.

    記述子は、配列のランク、サイズ、および各ランクの下限を指定します。The descriptor specifies the rank of the array, the size, and the lower bounds for each rank. 長さは 2 + 次元数の8倍になります。(2 + 8 * NumberOfDimensions)。Its length equals 2 plus 8 times the number of dimensions: (2 + 8 * NumberOfDimensions). FileOpen関数のRecordLengthパラメーターによって指定されたレコードの長さは、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。The record length specified by the RecordLength parameter in the FileOpen function must be greater than or equal to the sum of all the bytes required to write the array data and the array descriptor. たとえば、次の配列宣言では、配列がディスクに書き込まれるときに218バイトが必要です。For example, the following array declaration requires 218 bytes when the array is written to disk.

    Dim MyArray(4, 9) As Integer
    

    218バイトは次のように分散されます。The 218 bytes are distributed as follows:

    • 記述子の18バイト:(2 + 8 * 2)18 bytes for the descriptor: (2 + 8 * 2)

    • データの200バイト:(5 * 10 * 4)。200 bytes for the data: (5 * 10 * 4).

  • 読み取り先の変数が、可変長文字列またはオブジェクトではなく、他の型の変数である場合、 FileGetは変数データだけを読み取ります。If the variable being read into is any other type of variable (not a variable-length string or an object), FileGet reads only the variable data. FileOpen関数のRecordLength句で指定されたレコードの長さは、読み取るデータの長さ以上である必要があります。The record length specified by the RecordLength clause in the FileOpen function must be greater than or equal to the length of the data being read.

  • FileGetは、それぞれが個別に読み取られているかのように、構造体の要素を読み取ります。ただし、要素間にパディングはありません。FileGet reads elements of structures as if each were being read individually, except that there is no padding between elements. ディスク上では、(を使用して記述された) FilePutユーザー定義型の動的配列に、長さが 2 + 次元数の8倍の値を持つ記述子がプレフィックスとして付けられます。(2 + 8 * NumberOfDimensions)。On disk, a dynamic array in a user-defined type (written with FilePut) is prefixed by a descriptor whose length equals 2 plus 8 times the number of dimensions: (2 + 8 * NumberOfDimensions). FileOpen関数のRecordLength句で指定されたレコードの長さは、個々の要素を読み取るために必要なすべてのバイトの合計以上である必要があります。The record length specified by the RecordLength clause in the FileOpen function must be greater than or equal to the sum of all the bytes required to read the individual elements. これには、すべての配列とその記述子が含まれます。This includes any arrays and their descriptors. 属性VBFixedStringは、ディスクに書き込まれるときに文字列のサイズを示すために、構造体の文字列フィールドに適用できます。The VBFixedString attribute can be applied to string fields in the structures to indicate the size of a string when written to disk.

バイナリモードBinary Mode

モードでBinary開かれたファイルの場合はRandom 、ほとんどのモードルールが適用されますが、例外もあります。For files opened in Binary mode, most of the Random mode rules apply, with some exceptions. モードでBinary開かれたファイルの次の規則は、モードRandomの規則とは異なります。The following rules for files opened in Binary mode differ from the rules for Random mode:

  • 関数内の句は無効です。 RecordLength FileOpenThe RecordLength clause in the FileOpen function has no effect. FileGetすべての変数をディスクから連続して読み取ります。つまり、レコード間の埋め込みは行われません。FileGet reads all variables from disk contiguously; that is, without padding between records.

  • 構造体の配列以外の配列の場合、はFileGetデータだけを読み取ります。For any array other than an array in a structure, FileGet reads only the data. 記述子が読み取られません。No descriptor is read.

  • FileGet2バイト長記述子を予期せずに、構造体の要素ではない可変長文字列を読み取ります。FileGet reads variable-length strings that are not elements of structures without expecting the two-byte length descriptor. 読み取るバイト数は、既に文字列に含まれている文字数と同じです。The number of bytes read equals the number of characters already in the string.

    重要

    FileGet関数を使用してファイルから読み取るにReadは、 FileIOPermissionAccess列挙からのアクセスが必要です。Reading from a file by using theFileGet function requires Read access from the FileIOPermissionAccess enumeration.

こちらもご覧ください

FileGet(Int32, DateTime, Int64) FileGet(Int32, DateTime, Int64) FileGet(Int32, DateTime, Int64)

開いたディスク ファイルからデータを読み込んで変数に格納します。Reads data from an open disk file into a variable. My 機能を使用すると、FileGet よりもファイル I/O 処理の生産性とパフォーマンスが向上します。The My feature gives you better productivity and performance in file I/O operations than FileGet. 詳細については、「FileSystem」を参照してください。For more information, see FileSystem.

public static void FileGet (int FileNumber, ref DateTime Value, long RecordNumber = -1);
static member FileGet : int *  * int64 -> unit
Public Sub FileGet (FileNumber As Integer, ByRef Value As DateTime, Optional RecordNumber As Long = -1)

パラメーター

FileNumber
Int32 Int32 Int32

必須です。Required. 任意の有効なファイル数。Any valid file number.

Value
DateTime DateTime DateTime

必須です。Required. データの読み込み先となる有効な変数名。Valid variable name into which data is read.

RecordNumber
Int64 Int64 Int64

任意。Optional. 読み込みを開始する位置の、レコード数 (Random モードのファイル) またはバイト数 (Binary モードのファイル)。Record number (Random mode files) or byte number (Binary mode files) at which reading starts.

例外

RecordNumber は < 1 で、-1 と等しくありません。RecordNumber < 1 and not equal to -1.

ファイル モードが無効です。File mode is invalid.

注釈

FileGetは、およびBinaryモードRandomでのみ有効です。FileGet is valid only in Random and Binary mode.

FileGet読み取られるデータは、通常、を使用FilePutしてファイルに書き込まれます。Data read with FileGet is usually written to a file with FilePut.

ファイル内の最初のレコードまたはバイトの位置は1、2番目のレコード、またはバイトの位置は2になります。The first record or byte in a file is at position 1, the second record or byte is at position 2, and so on. を省略RecordNumberした場合、最後FileGetのまたFilePutは関数 (または最後Seekの関数によって参照される) に続く次のレコードまたはバイトが読み取られます。If you omit RecordNumber, the next record or byte following the last FileGet or FilePut function (or pointed to by the last Seek function) is read.

重要

ファイルから読み取る場合は、ファイル名拡張子に基づいてファイルの内容を決定しないでください。When reading from files, do not make decisions about the contents of a file based on the file name extension. たとえば、Form1.vb という名前のファイルを Visual Basic ソースファイルにすることはできません。For example, a file that is named Form1.vb may not be a Visual Basic source file.

ランダムモードRandom Mode

モードでRandom開かれたファイルの場合、次の規則が適用されます。For files opened in Random mode, the following rules apply:

  • 読み取られるデータの長さが、 RecordLength FileOpen関数の句で指定された長さよりも少ない場合、FileGetは、レコード長の境界の後続のレコードを読み取ります。If the length of the data being read is less than the length specified in the RecordLength clause of the FileOpen function,FileGet reads subsequent records on record-length boundaries. 1つのレコードの末尾と次のレコードの先頭との間のスペースは、ファイルバッファーの既存の内容に埋め込まれます。The space between the end of one record and the start of the next record is padded with the existing contents of the file buffer. 埋め込みデータの量はいかなる確実性でも判断できないため、通常は、レコードの長さを読み取り中のデータの長さと一致させることをお勧めします。Because the amount of padding data cannot be determined with any certainty, it is generally a good idea to have the record length match the length of the data being read.

  • 既定では、に読み込む変数が文字列FileGetである場合、は文字列の長さを含む2バイトの記述子を読み取り、変数に入力されたデータを読み取ります。By default, if the variable being read into is a string, FileGet reads a two-byte descriptor that contains the string length and then reads the data that goes into the variable. したがって、 RecordLength FileOpen関数の句で指定されるレコードの長さは、文字列の実際の長さよりも2バイト以上である必要があります。Therefore, the record length specified by the RecordLength clause of the FileOpen function must be at least two bytes greater than the actual length of the string. Visual Basic 6.0 以前のバージョンでは固定長文字列がサポートされています。ファイルに書き込む場合、長さ記述子は書き込まれません。Visual Basic 6.0 and earlier versions support fixed-length strings; when put to a file, the length descriptor is not written. 記述子を含まない文字列を読み取る場合は、 True StringIsFixedLengthパラメーターにを渡す必要があります。また、読み取る文字列は正しい長さである必要があります。If you want to read a string without the descriptor, you should pass True to the StringIsFixedLength parameter, and the string you read into should be the correct length.

  • に読み取る変数が配列の場合は、配列のサイズと次元の記述子を読み取るかどうかを選択できます。If the variable being read into is an array, you can choose whether to read a descriptor for the size and dimension of the array. 記述子を書き込むには、 ArrayIsDynamicパラメーターをにTrue設定します。To write the descriptor, set the ArrayIsDynamic parameter to True. 配列を読み取るときは、配列の記述方法と一致する必要があります。When reading the array, you have to match the way the array was written. 記述子を使用して記述されている場合は、記述子を読み取る必要があります。If it was written with the descriptor, you have to read the descriptor. 記述子が使用されていない場合は、にFileGet渡される配列のサイズと境界によって、読み取る対象が決まります。If the descriptor is not used, the size and bounds of the array passed into FileGet determine what to read.

    記述子は、配列のランク、サイズ、および各ランクの下限を指定します。The descriptor specifies the rank of the array, the size, and the lower bounds for each rank. 長さは 2 + 次元数の8倍になります。(2 + 8 * NumberOfDimensions)。Its length equals 2 plus 8 times the number of dimensions: (2 + 8 * NumberOfDimensions). FileOpen関数のRecordLengthパラメーターによって指定されたレコードの長さは、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。The record length specified by the RecordLength parameter in the FileOpen function must be greater than or equal to the sum of all the bytes required to write the array data and the array descriptor. たとえば、次の配列宣言では、配列がディスクに書き込まれるときに218バイトが必要です。For example, the following array declaration requires 218 bytes when the array is written to disk.

    Dim MyArray(4, 9) As Integer
    

    218バイトは次のように分散されます。The 218 bytes are distributed as follows:

    • 記述子の18バイト:(2 + 8 * 2)18 bytes for the descriptor: (2 + 8 * 2)

    • データの200バイト:(5 * 10 * 4)。200 bytes for the data: (5 * 10 * 4).

  • 読み取り先の変数が、可変長文字列またはオブジェクトではなく、他の型の変数である場合、 FileGetは変数データだけを読み取ります。If the variable being read into is any other type of variable (not a variable-length string or an object), FileGet reads only the variable data. FileOpen関数のRecordLength句で指定されたレコードの長さは、読み取るデータの長さ以上である必要があります。The record length specified by the RecordLength clause in the FileOpen function must be greater than or equal to the length of the data being read.

  • FileGetは、それぞれが個別に読み取られているかのように、構造体の要素を読み取ります。ただし、要素間にパディングはありません。FileGet reads elements of structures as if each were being read individually, except that there is no padding between elements. ディスク上では、(を使用して記述された) FilePutユーザー定義型の動的配列に、長さが 2 + 次元数の8倍の値を持つ記述子がプレフィックスとして付けられます。(2 + 8 * NumberOfDimensions)。On disk, a dynamic array in a user-defined type (written with FilePut) is prefixed by a descriptor whose length equals 2 plus 8 times the number of dimensions: (2 + 8 * NumberOfDimensions). FileOpen関数のRecordLength句で指定されたレコードの長さは、個々の要素を読み取るために必要なすべてのバイトの合計以上である必要があります。The record length specified by the RecordLength clause in the FileOpen function must be greater than or equal to the sum of all the bytes required to read the individual elements. これには、すべての配列とその記述子が含まれます。This includes any arrays and their descriptors. 属性VBFixedStringは、ディスクに書き込まれるときに文字列のサイズを示すために、構造体の文字列フィールドに適用できます。The VBFixedString attribute can be applied to string fields in the structures to indicate the size of a string when written to disk.

バイナリモードBinary Mode

モードでBinary開かれたファイルの場合はRandom 、ほとんどのモードルールが適用されますが、例外もあります。For files opened in Binary mode, most of the Random mode rules apply, with some exceptions. モードでBinary開かれたファイルの次の規則は、モードRandomの規則とは異なります。The following rules for files opened in Binary mode differ from the rules for Random mode:

  • 関数内の句は無効です。 RecordLength FileOpenThe RecordLength clause in the FileOpen function has no effect. FileGetすべての変数をディスクから連続して読み取ります。つまり、レコード間の埋め込みは行われません。FileGet reads all variables from disk contiguously; that is, without padding between records.

  • 構造体の配列以外の配列の場合、はFileGetデータだけを読み取ります。For any array other than an array in a structure, FileGet reads only the data. 記述子が読み取られません。No descriptor is read.

  • FileGet2バイト長記述子を予期せずに、構造体の要素ではない可変長文字列を読み取ります。FileGet reads variable-length strings that are not elements of structures without expecting the two-byte length descriptor. 読み取るバイト数は、既に文字列に含まれている文字数と同じです。The number of bytes read equals the number of characters already in the string.

    重要

    FileGet関数を使用してファイルから読み取るにReadは、 FileIOPermissionAccess列挙からのアクセスが必要です。Reading from a file by using the FileGet function requires Read access from the FileIOPermissionAccess enumeration.

こちらもご覧ください

FileGet(Int32, Char, Int64) FileGet(Int32, Char, Int64) FileGet(Int32, Char, Int64)

開いたディスク ファイルからデータを読み込んで変数に格納します。Reads data from an open disk file into a variable. My 機能を使用すると、FileGet よりもファイル I/O 処理の生産性とパフォーマンスが向上します。The My feature gives you better productivity and performance in file I/O operations than FileGet. 詳細については、「FileSystem」を参照してください。For more information, see FileSystem.

public static void FileGet (int FileNumber, ref char Value, long RecordNumber = -1);
static member FileGet : int *  * int64 -> unit
Public Sub FileGet (FileNumber As Integer, ByRef Value As Char, Optional RecordNumber As Long = -1)

パラメーター

FileNumber
Int32 Int32 Int32

必須です。Required. 任意の有効なファイル数。Any valid file number.

Value
Char Char Char

必須です。Required. データの読み込み先となる有効な変数名。Valid variable name into which data is read.

RecordNumber
Int64 Int64 Int64

任意。Optional. 読み込みを開始する位置の、レコード数 (Random モードのファイル) またはバイト数 (Binary モードのファイル)。Record number (Random mode files) or byte number (Binary mode files) at which reading starts.

例外

RecordNumber は < 1 で、-1 と等しくありません。RecordNumber < 1 and not equal to -1.

ファイル モードが無効です。File mode is invalid.

注釈

FileGetは、およびBinaryモードRandomでのみ有効です。FileGet is valid only in Random and Binary mode.

FileGet読み取られるデータは、通常、を使用FilePutしてファイルに書き込まれます。Data read with FileGet is usually written to a file with FilePut.

ファイル内の最初のレコードまたはバイトの位置は1、2番目のレコード、またはバイトの位置は2になります。The first record or byte in a file is at position 1, the second record or byte is at position 2, and so on. を省略RecordNumberした場合、最後FileGetのまたFilePutは関数 (または最後Seekの関数によって参照される) に続く次のレコードまたはバイトが読み取られます。If you omit RecordNumber, the next record or byte following the last FileGet or FilePut function (or pointed to by the last Seek function) is read.

重要

ファイルから読み取る場合は、ファイル名拡張子に基づいてファイルの内容を決定しないでください。When reading from files, do not make decisions about the contents of a file based on the file name extension. たとえば、Form1.vb という名前のファイルを Visual Basic ソースファイルにすることはできません。For example, a file that is named Form1.vb may not be a Visual Basic source file.

ランダムモードRandom Mode

モードでRandom開かれたファイルの場合、次の規則が適用されます。For files opened in Random mode, the following rules apply:

  • 読み取られるデータの長さが、 RecordLength FileOpen関数の句で指定された長さよりも少ない場合、 FileGetは、レコード長の境界の後続のレコードを読み取ります。If the length of the data being read is less than the length specified in the RecordLength clause of the FileOpen function, FileGet reads subsequent records on record-length boundaries. 1つのレコードの末尾と次のレコードの先頭との間のスペースは、ファイルバッファーの既存の内容に埋め込まれます。The space between the end of one record and the start of the next record is padded with the existing contents of the file buffer. 埋め込みデータの量はいかなる確実性でも判断できないため、通常は、レコードの長さを読み取り中のデータの長さと一致させることをお勧めします。Because the amount of padding data cannot be determined with any certainty, it is generally a good idea to have the record length match the length of the data being read.

  • 既定では、に読み込む変数が文字列FileGetである場合、は文字列の長さを含む2バイトの記述子を読み取り、変数に入力されたデータを読み取ります。By default, if the variable being read into is a string, FileGet reads a two-byte descriptor that contains the string length and then reads the data that goes into the variable. したがって、 RecordLength FileOpen関数の句で指定されるレコードの長さは、文字列の実際の長さよりも2バイト以上である必要があります。Therefore, the record length specified by the RecordLength clause of the FileOpen function must be at least two bytes greater than the actual length of the string. Visual Basic 6.0 以前のバージョンでは固定長文字列がサポートされています。ファイルに書き込む場合、長さ記述子は書き込まれません。Visual Basic 6.0 and earlier versions support fixed-length strings; when put to a file, the length descriptor is not written. 記述子を含まない文字列を読み取る場合は、 True StringIsFixedLengthパラメーターにを渡す必要があります。また、読み取る文字列は正しい長さである必要があります。If you want to read a string without the descriptor, you should pass True to the StringIsFixedLength parameter, and the string you read into should be the correct length.

  • に読み取る変数が配列の場合は、配列のサイズと次元の記述子を読み取るかどうかを選択できます。If the variable being read into is an array, you can choose whether to read a descriptor for the size and dimension of the array. 記述子を書き込むには、 ArrayIsDynamicパラメーターをにTrue設定します。To write the descriptor, set the ArrayIsDynamic parameter to True. 配列を読み取るときは、配列の記述方法と一致する必要があります。When reading the array, you have to match the way the array was written. 記述子を使用して記述されている場合は、記述子を読み取る必要があります。If it was written with the descriptor, you have to read the descriptor. 記述子が使用されていない場合は、にFileGet渡される配列のサイズと境界によって、読み取る対象が決まります。If the descriptor is not used, the size and bounds of the array passed into FileGet determine what to read.

    記述子は、配列のランク、サイズ、および各ランクの下限を指定します。The descriptor specifies the rank of the array, the size, and the lower bounds for each rank. 長さは 2 + 次元数の8倍になります。(2 + 8 * NumberOfDimensions)。Its length equals 2 plus 8 times the number of dimensions: (2 + 8 * NumberOfDimensions). FileOpen関数のRecordLengthパラメーターによって指定されたレコードの長さは、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。The record length specified by the RecordLength parameter in the FileOpen function must be greater than or equal to the sum of all the bytes required to write the array data and the array descriptor. たとえば、次の配列宣言では、配列がディスクに書き込まれるときに218バイトが必要です。For example, the following array declaration requires 218 bytes when the array is written to disk.

    Dim MyArray(4, 9) As Integer
    

    218バイトは次のように分散されます。The 218 bytes are distributed as follows:

    • 記述子の18バイト:(2 + 8 * 2)18 bytes for the descriptor: (2 + 8 * 2)

    • データの200バイト:(5 * 10 * 4)。200 bytes for the data: (5 * 10 * 4).

  • 読み取り先の変数が、可変長文字列またはオブジェクトではなく、他の型の変数である場合、 FileGetは変数データだけを読み取ります。If the variable being read into is any other type of variable (not a variable-length string or an object), FileGet reads only the variable data. FileOpen関数のRecordLength句で指定されたレコードの長さは、読み取るデータの長さ以上である必要があります。The record length specified by the RecordLength clause in the FileOpen function must be greater than or equal to the length of the data being read.

  • FileGetは、それぞれが個別に読み取られているかのように、構造体の要素を読み取ります。ただし、要素間にパディングはありません。FileGet reads elements of structures as if each were being read individually, except that there is no padding between elements. ディスク上では、(を使用して記述された) FilePutユーザー定義型の動的配列に、長さが 2 + 次元数の8倍の値を持つ記述子がプレフィックスとして付けられます。(2 + 8 * NumberOfDimensions)。On disk, a dynamic array in a user-defined type (written with FilePut) is prefixed by a descriptor whose length equals 2 plus 8 times the number of dimensions: (2 + 8 * NumberOfDimensions). FileOpen関数のRecordLength句で指定されたレコードの長さは、個々の要素を読み取るために必要なすべてのバイトの合計以上である必要があります。The record length specified by the RecordLength clause in the FileOpen function must be greater than or equal to the sum of all the bytes required to read the individual elements. これには、すべての配列とその記述子が含まれます。This includes any arrays and their descriptors. 属性VBFixedStringは、ディスクに書き込まれるときに文字列のサイズを示すために、構造体の文字列フィールドに適用できます。The VBFixedString attribute can be applied to string fields in the structures to indicate the size of a string when written to disk.

バイナリモードBinary Mode

モードでBinary開かれたファイルの場合はRandom 、ほとんどのモードルールが適用されますが、例外もあります。For files opened in Binary mode, most of the Random mode rules apply, with some exceptions. モードでBinary開かれたファイルの次の規則は、モードRandomの規則とは異なります。The following rules for files opened in Binary mode differ from the rules for Random mode:

  • 関数内の句は無効です。 RecordLength FileOpenThe RecordLength clause in the FileOpen function has no effect. FileGetすべての変数をディスクから連続して読み取ります。つまり、レコード間の埋め込みは行われません。FileGet reads all variables from disk contiguously; that is, without padding between records.

  • 構造体の配列以外の配列の場合、はFileGetデータだけを読み取ります。For any array other than an array in a structure, FileGet reads only the data. 記述子が読み取られません。No descriptor is read.

  • FileGet2バイト長記述子を予期せずに、構造体の要素ではない可変長文字列を読み取ります。FileGet reads variable-length strings that are not elements of structures without expecting the two-byte length descriptor. 読み取るバイト数は、既に文字列に含まれている文字数と同じです。The number of bytes read equals the number of characters already in the string.

    重要

    FileGet関数を使用してファイルから読み取るにReadは、 FileIOPermissionAccess列挙からのアクセスが必要です。Reading from a file by using the FileGet function requires Read access from the FileIOPermissionAccess enumeration.

こちらもご覧ください

FileGet(Int32, Byte, Int64) FileGet(Int32, Byte, Int64) FileGet(Int32, Byte, Int64)

開いたディスク ファイルからデータを読み込んで変数に格納します。Reads data from an open disk file into a variable. My 機能を使用すると、FileGet よりもファイル I/O 処理の生産性とパフォーマンスが向上します。The My feature gives you better productivity and performance in file I/O operations than FileGet. 詳細については、「FileSystem」を参照してください。For more information, see FileSystem.

public static void FileGet (int FileNumber, ref byte Value, long RecordNumber = -1);
static member FileGet : int *  * int64 -> unit
Public Sub FileGet (FileNumber As Integer, ByRef Value As Byte, Optional RecordNumber As Long = -1)

パラメーター

FileNumber
Int32 Int32 Int32

必須です。Required. 任意の有効なファイル数。Any valid file number.

Value
Byte Byte Byte

必須です。Required. データの読み込み先となる有効な変数名。Valid variable name into which data is read.

RecordNumber
Int64 Int64 Int64

任意。Optional. 読み込みを開始する位置の、レコード数 (Random モードのファイル) またはバイト数 (Binary モードのファイル)。Record number (Random mode files) or byte number (Binary mode files) at which reading starts.

例外

RecordNumber は < 1 で、-1 と等しくありません。RecordNumber < 1 and not equal to -1.

ファイル モードが無効です。File mode is invalid.

注釈

FileGetは、およびBinaryモードRandomでのみ有効です。FileGet is valid only in Random and Binary mode.

FileGet読み取られるデータは、通常、を使用FilePutしてファイルに書き込まれます。Data read with FileGet is usually written to a file with FilePut.

ファイル内の最初のレコードまたはバイトの位置は1、2番目のレコード、またはバイトの位置は2になります。The first record or byte in a file is at position 1, the second record or byte is at position 2, and so on. を省略RecordNumberした場合、最後FileGetのまたFilePutは関数 (または最後Seekの関数によって参照される) に続く次のレコードまたはバイトが読み取られます。If you omit RecordNumber, the next record or byte following the last FileGet or FilePut function (or pointed to by the last Seek function) is read.

重要

ファイルから読み取る場合は、ファイル名拡張子に基づいてファイルの内容を決定しないでください。When reading from files, do not make decisions about the contents of a file based on the file name extension. たとえば、Form1.vb という名前のファイルを Visual Basic ソースファイルにすることはできません。For example, a file that is named Form1.vb may not be a Visual Basic source file.

ランダムモードRandom Mode

モードでRandom開かれたファイルの場合、次の規則が適用されます。For files opened in Random mode, the following rules apply:

  • 読み取られるデータの長さが、 RecordLength FileOpen関数の句で指定された長さよりも少ない場合、 FileGetは、レコード長の境界の後続のレコードを読み取ります。If the length of the data being read is less than the length specified in the RecordLength clause of the FileOpen function, FileGet reads subsequent records on record-length boundaries. 1つのレコードの末尾と次のレコードの先頭との間のスペースは、ファイルバッファーの既存の内容に埋め込まれます。The space between the end of one record and the start of the next record is padded with the existing contents of the file buffer. 埋め込みデータの量はいかなる確実性でも判断できないため、通常は、レコードの長さを読み取り中のデータの長さと一致させることをお勧めします。Because the amount of padding data cannot be determined with any certainty, it is generally a good idea to have the record length match the length of the data being read.

  • 既定では、に読み込む変数が文字列FileGetである場合、は文字列の長さを含む2バイトの記述子を読み取り、変数に入力されたデータを読み取ります。By default, if the variable being read into is a string, FileGet reads a two-byte descriptor that contains the string length and then reads the data that goes into the variable. したがって、 RecordLength FileOpen関数の句で指定されるレコードの長さは、文字列の実際の長さよりも2バイト以上である必要があります。Therefore, the record length specified by the RecordLength clause of the FileOpen function must be at least two bytes greater than the actual length of the string. Visual Basic 6.0 以前のバージョンでは固定長文字列がサポートされています。ファイルに書き込む場合、長さ記述子は書き込まれません。Visual Basic 6.0 and earlier versions support fixed-length strings; when put to a file, the length descriptor is not written. 記述子を含まない文字列を読み取る場合は、 True StringIsFixedLengthパラメーターにを渡す必要があります。また、読み取る文字列は正しい長さである必要があります。If you want to read a string without the descriptor, you should pass True to the StringIsFixedLength parameter, and the string you read into should be the correct length.

  • に読み取る変数が配列の場合は、配列のサイズと次元の記述子を読み取るかどうかを選択できます。If the variable being read into is an array, you can choose whether to read a descriptor for the size and dimension of the array. 記述子を書き込むには、 ArrayIsDynamicパラメーターをにTrue設定します。To write the descriptor, set the ArrayIsDynamic parameter to True. 配列を読み取るときは、配列の記述方法と一致する必要があります。When reading the array, you have to match the way the array was written. 記述子を使用して記述されている場合は、記述子を読み取る必要があります。If it was written with the descriptor, you have to read the descriptor. 記述子が使用されていない場合は。If the descriptor is not used. 次に、にFileGet渡される配列のサイズと境界によって、読み取る内容が決まります。Then the size and bounds of the array passed into FileGet determine what to read.

    記述子は、配列のランク、サイズ、および各ランクの下限を指定します。The descriptor specifies the rank of the array, the size, and the lower bounds for each rank. 長さは 2 + 次元数の8倍になります。(2 + 8 * NumberOfDimensions)。Its length equals 2 plus 8 times the number of dimensions: (2 + 8 * NumberOfDimensions). FileOpen関数のRecordLengthパラメーターによって指定されたレコードの長さは、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。The record length specified by the RecordLength parameter in the FileOpen function must be greater than or equal to the sum of all the bytes required to write the array data and the array descriptor. たとえば、次の配列宣言では、配列がディスクに書き込まれるときに218バイトが必要です。For example, the following array declaration requires 218 bytes when the array is written to disk.

    Dim MyArray(4, 9) As Integer
    

    218バイトは次のように分散されます。The 218 bytes are distributed as follows:

    • 記述子の18バイト:(2 + 8 * 2)18 bytes for the descriptor: (2 + 8 * 2)

    • データの200バイト:(5 * 10 * 4)。200 bytes for the data: (5 * 10 * 4).

  • 読み取り先の変数が、可変長文字列またはオブジェクトではなく、他の型の変数である場合、 FileGetは変数データだけを読み取ります。If the variable being read into is any other type of variable (not a variable-length string or an object), FileGet reads only the variable data. FileOpen関数のRecordLength句で指定されたレコードの長さは、読み取るデータの長さ以上である必要があります。The record length specified by the RecordLength clause in the FileOpen function must be greater than or equal to the length of the data being read.

  • FileGetは、それぞれが個別に読み取られているかのように、構造体の要素を読み取ります。ただし、要素間にパディングはありません。FileGet reads elements of structures as if each were being read individually, except that there is no padding between elements. ディスク上では、(を使用して記述された) FilePutユーザー定義型の動的配列に、長さが 2 + 次元数の8倍の値を持つ記述子がプレフィックスとして付けられます。(2 + 8 * NumberOfDimensions)。On disk, a dynamic array in a user-defined type (written with FilePut) is prefixed by a descriptor whose length equals 2 plus 8 times the number of dimensions: (2 + 8 * NumberOfDimensions). FileOpen関数のRecordLength句で指定されたレコードの長さは、個々の要素を読み取るために必要なすべてのバイトの合計以上である必要があります。The record length specified by the RecordLength clause in the FileOpen function must be greater than or equal to the sum of all the bytes required to read the individual elements. これには、すべての配列とその記述子が含まれます。This includes any arrays and their descriptors. 属性VBFixedStringは、ディスクに書き込まれるときに文字列のサイズを示すために、構造体の文字列フィールドに適用できます。The VBFixedString attribute can be applied to string fields in the structures to indicate the size of a string when written to disk.

バイナリモードBinary Mode

モードでBinary開かれたファイルの場合はRandom 、ほとんどのモードルールが適用されますが、例外もあります。For files opened in Binary mode, most of the Random mode rules apply, with some exceptions. モードでBinary開かれたファイルの次の規則は、モードRandomの規則とは異なります。The following rules for files opened in Binary mode differ from the rules for Random mode:

  • 関数内の句は無効です。 RecordLength FileOpenThe RecordLength clause in the FileOpen function has no effect. FileGetすべての変数をディスクから連続して読み取ります。つまり、レコード間の埋め込みは行われません。FileGet reads all variables from disk contiguously; that is, without padding between records.

  • 構造体の配列以外の配列の場合、はFileGetデータだけを読み取ります。For any array other than an array in a structure, FileGet reads only the data. 記述子が読み取られません。No descriptor is read.

  • FileGet2バイト長記述子を予期せずに、構造体の要素ではない可変長文字列を読み取ります。FileGet reads variable-length strings that are not elements of structures without expecting the two-byte length descriptor. 読み取るバイト数は、既に文字列に含まれている文字数と同じです。The number of bytes read equals the number of characters already in the string.

    重要

    FileGet関数を使用してファイルから読み取るにReadは、 FileIOPermissionAccess列挙からのアクセスが必要です。Reading from a file by using the FileGet function requires Read access from the FileIOPermissionAccess enumeration.

こちらもご覧ください

FileGet(Int32, Boolean, Int64) FileGet(Int32, Boolean, Int64) FileGet(Int32, Boolean, Int64)

開いたディスク ファイルからデータを読み込んで変数に格納します。Reads data from an open disk file into a variable. My 機能を使用すると、FileGet よりもファイル I/O 処理の生産性とパフォーマンスが向上します。The My feature gives you better productivity and performance in file I/O operations than FileGet. 詳細については、「FileSystem」を参照してください。For more information, see FileSystem

public static void FileGet (int FileNumber, ref bool Value, long RecordNumber = -1);
static member FileGet : int *  * int64 -> unit
Public Sub FileGet (FileNumber As Integer, ByRef Value As Boolean, Optional RecordNumber As Long = -1)

パラメーター

FileNumber
Int32 Int32 Int32

必須です。Required. 任意の有効なファイル数。Any valid file number.

Value
Boolean Boolean Boolean

必須です。Required. データの読み込み先となる有効な変数名。Valid variable name into which data is read.

RecordNumber
Int64 Int64 Int64

任意。Optional. 読み込みを開始する位置の、レコード数 (Random モードのファイル) またはバイト数 (Binary モードのファイル)。Record number (Random mode files) or byte number (Binary mode files) at which reading starts.

例外

RecordNumber は < 1 で、-1 と等しくありません。RecordNumber < 1 and not equal to -1.

ファイル モードが無効です。File mode is invalid.

注釈

FileGetは、およびBinaryモードRandomでのみ有効です。FileGet is valid only in Random and Binary mode.

FileGet読み取られるデータは、通常、を使用FilePutしてファイルに書き込まれます。Data read with FileGet is usually written to a file with FilePut.

ファイル内の最初のレコードまたはバイトの位置は1、2番目のレコード、またはバイトの位置は2になります。The first record or byte in a file is at position 1, the second record or byte is at position 2, and so on. を省略RecordNumberした場合、最後FileGetのまたFilePutは関数 (または最後Seekの関数によって参照される) に続く次のレコードまたはバイトが読み取られます。If you omit RecordNumber, the next record or byte following the last FileGet or FilePut function (or pointed to by the last Seek function) is read.

重要

ファイルから読み取る場合は、ファイル名拡張子に基づいてファイルの内容を決定しないでください。When reading from files, do not make decisions about the contents of a file based on the file name extension. たとえば、Form1.vb という名前のファイルを Visual Basic ソースファイルにすることはできません。For example, a file that is named Form1.vb may not be a Visual Basic source file.

ランダムモードRandom Mode

モードでRandom開かれたファイルの場合、次の規則が適用されます。For files opened in Random mode, the following rules apply:

  • 読み取られるデータの長さが、 RecordLength FileOpen関数の句で指定された長さよりも少ない場合、 FileGetは、レコード長の境界の後続のレコードを読み取ります。If the length of the data being read is less than the length specified in the RecordLength clause of the FileOpen function, FileGet reads subsequent records on record-length boundaries. 1つのレコードの末尾と次のレコードの先頭との間のスペースは、ファイルバッファーの既存の内容に埋め込まれます。The space between the end of one record and the start of the next record is padded with the existing contents of the file buffer. 埋め込みデータの量はいかなる確実性でも判断できないため、通常は、レコードの長さを読み取り中のデータの長さと一致させることをお勧めします。Because the amount of padding data cannot be determined with any certainty, it is generally a good idea to have the record length match the length of the data being read.

  • 既定では、に読み込む変数が文字列FileGetである場合、は文字列の長さを含む2バイトの記述子を読み取り、変数に入力されたデータを読み取ります。By default, if the variable being read into is a string, FileGet reads a two-byte descriptor that contains the string length and then reads the data that goes into the variable. したがって、 RecordLength FileOpen関数の句で指定されるレコードの長さは、文字列の実際の長さよりも2バイト以上である必要があります。Therefore, the record length specified by the RecordLength clause of the FileOpen function must be at least two bytes greater than the actual length of the string. Visual Basic 6.0 以前のバージョンでは固定長文字列がサポートされています。ファイルに書き込む場合、長さ記述子は書き込まれません。Visual Basic 6.0 and earlier versions support fixed-length strings; when put to a file, the length descriptor is not written. 記述子を含まない文字列を読み取る場合は、 True StringIsFixedLengthパラメーターにを渡す必要があります。また、読み取る文字列は正しい長さである必要があります。If you want to read a string without the descriptor, you should pass True to the StringIsFixedLength parameter, and the string you read into should be the correct length.

  • に読み取る変数が配列の場合は、配列のサイズと次元の記述子を読み取るかどうかを選択できます。If the variable being read into is an array, you can choose whether to read a descriptor for the size and dimension of the array. 記述子を書き込むには、 ArrayIsDynamicパラメーターをにTrue設定します。To write the descriptor, set the ArrayIsDynamic parameter to True. 配列を読み取るときは、配列の記述方法と一致する必要があります。When reading the array, you have to match the way the array was written. 記述子を使用して記述されている場合は、記述子を読み取る必要があります。If it was written with the descriptor, you have to read the descriptor. 記述子が使用されていない場合は、にFileGet渡される配列のサイズと境界によって、読み取る対象が決まります。If the descriptor is not used, the size and bounds of the array passed into FileGet determine what to read.

    記述子は、配列のランク、サイズ、および各ランクの下限を指定します。The descriptor specifies the rank of the array, the size, and the lower bounds for each rank. 長さは 2 + 次元数の8倍になります。(2 + 8 * NumberOfDimensions)。Its length equals 2 plus 8 times the number of dimensions: (2 + 8 * NumberOfDimensions). FileOpen関数のRecordLengthパラメーターによって指定されたレコードの長さは、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。The record length specified by the RecordLength parameter in the FileOpen function must be greater than or equal to the sum of all the bytes required to write the array data and the array descriptor. たとえば、次の配列宣言では、配列がディスクに書き込まれるときに218バイトが必要です。For example, the following array declaration requires 218 bytes when the array is written to disk.

    Dim MyArray(4, 9) As Integer
    

    218バイトは次のように分散されます。The 218 bytes are distributed as follows:

    • 記述子の18バイト:(2 + 8 * 2)18 bytes for the descriptor: (2 + 8 * 2)

    • データの200バイト:(5 * 10 * 4)。200 bytes for the data: (5 * 10 * 4).

  • 読み取り先の変数が、可変長文字列またはオブジェクトではなく、他の型の変数である場合、 FileGetは変数データだけを読み取ります。If the variable being read into is any other type of variable (not a variable-length string or an object), FileGet reads only the variable data. FileOpen関数のRecordLength句で指定されたレコードの長さは、読み取るデータの長さ以上である必要があります。The record length specified by the RecordLength clause in the FileOpen function must be greater than or equal to the length of the data being read.

  • FileGetは、それぞれが個別に読み取られているかのように、構造体の要素を読み取ります。ただし、要素間にパディングはありません。FileGet reads elements of structures as if each were being read individually, except that there is no padding between elements. ディスク上では、(を使用して記述された) FilePutユーザー定義型の動的配列に、長さが 2 + 次元数の8倍の値を持つ記述子がプレフィックスとして付けられます。(2 + 8 * NumberOfDimensions)。On disk, a dynamic array in a user-defined type (written with FilePut) is prefixed by a descriptor whose length equals 2 plus 8 times the number of dimensions: (2 + 8 * NumberOfDimensions). FileOpen関数のRecordLength句で指定されたレコードの長さは、個々の要素を読み取るために必要なすべてのバイトの合計以上である必要があります。The record length specified by the RecordLength clause in the FileOpen function must be greater than or equal to the sum of all the bytes required to read the individual elements. これには、すべての配列とその記述子が含まれます。This includes any arrays and their descriptors. 属性VBFixedStringは、ディスクに書き込まれるときに文字列のサイズを示すために、構造体の文字列フィールドに適用できます。The VBFixedString attribute can be applied to string fields in the structures to indicate the size of a string when written to disk.

バイナリモードBinary Mode

モードでBinary開かれたファイルの場合はRandom 、ほとんどのモードルールが適用されますが、例外もあります。For files opened in Binary mode, most of the Random mode rules apply, with some exceptions. モードでBinary開かれたファイルの次の規則は、モードRandomの規則とは異なります。The following rules for files opened in Binary mode differ from the rules for Random mode:

  • 関数内の句は無効です。 RecordLength FileOpenThe RecordLength clause in the FileOpen function has no effect. FileGetすべての変数をディスクから連続して読み取ります。つまり、レコード間の埋め込みは行われません。FileGet reads all variables from disk contiguously; that is, without padding between records.

  • 構造体の配列以外の配列の場合、はFileGetデータだけを読み取ります。For any array other than an array in a structure, FileGet reads only the data. 記述子が読み取られません。No descriptor is read.

  • FileGet2バイト長記述子を予期せずに、構造体の要素ではない可変長文字列を読み取ります。FileGet reads variable-length strings that are not elements of structures without expecting the two-byte length descriptor. 読み取るバイト数は、既に文字列に含まれている文字数と同じです。The number of bytes read equals the number of characters already in the string.

    重要

    FileGet関数を使用してファイルから読み取るにReadは、 FileIOPermissionAccess列挙からのアクセスが必要です。Reading from a file by using theFileGet function requires Read access from the FileIOPermissionAccess enumeration.

こちらもご覧ください

FileGet(Int32, Int16, Int64) FileGet(Int32, Int16, Int64) FileGet(Int32, Int16, Int64)

開いたディスク ファイルからデータを読み込んで変数に格納します。Reads data from an open disk file into a variable. My 機能を使用すると、FileGet よりもファイル I/O 処理の生産性とパフォーマンスが向上します。The My feature gives you better productivity and performance in file I/O operations than FileGet. 詳細については、「FileSystem」を参照してください。For more information, see FileSystem.

public static void FileGet (int FileNumber, ref short Value, long RecordNumber = -1);
static member FileGet : int *  * int64 -> unit
Public Sub FileGet (FileNumber As Integer, ByRef Value As Short, Optional RecordNumber As Long = -1)

パラメーター

FileNumber
Int32 Int32 Int32

必須です。Required. 任意の有効なファイル数。Any valid file number.

Value
Int16 Int16 Int16

必須です。Required. データの読み込み先となる有効な変数名。Valid variable name into which data is read.

RecordNumber
Int64 Int64 Int64

任意。Optional. 読み込みを開始する位置の、レコード数 (Random モードのファイル) またはバイト数 (Binary モードのファイル)。Record number (Random mode files) or byte number (Binary mode files) at which reading starts.

例外

RecordNumber は < 1 で、-1 と等しくありません。RecordNumber < 1 and not equal to -1.

ファイル モードが無効です。File mode is invalid.

注釈

FileGetは、およびBinaryモードRandomでのみ有効です。FileGet is valid only in Random and Binary mode.

FileGet読み取られるデータは、通常、を使用FilePutしてファイルに書き込まれます。Data read with FileGet is usually written to a file by using FilePut.

ファイル内の最初のレコードまたはバイトの位置は1、2番目のレコード、またはバイトの位置は2になります。The first record or byte in a file is at position 1, the second record or byte is at position 2, and so on. を省略RecordNumberした場合、最後FileGetのまたFilePutは関数 (または最後Seekの関数によって参照される) に続く次のレコードまたはバイトが読み取られます。If you omit RecordNumber, the next record or byte following the last FileGet or FilePut function (or pointed to by the last Seek function) is read.

重要

ファイルから読み取る場合は、ファイル名拡張子に基づいてファイルの内容を決定しないでください。When reading from files, do not make decisions about the contents of a file based on the file name extension. たとえば、Form1.vb という名前のファイルを Visual Basic ソースファイルにすることはできません。For example, a file that is named Form1.vb may not be a Visual Basic source file.

ランダムモードRandom Mode

モードでRandom開かれたファイルの場合、次の規則が適用されます。For files opened in Random mode, the following rules apply:

  • 読み取られるデータの長さが、 RecordLength FileOpen関数の句で指定された長さよりも少ない場合、 FileGetは、レコード長の境界の後続のレコードを読み取ります。If the length of the data being read is less than the length specified in the RecordLength clause of the FileOpen function, FileGet reads subsequent records on record-length boundaries. 1つのレコードの末尾と次のレコードの先頭との間のスペースは、ファイルバッファーの既存の内容に埋め込まれます。The space between the end of one record and the start of the next record is padded with the existing contents of the file buffer. 埋め込みデータの量はいかなる確実性でも判断できないため、通常は、レコードの長さを読み取り中のデータの長さと一致させることをお勧めします。Because the amount of padding data cannot be determined with any certainty, it is generally a good idea to have the record length match the length of the data being read.

  • 既定では、に読み込む変数が文字列FileGetである場合、は文字列の長さを含む2バイトの記述子を読み取り、変数に入力されたデータを読み取ります。By default, if the variable being read into is a string, FileGet reads a two-byte descriptor that contains the string length and then reads the data that goes into the variable. したがって、 RecordLength FileOpen関数の句で指定されるレコードの長さは、文字列の実際の長さよりも2バイト以上である必要があります。Therefore, the record length specified by the RecordLength clause of the FileOpen function must be at least two bytes greater than the actual length of the string. Visual Basic 6.0 以前のバージョンでは固定長文字列がサポートされています。ファイルに書き込む場合、長さ記述子は書き込まれません。Visual Basic 6.0 and earlier versions support fixed-length strings; when put to a file, the length descriptor is not written. 記述子を含まない文字列を読み取る場合は、 True StringIsFixedLengthパラメーターにを渡す必要があります。また、読み取る文字列は正しい長さである必要があります。If you want to read a string without the descriptor, you should pass True to the StringIsFixedLength parameter, and the string you read into should be the correct length.

  • に読み取る変数が配列の場合は、配列のサイズと次元の記述子を読み取るかどうかを選択できます。If the variable being read into is an array, you can choose whether to read a descriptor for the size and dimension of the array. 記述子を書き込むには、 ArrayIsDynamicパラメーターをにTrue設定します。To write the descriptor, set the ArrayIsDynamic parameter to True. 配列を読み取るときは、配列の記述方法と一致する必要があります。When reading the array, you have to match the way the array was written. 記述子を使用して記述されている場合は、記述子を読み取る必要があります。If it was written with the descriptor, you have to read the descriptor. 記述子が使用されていない場合は、にFileGet渡される配列のサイズと境界によって、読み取る対象が決まります。If the descriptor is not used, the size and bounds of the array passed into FileGet determine what to read.

    記述子は、配列のランク、サイズ、および各ランクの下限を指定します。The descriptor specifies the rank of the array, the size, and the lower bounds for each rank. 長さは 2 + 次元数の8倍になります。(2 + 8 * NumberOfDimensions)。Its length equals 2 plus 8 times the number of dimensions: (2 + 8 * NumberOfDimensions). FileOpen関数のRecordLengthパラメーターによって指定されたレコードの長さは、配列データと配列記述子の書き込みに必要なすべてのバイトの合計以上である必要があります。The record length specified by the RecordLength parameter in the FileOpen function must be greater than or equal to the sum of all the bytes required to write the array data and the array descriptor. たとえば、次の配列宣言では、配列がディスクに書き込まれるときに218バイトが必要です。For example, the following array declaration requires 218 bytes when the array is written to disk.

    Dim MyArray(4, 9) As Integer
    

    218バイトは次のように分散されます。The 218 bytes are distributed as follows:

    • 記述子の18バイト:(2 + 8 * 2)18 bytes for the descriptor: (2 + 8 * 2)

    • データの200バイト:(5 * 10 * 4)。200 bytes for the data: (5 * 10 * 4).

  • 読み取り先の変数が、可変長文字列またはオブジェクトではなく、他の型の変数である場合、 FileGetは変数データだけを読み取ります。If the variable being read into is any other type of variable (not a variable-length string or an object), FileGet reads only the variable data. FileOpen関数のRecordLength句で指定されたレコードの長さは、読み取るデータの長さ以上である必要があります。The record length specified by the RecordLength clause in the FileOpen function must be greater than or equal to the length of the data being read.

  • FileGetは、それぞれが個別に読み取られているかのように、構造体の要素を読み取ります。ただし、要素間にパディングはありません。FileGet reads elements of structures as if each were being read individually, except that there is no padding between elements. ディスク上では、(を使用して記述された) FilePutユーザー定義型の動的配列に、長さが 2 + 次元数の8倍の値を持つ記述子がプレフィックスとして付けられます。(2 + 8 * NumberOfDimensions)。On disk, a dynamic array in a user-defined type (written with FilePut) is prefixed by a descriptor whose length equals 2 plus 8 times the number of dimensions: (2 + 8 * NumberOfDimensions). FileOpen関数のRecordLength句で指定されたレコードの長さは、個々の要素を読み取るために必要なすべてのバイトの合計以上である必要があります。The record length specified by the RecordLength clause in the FileOpen function must be greater than or equal to the sum of all the bytes required to read the individual elements. これには、すべての配列とその記述子が含まれます。This includes any arrays and their descriptors. 属性VBFixedStringは、ディスクに書き込まれるときに文字列のサイズを示すために、構造体の文字列フィールドに適用できます。The VBFixedString attribute can be applied to string fields in the structures to indicate the size of a string when written to disk.

バイナリモードBinary Mode

モードでBinary開かれたファイルの場合はRandom 、ほとんどのモードルールが適用されますが、例外もあります。For files opened in Binary mode, most of the Random mode rules apply, with some exceptions. モードでBinary開かれたファイルの次の規則は、モードRandomの規則とは異なります。The following rules for files opened in Binary mode differ from the rules for Random mode:

  • 関数内の句は無効です。 RecordLength FileOpenThe RecordLength clause in the FileOpen function has no effect. FileGetすべての変数をディスクから連続して読み取ります。つまり、レコード間の埋め込みは行われません。FileGet reads all variables from disk contiguously; that is, without padding between records.

  • 構造体の配列以外の配列の場合、はFileGetデータだけを読み取ります。For any array other than an array in a structure, FileGet reads only the data. 記述子が読み取られません。No descriptor is read.

  • FileGet2バイト長記述子を予期せずに、構造体の要素ではない可変長文字列を読み取ります。FileGet reads variable-length strings that are not elements of structures without expecting the two-byte length descriptor. 読み取るバイト数は、既に文字列に含まれている文字数と同じです。The number of bytes read equals the number of characters already in the string.

    重要

    FileGet関数を使用してファイルから読み取るにReadは、 FileIOPermissionAccess列挙からのアクセスが必要です。Reading from a file by using the FileGet function requires Read access from the FileIOPermissionAccess enumeration.

こちらもご覧ください

適用対象