FileSystem.FileGet Methode

Definitie

Leest gegevens uit een geopend schijfbestand in een variabele. De My functie biedt u betere productiviteit en prestaties in bestands-I/O-bewerkingen dan FileGet. Zie FileSystem voor meer informatie.

Overloads

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

Leest gegevens uit een geopend schijfbestand in een variabele. De My functie biedt u betere productiviteit en prestaties in bestands-I/O-bewerkingen dan FileGet. Zie FileSystem voor meer informatie.

FileGet(Int32, String, Int64, Boolean)

Leest gegevens uit een geopend schijfbestand in een variabele. De My functie biedt u betere productiviteit en prestaties in bestands-I/O-bewerkingen dan FileGet. Zie FileSystem voor meer informatie.

FileGet(Int32, ValueType, Int64)

Leest gegevens uit een geopend schijfbestand in een variabele. De My functie biedt u betere productiviteit en prestaties in bestands-I/O-bewerkingen dan FileGet. Zie FileSystem voor meer informatie.

FileGet(Int32, Single, Int64)

Leest gegevens uit een geopend schijfbestand in een variabele. De My functie biedt u betere productiviteit en prestaties in bestands-I/O-bewerkingen dan FileGet. Zie FileSystem voor meer informatie.

FileGet(Int32, Int64, Int64)

Leest gegevens uit een geopend schijfbestand in een variabele. De My functie biedt u betere productiviteit en prestaties in bestands-I/O-bewerkingen dan FileGet. Zie FileSystem voor meer informatie.

FileGet(Int32, Int32, Int64)

Leest gegevens uit een geopend schijfbestand in een variabele. De My functie biedt u betere productiviteit en prestaties in bestands-I/O-bewerkingen dan FileGet. Zie FileSystem voor meer informatie.

FileGet(Int32, Decimal, Int64)

Leest gegevens uit een geopend schijfbestand in een variabele. De My functie biedt u betere productiviteit en prestaties in bestands-I/O-bewerkingen dan FileGet. Zie FileSystem voor meer informatie.

FileGet(Int32, Double, Int64)

Leest gegevens uit een geopend schijfbestand in een variabele. De My functie biedt u betere productiviteit en prestaties in bestands-I/O-bewerkingen dan FileGet. Zie FileSystem voor meer informatie.

FileGet(Int32, DateTime, Int64)

Leest gegevens uit een geopend schijfbestand in een variabele. De My functie biedt u betere productiviteit en prestaties in bestands-I/O-bewerkingen dan FileGet. Zie FileSystem voor meer informatie.

FileGet(Int32, Char, Int64)

Leest gegevens uit een geopend schijfbestand in een variabele. De My functie biedt u betere productiviteit en prestaties in bestands-I/O-bewerkingen dan FileGet. Zie FileSystem voor meer informatie.

FileGet(Int32, Byte, Int64)

Leest gegevens uit een geopend schijfbestand in een variabele. De My functie biedt u betere productiviteit en prestaties in bestands-I/O-bewerkingen dan FileGet. Zie FileSystem voor meer informatie.

FileGet(Int32, Boolean, Int64)

Leest gegevens uit een geopend schijfbestand in een variabele. De My functie biedt u betere productiviteit en prestaties in bestands-I/O-bewerkingen dan FileGet. Zie FileSystem voor meer informatie.

FileGet(Int32, Int16, Int64)

Leest gegevens uit een geopend schijfbestand in een variabele. De My functie biedt u betere productiviteit en prestaties in bestands-I/O-bewerkingen dan FileGet. Zie FileSystem voor meer informatie.

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

Leest gegevens uit een geopend schijfbestand in een variabele. De My functie biedt u betere productiviteit en prestaties in bestands-I/O-bewerkingen dan FileGet. Zie FileSystem voor meer informatie.

public static void FileGet(int FileNumber, ref Array Value, long RecordNumber = -1, bool ArrayIsDynamic = false, bool StringIsFixedLength = false);
static member FileGet : int * Array * 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)

Parameters

FileNumber
Int32

Required. Elk geldig bestandsnummer.

Value
Array

Required. Geldige variabelenaam waarin gegevens worden gelezen.

RecordNumber
Int64

Optional. Recordnummer (Random modusbestanden) of bytenummer (Binary modusbestanden) waarmee het lezen wordt gestart.

ArrayIsDynamic
Boolean

Optional. Is alleen van toepassing bij het schrijven van een matrix. Hiermee geeft u op of de matrix moet worden behandeld als dynamisch en of een matrixdescriptor de grootte en grenzen van de matrix beschrijft.

StringIsFixedLength
Boolean

Optional. Is alleen van toepassing bij het schrijven van een tekenreeks. Hiermee geeft u op of een twee-byte descriptor moet worden geschreven voor de tekenreeks die de lengte beschrijft. De standaardwaarde is False.

Uitzonderingen

RecordNumber < 1 en niet gelijk aan -1.

De bestandsmodus is ongeldig.

Opmerkingen

FileGet is alleen geldig in Random en in de Binary modus.

Gegevens gelezen met FileGet worden meestal naar een bestand geschreven met behulp van FilePut.

De eerste record of byte in een bestand bevindt zich op positie 1, de tweede record of byte bevindt zich op positie 2, enzovoort. Als u weglaat RecordNumber, wordt de volgende record of byte na de laatste FileGet of FilePut functie (of waarnaar wordt verwezen door de laatste Seek functie) gelezen.

Important

Wanneer u bestanden leest, moet u geen beslissingen nemen over de inhoud van een bestand op basis van de bestandsnaamextensie. Een bestand met de naam Form1.vb is bijvoorbeeld mogelijk geen Visual Basic bronbestand.

Willekeurige modus

Voor bestanden die in Random de modus worden geopend, zijn de volgende regels van toepassing:

  • Als de lengte van de gegevens die worden gelezen kleiner is dan de lengte die is opgegeven in de RecordLength component van de FileOpen functie, FileGet leest u volgende records op recordlengtegrenzen. De ruimte tussen het einde van de ene record en het begin van de volgende record wordt opgevuld met de bestaande inhoud van de bestandsbuffer. Omdat de hoeveelheid opvullingsgegevens met enige zekerheid niet kan worden bepaald, is het over het algemeen een goed idee om de recordlengte overeen te laten komen met de lengte van de gegevens die worden gelezen.

  • Als de variabele die wordt gelezen een tekenreeks is, FileGet leest u standaard een twee-bytedescriptor die de tekenreekslengte bevat en leest u vervolgens de gegevens die in de variabele worden opgenomen. Daarom moet de recordlengte die is opgegeven door de RecordLength component van de FileOpen functie ten minste twee bytes groter zijn dan de werkelijke lengte van de tekenreeks. Visual Basic 6.0 en eerdere versies ondersteunen tekenreeksen met een vaste lengte. Wanneer u een bestand opgeeft, wordt de lengtedescriptor niet geschreven. Als u een tekenreeks wilt lezen zonder de descriptor, moet u de StringIsFixedLength parameter doorgeven True en moet de tekenreeks die u hebt gelezen, de juiste lengte hebben.

  • Als de variabele die wordt gelezen een matrix is, kunt u kiezen of u een descriptor wilt lezen voor de grootte en dimensie van de matrix. Als u de descriptor wilt schrijven, stelt u de ArrayIsDynamic parameter in op True. Wanneer u de matrix leest, moet u overeenkomen met de manier waarop de matrix is geschreven. Als deze is geschreven met de descriptor, moet u de descriptor lezen. Als de descriptor niet wordt gebruikt, bepalen de grootte en grenzen van de matrix die worden doorgegeven om FileGet te bepalen wat moet worden gelezen.

    De descriptor geeft de rang van de matrix, de grootte en de ondergrenzen voor elke rang aan. De lengte is gelijk aan 2 plus 8 keer het aantal dimensies: (2 + 8 * NumberOfDimensions). De recordlengte die is opgegeven door de RecordLength parameter in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de som van alle bytes die nodig zijn om de matrixgegevens en de matrixdescriptor te schrijven. De volgende matrixdeclaratie vereist bijvoorbeeld 218 bytes wanneer de matrix naar de schijf wordt geschreven.

    Dim MyArray(4, 9) As Integer
    

    De 218 bytes worden als volgt gedistribueerd:

    • 18 bytes voor de descriptor: (2 + 8 * 2)

    • 200 bytes voor de gegevens: (5 * 10 * 4).

  • Als de variabele die wordt gelezen een ander type variabele is (geen tekenreeks met een variabelelengte of een object), FileGet worden alleen de variabelegegevens gelezen. De recordlengte die is opgegeven door de RecordLength component in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de lengte van de gegevens die worden gelezen.

  • FileGet leest elementen van structuren alsof elk afzonderlijk wordt gelezen, behalve dat er geen opvulling tussen elementen is. Op schijf wordt een dynamische matrix in een door de gebruiker gedefinieerd type (geschreven met FilePut) voorafgegaan door een descriptor waarvan de lengte gelijk is aan 2 plus 8 keer het aantal dimensies: (2 + 8 * NumberOfDimensions). De recordlengte die is opgegeven door de RecordLength component in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de som van alle bytes die nodig zijn om de afzonderlijke elementen te lezen. Dit omvat eventuele matrices en descriptors. Het VBFixedString kenmerk kan worden toegepast op tekenreeksvelden in de structuren om de grootte van een tekenreeks aan te geven wanneer deze naar de schijf wordt geschreven.

Binaire modus

Voor bestanden die in Binary de modus worden geopend, zijn de Random meeste modusregels van toepassing, met enkele uitzonderingen. De volgende regels voor bestanden die in Binary de modus worden geopend, verschillen van de regels voor Random de modus:

  • De RecordLength component in de FileOpen functie heeft geen effect. FileGet leest alle variabelen van schijf aaneengesloten; dat wil gezegd, zonder opvulling tussen records.

  • Voor een andere matrix dan een matrix in een structuur worden FileGet alleen de gegevens gelezen. Er is geen descriptor gelezen.

  • FileGet leest tekenreeksen met de lengte van variabelen die geen elementen van structuren zijn zonder de beschrijving van de lengte van twee bytes te verwachten. Het aantal bytes dat wordt gelezen, is gelijk aan het aantal tekens dat al in de tekenreeks staat.

    Important

    Lezen vanuit een bestand met behulp van de FileGet functie vereist Read toegang vanuit de FileIOPermissionAccess opsomming.

Zie ook

Van toepassing op

FileGet(Int32, String, Int64, Boolean)

Leest gegevens uit een geopend schijfbestand in een variabele. De My functie biedt u betere productiviteit en prestaties in bestands-I/O-bewerkingen dan FileGet. Zie FileSystem voor meer informatie.

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

Parameters

FileNumber
Int32

Required. Elk geldig bestandsnummer.

Value
String

Required. Geldige variabelenaam waarin gegevens worden gelezen.

RecordNumber
Int64

Optional. Recordnummer (Random modusbestanden) of bytenummer (Binary modusbestanden) waarmee het lezen wordt gestart.

StringIsFixedLength
Boolean

Optional. Is alleen van toepassing bij het schrijven van een tekenreeks. Hiermee geeft u op of een twee-byte descriptor moet worden geschreven voor de tekenreeks die de lengte beschrijft. De standaardwaarde is False.

Uitzonderingen

RecordNumber < 1 en niet gelijk aan -1.

De bestandsmodus is ongeldig.

Opmerkingen

FileGet is alleen geldig in Random en in de Binary modus.

Gegevens gelezen met FileGet worden meestal naar een bestand geschreven met behulp van FilePut.

De eerste record of byte in een bestand bevindt zich op positie 1, de tweede record of byte bevindt zich op positie 2, enzovoort. Als u weglaat RecordNumber, wordt de volgende record of byte na de laatste FileGet of FilePut functie (of waarnaar wordt verwezen door de laatste Seek functie) gelezen.

Important

Wanneer u bestanden leest, moet u geen beslissingen nemen over de inhoud van een bestand op basis van de bestandsnaamextensie. Een bestand met de naam Form1.vb is bijvoorbeeld mogelijk geen Visual Basic bronbestand.

Willekeurige modus

Voor bestanden die in Random de modus worden geopend, zijn de volgende regels van toepassing:

  • Als de lengte van de gegevens die worden gelezen kleiner is dan de lengte die is opgegeven in de RecordLength component van de FileOpen functie, FileGet leest u volgende records op recordlengtegrenzen. De ruimte tussen het einde van de ene record en het begin van de volgende record wordt opgevuld met de bestaande inhoud van de bestandsbuffer. Omdat de hoeveelheid opvullingsgegevens met enige zekerheid niet kan worden bepaald, is het over het algemeen een goed idee om de recordlengte overeen te laten komen met de lengte van de gegevens die worden gelezen.

  • Als de variabele die wordt gelezen een tekenreeks is, FileGet leest u standaard een twee-bytedescriptor die de tekenreekslengte bevat en leest u vervolgens de gegevens die in de variabele worden opgenomen. Daarom moet de recordlengte die is opgegeven door de RecordLength component van de FileOpen functie ten minste twee bytes groter zijn dan de werkelijke lengte van de tekenreeks. Visual Basic 6.0 en eerdere versies ondersteunen tekenreeksen met een vaste lengte. Wanneer u een bestand opgeeft, wordt de lengtedescriptor niet geschreven. Als u een tekenreeks wilt lezen zonder de descriptor, moet u de StringIsFixedLength parameter doorgeven True en moet de tekenreeks die u hebt gelezen, de juiste lengte hebben.

  • Als de variabele die wordt gelezen een matrix is, kunt u kiezen of u een descriptor wilt lezen voor de grootte en dimensie van de matrix. Als u de descriptor wilt schrijven, stelt u de ArrayIsDynamic parameter in op True. Wanneer u de matrix leest, moet u overeenkomen met de manier waarop de matrix is geschreven. Als deze is geschreven met de descriptor, moet u de descriptor lezen. Als de descriptor niet wordt gebruikt, bepalen de grootte en grenzen van de matrix die worden doorgegeven om FileGet te bepalen wat moet worden gelezen.

    De descriptor geeft de rang van de matrix, de grootte en de ondergrenzen voor elke rang aan. De lengte is gelijk aan 2 plus 8 keer het aantal dimensies: (2 + 8 * NumberOfDimensions). De recordlengte die is opgegeven door de RecordLength parameter in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de som van alle bytes die nodig zijn om de matrixgegevens en de matrixdescriptor te schrijven. De volgende matrixdeclaratie vereist bijvoorbeeld 218 bytes wanneer de matrix naar de schijf wordt geschreven.

    Dim MyArray(4, 9) As Integer
    

    De 218 bytes worden als volgt gedistribueerd:

    • 18 bytes voor de descriptor: (2 + 8 * 2)

    • 200 bytes voor de gegevens: (5 * 10 * 4).

  • Als de variabele die wordt gelezen een ander type variabele is (geen tekenreeks met een variabelelengte of een object), FileGet worden alleen de variabelegegevens gelezen. De recordlengte die is opgegeven door de RecordLength component in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de lengte van de gegevens die worden gelezen.

  • FileGet leest elementen van structuren alsof elk afzonderlijk wordt gelezen, behalve dat er geen opvulling tussen elementen is. Op schijf wordt een dynamische matrix in een door de gebruiker gedefinieerd type (geschreven met FilePut) voorafgegaan door een descriptor waarvan de lengte gelijk is aan 2 plus 8 keer het aantal dimensies: (2 + 8 * NumberOfDimensions). De recordlengte die is opgegeven door de RecordLength component in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de som van alle bytes die nodig zijn om de afzonderlijke elementen te lezen. Dit omvat eventuele matrices en descriptors. Het VBFixedString kenmerk kan worden toegepast op tekenreeksvelden in de structuren om de grootte van een tekenreeks aan te geven wanneer deze naar de schijf wordt geschreven.

Binaire modus

Voor bestanden die in Binary de modus worden geopend, zijn de Random meeste modusregels van toepassing, met enkele uitzonderingen. De volgende regels voor bestanden die in Binary de modus worden geopend, verschillen van de regels voor Random de modus:

  • De RecordLength component in de FileOpen functie heeft geen effect. FileGet leest alle variabelen van schijf aaneengesloten; dat wil gezegd, zonder opvulling tussen records.

  • Voor een andere matrix dan een matrix in een structuur worden FileGet alleen de gegevens gelezen. Er is geen descriptor gelezen.

  • FileGet leest tekenreeksen met de lengte van variabelen die geen elementen van structuren zijn zonder de beschrijving van de lengte van twee bytes te verwachten. Het aantal bytes dat wordt gelezen, is gelijk aan het aantal tekens dat al in de tekenreeks staat.

    Important

    Lezen vanuit een bestand met behulp van de FileGet functie vereist Read toegang vanuit de FileIOPermissionAccess opsomming.

Zie ook

Van toepassing op

FileGet(Int32, ValueType, Int64)

Leest gegevens uit een geopend schijfbestand in een variabele. De My functie biedt u betere productiviteit en prestaties in bestands-I/O-bewerkingen dan FileGet. Zie FileSystem voor meer informatie.

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

Parameters

FileNumber
Int32

Required. Elk geldig bestandsnummer.

Value
ValueType

Required. Geldige variabelenaam waarin gegevens worden gelezen.

RecordNumber
Int64

Optional. Recordnummer (Random modusbestanden) of bytenummer (Binary modusbestanden) waarmee het lezen wordt gestart.

Uitzonderingen

RecordNumber < 1 en niet gelijk aan -1.

De bestandsmodus is ongeldig.

Opmerkingen

FileGet is alleen geldig in Random en in de Binary modus.

Gegevens gelezen met FileGet worden meestal naar een bestand geschreven met behulp van FilePut.

De eerste record of byte in een bestand bevindt zich op positie 1, de tweede record of byte bevindt zich op positie 2, enzovoort. Als u weglaat RecordNumber, wordt de volgende record of byte na de laatste FileGet of FilePut functie (of waarnaar wordt verwezen door de laatste Seek functie) gelezen.

Important

Wanneer u bestanden leest, moet u geen beslissingen nemen over de inhoud van een bestand op basis van de bestandsnaamextensie. Een bestand met de naam Form1.vb is bijvoorbeeld mogelijk geen Visual Basic bronbestand.

Willekeurige modus

Voor bestanden die in Random de modus worden geopend, zijn de volgende regels van toepassing:

  • Als de lengte van de gegevens die worden gelezen kleiner is dan de lengte die is opgegeven in de RecordLength component van de FileOpen functie, FileGet leest u volgende records op recordlengtegrenzen. De ruimte tussen het einde van de ene record en het begin van de volgende record wordt opgevuld met de bestaande inhoud van de bestandsbuffer. Omdat de hoeveelheid opvullingsgegevens met enige zekerheid niet kan worden bepaald, is het over het algemeen een goed idee om de recordlengte overeen te laten komen met de lengte van de gegevens die worden gelezen.

  • Als de variabele die wordt gelezen een tekenreeks is, FileGet leest u standaard een twee-bytedescriptor die de tekenreekslengte bevat en leest u vervolgens de gegevens die in de variabele worden opgenomen. Daarom moet de recordlengte die is opgegeven door de RecordLength component van de FileOpen functie ten minste twee bytes groter zijn dan de werkelijke lengte van de tekenreeks. Visual Basic 6.0 en eerdere versies ondersteunen tekenreeksen met een vaste lengte. Wanneer u een bestand opgeeft, wordt de lengtedescriptor niet geschreven. Als u een tekenreeks wilt lezen zonder de descriptor, moet u de StringIsFixedLength parameter doorgeven True en moet de tekenreeks die u hebt gelezen, de juiste lengte hebben.

  • Als de variabele die wordt gelezen een matrix is, kunt u kiezen of u een descriptor wilt lezen voor de grootte en dimensie van de matrix. Als u de descriptor wilt schrijven, stelt u de ArrayIsDynamic parameter in op True. Wanneer u de matrix leest, moet u overeenkomen met de manier waarop de matrix is geschreven. Als deze is geschreven met de descriptor, moet u de descriptor lezen. Als de descriptor niet wordt gebruikt, bepalen de grootte en grenzen van de matrix die worden doorgegeven om FileGet te bepalen wat moet worden gelezen.

    De descriptor geeft de rang van de matrix, de grootte en de ondergrenzen voor elke rang aan. De lengte is gelijk aan 2 plus 8 keer het aantal dimensies: (2 + 8 * NumberOfDimensions). De recordlengte die is opgegeven door de RecordLength parameter in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de som van alle bytes die nodig zijn om de matrixgegevens en de matrixdescriptor te schrijven. De volgende matrixdeclaratie vereist bijvoorbeeld 218 bytes wanneer de matrix naar de schijf wordt geschreven.

    Dim MyArray(4, 9) As Integer
    

    De 218 bytes worden als volgt gedistribueerd:

    • 18 bytes voor de descriptor: (2 + 8 * 2)

    • 200 bytes voor de gegevens: (5 * 10 * 4).

  • Als de variabele die wordt gelezen een ander type variabele is (geen tekenreeks met een variabelelengte of een object), FileGet worden alleen de variabelegegevens gelezen. De recordlengte die is opgegeven door de RecordLength component in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de lengte van de gegevens die worden gelezen.

  • FileGet leest elementen van structuren alsof elk afzonderlijk wordt gelezen, behalve dat er geen opvulling tussen elementen is. Op schijf wordt een dynamische matrix in een door de gebruiker gedefinieerd type (geschreven met FilePut) voorafgegaan door een descriptor waarvan de lengte gelijk is aan 2 plus 8 keer het aantal dimensies: (2 + 8 * NumberOfDimensions). De recordlengte die is opgegeven door de RecordLength component in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de som van alle bytes die nodig zijn om de afzonderlijke elementen te lezen. Dit omvat eventuele matrices en descriptors. Het VBFixedString kenmerk kan worden toegepast op tekenreeksvelden in de structuren om de grootte van een tekenreeks aan te geven wanneer deze naar de schijf wordt geschreven.

Binaire modus

Voor bestanden die in Binary de modus worden geopend, zijn de Random meeste modusregels van toepassing, met enkele uitzonderingen. De volgende regels voor bestanden die in Binary de modus worden geopend, verschillen van de regels voor Random de modus:

  • De RecordLength component in de FileOpen functie heeft geen effect. FileGet leest alle variabelen van schijf aaneengesloten; dat wil gezegd, zonder opvulling tussen records.

  • Voor een andere matrix dan een matrix in een structuur worden FileGet alleen de gegevens gelezen. Er is geen descriptor gelezen.

  • FileGet leest tekenreeksen met de lengte van variabelen die geen elementen van structuren zijn zonder de beschrijving van de lengte van twee bytes te verwachten. Het aantal bytes dat wordt gelezen, is gelijk aan het aantal tekens dat al in de tekenreeks staat.

    Important

    Lezen vanuit een bestand met behulp van de FileGet functie vereist Read toegang vanuit de FileIOPermissionAccess opsomming.

Zie ook

Van toepassing op

FileGet(Int32, Single, Int64)

Leest gegevens uit een geopend schijfbestand in een variabele. De My functie biedt u betere productiviteit en prestaties in bestands-I/O-bewerkingen dan FileGet. Zie FileSystem voor meer informatie.

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

Parameters

FileNumber
Int32

Required. Elk geldig bestandsnummer.

Value
Single

Required. Geldige variabelenaam waarin gegevens worden gelezen.

RecordNumber
Int64

Optional. Recordnummer (Random modusbestanden) of bytenummer (Binary modusbestanden) waarmee het lezen wordt gestart.

Uitzonderingen

RecordNumber < 1 en niet gelijk aan -1.

De bestandsmodus is ongeldig.

Opmerkingen

FileGet is alleen geldig in Random en in de Binary modus.

Gegevens gelezen met FileGet worden meestal naar een bestand geschreven met behulp van FilePut.

De eerste record of byte in een bestand bevindt zich op positie 1, de tweede record of byte bevindt zich op positie 2, enzovoort. Als u weglaat RecordNumber, wordt de volgende record of byte na de laatste FileGet of FilePut functie (of waarnaar wordt verwezen door de laatste Seek functie) gelezen.

Important

Wanneer u bestanden leest, moet u geen beslissingen nemen over de inhoud van een bestand op basis van de bestandsnaamextensie. Een bestand met de naam Form1.vb is bijvoorbeeld mogelijk geen Visual Basic bronbestand.

Willekeurige modus

Voor bestanden die in Random de modus worden geopend, zijn de volgende regels van toepassing:

  • Als de lengte van de gegevens die worden gelezen kleiner is dan de lengte die is opgegeven in de RecordLength component van de FileOpen functie, FileGet leest u volgende records op recordlengtegrenzen. De ruimte tussen het einde van de ene record en het begin van de volgende record wordt opgevuld met de bestaande inhoud van de bestandsbuffer. Omdat de hoeveelheid opvullingsgegevens met enige zekerheid niet kan worden bepaald, is het over het algemeen een goed idee om de recordlengte overeen te laten komen met de lengte van de gegevens die worden gelezen.

  • Als de variabele die wordt gelezen een tekenreeks is, FileGet leest u standaard een twee-bytedescriptor die de tekenreekslengte bevat en leest u vervolgens de gegevens die in de variabele worden opgenomen. Daarom moet de recordlengte die is opgegeven door de RecordLength component van de FileOpen functie ten minste twee bytes groter zijn dan de werkelijke lengte van de tekenreeks. Visual Basic 6.0 en eerdere versies ondersteunen tekenreeksen met een vaste lengte. Wanneer u een bestand opgeeft, wordt de lengtedescriptor niet geschreven. Als u een tekenreeks wilt lezen zonder de descriptor, moet u de StringIsFixedLength parameter doorgeven True en moet de tekenreeks die u hebt gelezen, de juiste lengte hebben.

  • Als de variabele die wordt gelezen een matrix is, kunt u kiezen of u een descriptor wilt lezen voor de grootte en dimensie van de matrix. Als u de descriptor wilt schrijven, stelt u de ArrayIsDynamic parameter in op True. Wanneer u de matrix leest, moet u overeenkomen met de manier waarop de matrix is geschreven. Als deze is geschreven met de descriptor, moet u de descriptor lezen. Als de descriptor niet wordt gebruikt, bepalen de grootte en grenzen van de matrix die worden doorgegeven om FileGet te bepalen wat moet worden gelezen.

    De descriptor geeft de rang van de matrix, de grootte en de ondergrenzen voor elke rang aan. De lengte is gelijk aan 2 plus 8 keer het aantal dimensies: (2 + 8 * NumberOfDimensions). De recordlengte die is opgegeven door de RecordLength parameter in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de som van alle bytes die nodig zijn om de matrixgegevens en de matrixdescriptor te schrijven. De volgende matrixdeclaratie vereist bijvoorbeeld 218 bytes wanneer de matrix naar de schijf wordt geschreven.

    Dim MyArray(4, 9) As Integer
    

    De 218 bytes worden als volgt gedistribueerd:

    • 18 bytes voor de descriptor: (2 + 8 * 2)

    • 200 bytes voor de gegevens: (5 * 10 * 4).

  • Als de variabele die wordt gelezen een ander type variabele is (geen tekenreeks met een variabelelengte of een object), FileGet worden alleen de variabelegegevens gelezen. De recordlengte die is opgegeven door de RecordLength component in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de lengte van de gegevens die worden gelezen.

  • FileGet leest elementen van structuren alsof elk afzonderlijk wordt gelezen, behalve dat er geen opvulling tussen elementen is. Op schijf wordt een dynamische matrix in een door de gebruiker gedefinieerd type (geschreven met FilePut) voorafgegaan door een descriptor waarvan de lengte gelijk is aan 2 plus 8 keer het aantal dimensies: (2 + 8 * NumberOfDimensions). De recordlengte die is opgegeven door de RecordLength component in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de som van alle bytes die nodig zijn om de afzonderlijke elementen te lezen. Dit omvat eventuele matrices en descriptors. Het VBFixedString kenmerk kan worden toegepast op tekenreeksvelden in de structuren om de grootte van een tekenreeks aan te geven wanneer deze naar de schijf wordt geschreven.

Binaire modus

Voor bestanden die in Binary de modus worden geopend, zijn de Random meeste modusregels van toepassing, met enkele uitzonderingen. De volgende regels voor bestanden die in Binary de modus worden geopend, verschillen van de regels voor Random de modus:

  • De RecordLength component in de FileOpen functie heeft geen effect. FileGet leest alle variabelen van schijf aaneengesloten; dat wil gezegd, zonder opvulling tussen records.

  • Voor een andere matrix dan een matrix in een structuur worden FileGet alleen de gegevens gelezen. Er is geen descriptor gelezen.

  • FileGet leest tekenreeksen met de lengte van variabelen die geen elementen van structuren zijn zonder de beschrijving van de lengte van twee bytes te verwachten. Het aantal bytes dat wordt gelezen, is gelijk aan het aantal tekens dat al in de tekenreeks staat.

    Important

    Lezen vanuit een bestand met behulp van de FileGet functie vereist Read toegang vanuit de FileIOPermissionAccess opsomming.

Zie ook

Van toepassing op

FileGet(Int32, Int64, Int64)

Leest gegevens uit een geopend schijfbestand in een variabele. De My functie biedt u betere productiviteit en prestaties in bestands-I/O-bewerkingen dan FileGet. Zie FileSystem voor meer informatie.

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

Parameters

FileNumber
Int32

Required. Elk geldig bestandsnummer.

Value
Int64

Required. Geldige variabelenaam waarin gegevens worden gelezen.

RecordNumber
Int64

Optional. Recordnummer (Random modusbestanden) of bytenummer (Binary modusbestanden) waarmee het lezen wordt gestart.

Uitzonderingen

RecordNumber < 1 en niet gelijk aan -1.

De bestandsmodus is ongeldig.

Opmerkingen

FileGet is alleen geldig in Random en in de Binary modus.

Gegevens gelezen met FileGet worden meestal naar een bestand geschreven met behulp van FilePut.

De eerste record of byte in een bestand bevindt zich op positie 1, de tweede record of byte bevindt zich op positie 2, enzovoort. Als u weglaat RecordNumber, wordt de volgende record of byte na de laatste FileGet of FilePut functie (of waarnaar wordt verwezen door de laatste Seek functie) gelezen.

Important

Wanneer u bestanden leest, moet u geen beslissingen nemen over de inhoud van een bestand op basis van de bestandsnaamextensie. Een bestand met de naam Form1.vb is bijvoorbeeld mogelijk geen Visual Basic bronbestand.

Willekeurige modus

Voor bestanden die in Random de modus worden geopend, zijn de volgende regels van toepassing:

  • Als de lengte van de gegevens die worden gelezen kleiner is dan de lengte die is opgegeven in de RecordLength component van de FileOpen functie, FileGet leest u volgende records op recordlengtegrenzen. De ruimte tussen het einde van de ene record en het begin van de volgende record wordt opgevuld met de bestaande inhoud van de bestandsbuffer. Omdat de hoeveelheid opvullingsgegevens met enige zekerheid niet kan worden bepaald, is het over het algemeen een goed idee om de recordlengte overeen te laten komen met de lengte van de gegevens die worden gelezen.

  • Als de variabele die wordt gelezen een tekenreeks is, FileGet leest u standaard een twee-bytedescriptor die de tekenreekslengte bevat en leest u vervolgens de gegevens die in de variabele worden opgenomen. Daarom moet de recordlengte die is opgegeven door de RecordLength component van de FileOpen functie ten minste twee bytes groter zijn dan de werkelijke lengte van de tekenreeks. Visual Basic 6.0 en eerdere versies ondersteunen tekenreeksen met een vaste lengte. Wanneer u een bestand opgeeft, wordt de lengtedescriptor niet geschreven. Als u een tekenreeks wilt lezen zonder de descriptor, moet u de StringIsFixedLength parameter doorgeven True en moet de tekenreeks die u hebt gelezen, de juiste lengte hebben.

  • Als de variabele die wordt gelezen een matrix is, kunt u kiezen of u een descriptor wilt lezen voor de grootte en dimensie van de matrix. Als u de descriptor wilt schrijven, stelt u de ArrayIsDynamic parameter in op True. Wanneer u de matrix leest, moet u overeenkomen met de manier waarop de matrix is geschreven. Als deze is geschreven met de descriptor, moet u de descriptor lezen. Als de descriptor niet wordt gebruikt, bepalen de grootte en grenzen van de matrix die worden doorgegeven om FileGet te bepalen wat moet worden gelezen.

    De descriptor geeft de rang van de matrix, de grootte en de ondergrenzen voor elke rang aan. De lengte is gelijk aan 2 plus 8 keer het aantal dimensies: (2 + 8 * NumberOfDimensions). De recordlengte die is opgegeven door de RecordLength parameter in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de som van alle bytes die nodig zijn om de matrixgegevens en de matrixdescriptor te schrijven. De volgende matrixdeclaratie vereist bijvoorbeeld 218 bytes wanneer de matrix naar de schijf wordt geschreven.

    Dim MyArray(4, 9) As Integer
    

    De 218 bytes worden als volgt gedistribueerd:

    • 18 bytes voor de descriptor: (2 + 8 * 2)

    • 200 bytes voor de gegevens: (5 * 10 * 4).

  • Als de variabele die wordt gelezen een ander type variabele is (geen tekenreeks met een variabelelengte of een object), FileGet worden alleen de variabelegegevens gelezen. De recordlengte die is opgegeven door de RecordLength component in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de lengte van de gegevens die worden gelezen.

  • FileGet leest elementen van structuren alsof elk afzonderlijk wordt gelezen, behalve dat er geen opvulling tussen elementen is. Op schijf wordt een dynamische matrix in een door de gebruiker gedefinieerd type (geschreven met FilePut) voorafgegaan door een descriptor waarvan de lengte gelijk is aan 2 plus 8 keer het aantal dimensies: (2 + 8 * NumberOfDimensions). De recordlengte die is opgegeven door de RecordLength component in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de som van alle bytes die nodig zijn om de afzonderlijke elementen te lezen. Dit omvat eventuele matrices en descriptors. Het VBFixedString kenmerk kan worden toegepast op tekenreeksvelden in de structuren om de grootte van een tekenreeks aan te geven wanneer deze naar de schijf wordt geschreven.

Binaire modus

Voor bestanden die in Binary de modus worden geopend, zijn de Random meeste modusregels van toepassing, met enkele uitzonderingen. De volgende regels voor bestanden die in Binary de modus worden geopend, verschillen van de regels voor Random de modus:

  • De RecordLength component in de FileOpen functie heeft geen effect. FileGet leest alle variabelen van schijf aaneengesloten; dat wil gezegd, zonder opvulling tussen records.

  • Voor een andere matrix dan een matrix in een structuur worden FileGet alleen de gegevens gelezen. Er is geen descriptor gelezen.

  • FileGet leest tekenreeksen met de lengte van variabelen die geen elementen van structuren zijn zonder de beschrijving van de lengte van twee bytes te verwachten. Het aantal bytes dat wordt gelezen, is gelijk aan het aantal tekens dat al in de tekenreeks staat.

    Important

    Lezen vanuit een bestand met behulp van de FileGet functie vereist Read toegang vanuit de FileIOPermissionAccess opsomming.

Zie ook

Van toepassing op

FileGet(Int32, Int32, Int64)

Leest gegevens uit een geopend schijfbestand in een variabele. De My functie biedt u betere productiviteit en prestaties in bestands-I/O-bewerkingen dan FileGet. Zie FileSystem voor meer informatie.

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

Parameters

FileNumber
Int32

Required. Elk geldig bestandsnummer.

Value
Int32

Required. Geldige variabelenaam waarin gegevens worden gelezen.

RecordNumber
Int64

Optional. Recordnummer (Random modusbestanden) of bytenummer (Binary modusbestanden) waarmee het lezen wordt gestart.

Uitzonderingen

RecordNumber < 1 en niet gelijk aan -1.

De bestandsmodus is ongeldig.

Opmerkingen

FileGet is alleen geldig in Random en in de Binary modus.

Gegevens gelezen met FileGet worden meestal naar een bestand geschreven met behulp van FilePut.

De eerste record of byte in een bestand bevindt zich op positie 1, de tweede record of byte bevindt zich op positie 2, enzovoort. Als u weglaat RecordNumber, wordt de volgende record of byte na de laatste FileGet of FilePut functie (of waarnaar wordt verwezen door de laatste Seek functie) gelezen.

Important

Wanneer u bestanden leest, moet u geen beslissingen nemen over de inhoud van een bestand op basis van de bestandsnaamextensie. Een bestand met de naam Form1.vb is bijvoorbeeld mogelijk geen Visual Basic bronbestand.

Willekeurige modus

Voor bestanden die in Random de modus worden geopend, zijn de volgende regels van toepassing:

  • Als de lengte van de gegevens die worden gelezen kleiner is dan de lengte die is opgegeven in de RecordLength component van de FileOpen functie, FileGet leest u volgende records op recordlengtegrenzen. De ruimte tussen het einde van de ene record en het begin van de volgende record wordt opgevuld met de bestaande inhoud van de bestandsbuffer. Omdat de hoeveelheid opvullingsgegevens met enige zekerheid niet kan worden bepaald, is het over het algemeen een goed idee om de recordlengte overeen te laten komen met de lengte van de gegevens die worden gelezen.

  • Als de variabele die wordt gelezen een tekenreeks is, FileGet leest u standaard een twee-bytedescriptor die de tekenreekslengte bevat en leest u vervolgens de gegevens die in de variabele worden opgenomen. Daarom moet de recordlengte die is opgegeven door de RecordLength component van de FileOpen functie ten minste twee bytes groter zijn dan de werkelijke lengte van de tekenreeks. Visual Basic 6.0 en eerdere versies ondersteunen tekenreeksen met een vaste lengte. Wanneer u een bestand opgeeft, wordt de lengtedescriptor niet geschreven. Als u een tekenreeks wilt lezen zonder de descriptor, moet u de StringIsFixedLength parameter doorgeven True en moet de tekenreeks die u hebt gelezen, de juiste lengte hebben.

  • Als de variabele die wordt gelezen een matrix is, kunt u kiezen of u een descriptor wilt lezen voor de grootte en dimensie van de matrix. Als u de descriptor wilt schrijven, stelt u de ArrayIsDynamic parameter in op True. Wanneer u de matrix leest, moet u overeenkomen met de manier waarop de matrix is geschreven. Als deze is geschreven met de descriptor, moet u de descriptor lezen. Als de descriptor niet wordt gebruikt, bepalen de grootte en grenzen van de matrix die worden doorgegeven om FileGet te bepalen wat moet worden gelezen.

    De descriptor geeft de rang van de matrix, de grootte en de ondergrenzen voor elke rang aan. De lengte is gelijk aan 2 plus 8 keer het aantal dimensies: (2 + 8 * NumberOfDimensions). De recordlengte die is opgegeven door de RecordLength parameter in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de som van alle bytes die nodig zijn om de matrixgegevens en de matrixdescriptor te schrijven. De volgende matrixdeclaratie vereist bijvoorbeeld 218 bytes wanneer de matrix naar de schijf wordt geschreven.

    Dim MyArray(4, 9) As Integer
    

    De 218 bytes worden als volgt gedistribueerd:

    • 18 bytes voor de descriptor: (2 + 8 * 2)

    • 200 bytes voor de gegevens: (5 * 10 * 4).

  • Als de variabele die wordt gelezen een ander type variabele is (geen tekenreeks met een variabelelengte of een object), FileGet worden alleen de variabelegegevens gelezen. De recordlengte die is opgegeven door de RecordLength component in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de lengte van de gegevens die worden gelezen.

  • FileGet leest elementen van structuren alsof elk afzonderlijk wordt gelezen, behalve dat er geen opvulling tussen elementen is. Op schijf wordt een dynamische matrix in een door de gebruiker gedefinieerd type (geschreven met FilePut) voorafgegaan door een descriptor waarvan de lengte gelijk is aan 2 plus 8 keer het aantal dimensies: (2 + 8 * NumberOfDimensions). De recordlengte die is opgegeven door de RecordLength component in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de som van alle bytes die nodig zijn om de afzonderlijke elementen te lezen. Dit omvat eventuele matrices en descriptors. Het VBFixedString kenmerk kan worden toegepast op tekenreeksvelden in de structuren om de grootte van een tekenreeks aan te geven wanneer deze naar de schijf wordt geschreven.

Binaire modus

Voor bestanden die in Binary de modus worden geopend, zijn de Random meeste modusregels van toepassing, met enkele uitzonderingen. De volgende regels voor bestanden die in Binary de modus worden geopend, verschillen van de regels voor Random de modus:

  • De RecordLength component in de FileOpen functie heeft geen effect. FileGet leest alle variabelen van schijf aaneengesloten; dat wil gezegd, zonder opvulling tussen records.

  • Voor een andere matrix dan een matrix in een structuur worden FileGet alleen de gegevens gelezen. Er is geen descriptor gelezen.

  • FileGet leest tekenreeksen met de lengte van variabelen die geen elementen van structuren zijn zonder de beschrijving van de lengte van twee bytes te verwachten. Het aantal bytes dat wordt gelezen, is gelijk aan het aantal tekens dat al in de tekenreeks staat.

    Important

    Lezen vanuit een bestand met behulp van de FileGet functie vereist Read toegang vanuit de FileIOPermissionAccess opsomming.

Zie ook

Van toepassing op

FileGet(Int32, Decimal, Int64)

Leest gegevens uit een geopend schijfbestand in een variabele. De My functie biedt u betere productiviteit en prestaties in bestands-I/O-bewerkingen dan FileGet. Zie FileSystem voor meer informatie.

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

Parameters

FileNumber
Int32

Required. Elk geldig bestandsnummer.

Value
Decimal

Required. Geldige variabelenaam waarin gegevens worden gelezen.

RecordNumber
Int64

Optional. Recordnummer (Random modusbestanden) of bytenummer (Binary modusbestanden) waarmee het lezen wordt gestart.

Uitzonderingen

RecordNumber < 1 en niet gelijk aan -1.

De bestandsmodus is ongeldig.

Opmerkingen

FileGet is alleen geldig in Random en in de Binary modus.

Gegevens gelezen met FileGet worden meestal naar een bestand geschreven met behulp van FilePut.

De eerste record of byte in een bestand bevindt zich op positie 1, de tweede record of byte bevindt zich op positie 2, enzovoort. Als u weglaat RecordNumber, wordt de volgende record of byte na de laatste FileGet of FilePut functie (of waarnaar wordt verwezen door de laatste Seek functie) gelezen.

Important

Wanneer u bestanden leest, moet u geen beslissingen nemen over de inhoud van een bestand op basis van de bestandsnaamextensie. Een bestand met de naam Form1.vb is bijvoorbeeld mogelijk geen Visual Basic bronbestand.

Willekeurige modus

Voor bestanden die in Random de modus worden geopend, zijn de volgende regels van toepassing:

  • Als de lengte van de gegevens die worden gelezen kleiner is dan de lengte die is opgegeven in de RecordLength component van de FileOpen functie, FileGet leest u volgende records op recordlengtegrenzen. De ruimte tussen het einde van de ene record en het begin van de volgende record wordt opgevuld met de bestaande inhoud van de bestandsbuffer. Omdat de hoeveelheid opvullingsgegevens met enige zekerheid niet kan worden bepaald, is het over het algemeen een goed idee om de recordlengte overeen te laten komen met de lengte van de gegevens die worden gelezen.

  • Als de variabele die wordt gelezen een tekenreeks is, FileGet leest u standaard een twee-bytedescriptor die de tekenreekslengte bevat en leest u vervolgens de gegevens die in de variabele worden opgenomen. Daarom moet de recordlengte die is opgegeven door de RecordLength component van de FileOpen functie ten minste twee bytes groter zijn dan de werkelijke lengte van de tekenreeks. Visual Basic 6.0 en eerdere versies ondersteunen tekenreeksen met een vaste lengte. Wanneer u een bestand opgeeft, wordt de lengtedescriptor niet geschreven. Als u een tekenreeks wilt lezen zonder de descriptor, moet u de StringIsFixedLength parameter doorgeven True en moet de tekenreeks die u hebt gelezen, de juiste lengte hebben.

  • Als de variabele die wordt gelezen een matrix is, kunt u kiezen of u een descriptor wilt lezen voor de grootte en dimensie van de matrix. Als u de descriptor wilt schrijven, stelt u de ArrayIsDynamic parameter in op True. Wanneer u de matrix leest, moet u overeenkomen met de manier waarop de matrix is geschreven. Als deze is geschreven met de descriptor, moet u de descriptor lezen. Als de descriptor niet wordt gebruikt, bepalen de grootte en grenzen van de matrix die worden doorgegeven om FileGet te bepalen wat moet worden gelezen.

    De descriptor geeft de rang van de matrix, de grootte en de ondergrenzen voor elke rang aan. De lengte is gelijk aan 2 plus 8 keer het aantal dimensies: (2 + 8 * NumberOfDimensions). De recordlengte die is opgegeven door de RecordLength parameter in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de som van alle bytes die nodig zijn om de matrixgegevens en de matrixdescriptor te schrijven. De volgende matrixdeclaratie vereist bijvoorbeeld 218 bytes wanneer de matrix naar de schijf wordt geschreven.

    Dim MyArray(4, 9) As Integer
    

    De 218 bytes worden als volgt gedistribueerd:

    • 18 bytes voor de descriptor: (2 + 8 * 2)

    • 200 bytes voor de gegevens: (5 * 10 * 4).

  • Als de variabele die wordt gelezen een ander type variabele is (geen tekenreeks met een variabelelengte of een object), FileGet worden alleen de variabelegegevens gelezen. De recordlengte die is opgegeven door de RecordLength component in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de lengte van de gegevens die worden gelezen.

  • FileGet leest elementen van structuren alsof elk afzonderlijk wordt gelezen, behalve dat er geen opvulling tussen elementen is. Op schijf wordt een dynamische matrix in een door de gebruiker gedefinieerd type (geschreven met FilePut) voorafgegaan door een descriptor waarvan de lengte gelijk is aan 2 plus 8 keer het aantal dimensies: (2 + 8 * NumberOfDimensions). De recordlengte die is opgegeven door de RecordLength component in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de som van alle bytes die nodig zijn om de afzonderlijke elementen te lezen. Dit omvat eventuele matrices en descriptors. Het VBFixedString kenmerk kan worden toegepast op tekenreeksvelden in de structuren om de grootte van een tekenreeks aan te geven wanneer deze naar de schijf wordt geschreven.

Binaire modus

Voor bestanden die in Binary de modus worden geopend, zijn de Random meeste modusregels van toepassing, met enkele uitzonderingen. De volgende regels voor bestanden die in Binary de modus worden geopend, verschillen van de regels voor Random de modus:

  • De RecordLength component in de FileOpen functie heeft geen effect. FileGet leest alle variabelen van schijf aaneengesloten; dat wil gezegd, zonder opvulling tussen records.

  • Voor een andere matrix dan een matrix in een structuur worden FileGet alleen de gegevens gelezen. Er is geen descriptor gelezen.

  • FileGet leest tekenreeksen met de lengte van variabelen die geen elementen van structuren zijn zonder de beschrijving van de lengte van twee bytes te verwachten. Het aantal bytes dat wordt gelezen, is gelijk aan het aantal tekens dat al in de tekenreeks staat.

    Important

    Lezen vanuit een bestand met behulp van de FileGet functie vereist Read toegang vanuit de FileIOPermissionAccess opsomming.

Zie ook

Van toepassing op

FileGet(Int32, Double, Int64)

Leest gegevens uit een geopend schijfbestand in een variabele. De My functie biedt u betere productiviteit en prestaties in bestands-I/O-bewerkingen dan FileGet. Zie FileSystem voor meer informatie.

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

Parameters

FileNumber
Int32

Required. Elk geldig bestandsnummer.

Value
Double

Required. Geldige variabelenaam waarin gegevens worden gelezen.

RecordNumber
Int64

Optional. Recordnummer (Random modusbestanden) of bytenummer (Binary modusbestanden) waarmee het lezen wordt gestart.

Uitzonderingen

RecordNumber < 1 en niet gelijk aan -1.

De bestandsmodus is ongeldig.

Opmerkingen

FileGet is alleen geldig in Random en in de Binary modus.

Gegevens gelezen met FileGet worden meestal naar een bestand geschreven met behulp van FilePut.

De eerste record of byte in een bestand bevindt zich op positie 1, de tweede record of byte bevindt zich op positie 2, enzovoort. Als u weglaat RecordNumber, wordt de volgende record of byte na de laatste FileGet of FilePut functie (of waarnaar wordt verwezen door de laatste Seek functie) gelezen.

Important

Wanneer u bestanden leest, moet u geen beslissingen nemen over de inhoud van een bestand op basis van de bestandsnaamextensie. Een bestand met de naam Form1.vb is bijvoorbeeld mogelijk geen Visual Basic bronbestand.

Willekeurige modus

Voor bestanden die in Random de modus worden geopend, zijn de volgende regels van toepassing:

  • Als de lengte van de gegevens die worden gelezen kleiner is dan de lengte die is opgegeven in de RecordLength component van de FileOpen functie, FileGet leest u volgende records op recordlengtegrenzen. De ruimte tussen het einde van de ene record en het begin van de volgende record wordt opgevuld met de bestaande inhoud van de bestandsbuffer. Omdat de hoeveelheid opvullingsgegevens met enige zekerheid niet kan worden bepaald, is het over het algemeen een goed idee om de recordlengte overeen te laten komen met de lengte van de gegevens die worden gelezen.

  • Als de variabele die wordt gelezen een tekenreeks is, FileGet leest u standaard een twee-bytedescriptor die de tekenreekslengte bevat en leest u vervolgens de gegevens die in de variabele worden opgenomen. Daarom moet de recordlengte die is opgegeven door de RecordLength component van de FileOpen functie ten minste twee bytes groter zijn dan de werkelijke lengte van de tekenreeks. Visual Basic 6.0 en eerdere versies ondersteunen tekenreeksen met een vaste lengte. Wanneer u een bestand opgeeft, wordt de lengtedescriptor niet geschreven. Als u een tekenreeks wilt lezen zonder de descriptor, moet u de StringIsFixedLength parameter doorgeven True en moet de tekenreeks die u hebt gelezen, de juiste lengte hebben.

  • Als de variabele die wordt gelezen een matrix is, kunt u kiezen of u een descriptor wilt lezen voor de grootte en dimensie van de matrix. Als u de descriptor wilt schrijven, stelt u de ArrayIsDynamic parameter in op True. Wanneer u de matrix leest, moet u overeenkomen met de manier waarop de matrix is geschreven. Als deze is geschreven met de descriptor, moet u de descriptor lezen. Als de descriptor niet wordt gebruikt, bepalen de grootte en grenzen van de matrix die worden doorgegeven om FileGet te bepalen wat moet worden gelezen.

    De descriptor geeft de rang van de matrix, de grootte en de ondergrenzen voor elke rang aan. De lengte is gelijk aan 2 plus 8 keer het aantal dimensies: (2 + 8 * NumberOfDimensions). De recordlengte die is opgegeven door de RecordLength parameter in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de som van alle bytes die nodig zijn om de matrixgegevens en de matrixdescriptor te schrijven. De volgende matrixdeclaratie vereist bijvoorbeeld 218 bytes wanneer de matrix naar de schijf wordt geschreven.

    Dim MyArray(4, 9) As Integer
    

    De 218 bytes worden als volgt gedistribueerd:

    • 18 bytes voor de descriptor: (2 + 8 * 2)

    • 200 bytes voor de gegevens: (5 * 10 * 4).

  • Als de variabele die wordt gelezen een ander type variabele is (geen tekenreeks met een variabelelengte of een object), FileGet worden alleen de variabelegegevens gelezen. De recordlengte die is opgegeven door de RecordLength component in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de lengte van de gegevens die worden gelezen.

  • FileGet leest elementen van structuren alsof elk afzonderlijk wordt gelezen, behalve dat er geen opvulling tussen elementen is. Op schijf wordt een dynamische matrix in een door de gebruiker gedefinieerd type (geschreven met FilePut) voorafgegaan door een descriptor waarvan de lengte gelijk is aan 2 plus 8 keer het aantal dimensies: (2 + 8 * NumberOfDimensions). De recordlengte die is opgegeven door de RecordLength component in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de som van alle bytes die nodig zijn om de afzonderlijke elementen te lezen. Dit omvat eventuele matrices en descriptors. Het VBFixedString kenmerk kan worden toegepast op tekenreeksvelden in de structuren om de grootte van een tekenreeks aan te geven wanneer deze naar de schijf wordt geschreven.

Binaire modus

Voor bestanden die in Binary de modus worden geopend, zijn de Random meeste modusregels van toepassing, met enkele uitzonderingen. De volgende regels voor bestanden die in Binary de modus worden geopend, verschillen van de regels voor Random de modus:

  • De RecordLength component in de FileOpen functie heeft geen effect. FileGet leest alle variabelen van schijf aaneengesloten; dat wil gezegd, zonder opvulling tussen records.

  • Voor een andere matrix dan een matrix in een structuur worden FileGet alleen de gegevens gelezen. Er is geen descriptor gelezen.

  • FileGet leest tekenreeksen met de lengte van variabelen die geen elementen van structuren zijn zonder de beschrijving van de lengte van twee bytes te verwachten. Het aantal bytes dat wordt gelezen, is gelijk aan het aantal tekens dat al in de tekenreeks staat.

    Important

    Lezen vanuit een bestand met behulp van deFileGet functie vereist Read toegang vanuit de FileIOPermissionAccess opsomming.

Zie ook

Van toepassing op

FileGet(Int32, DateTime, Int64)

Leest gegevens uit een geopend schijfbestand in een variabele. De My functie biedt u betere productiviteit en prestaties in bestands-I/O-bewerkingen dan FileGet. Zie FileSystem voor meer informatie.

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

Parameters

FileNumber
Int32

Required. Elk geldig bestandsnummer.

Value
DateTime

Required. Geldige variabelenaam waarin gegevens worden gelezen.

RecordNumber
Int64

Optional. Recordnummer (Random modusbestanden) of bytenummer (Binary modusbestanden) waarmee het lezen wordt gestart.

Uitzonderingen

RecordNumber < 1 en niet gelijk aan -1.

De bestandsmodus is ongeldig.

Opmerkingen

FileGet is alleen geldig in Random en in de Binary modus.

Gegevens gelezen met FileGet worden meestal naar een bestand geschreven met FilePut.

De eerste record of byte in een bestand bevindt zich op positie 1, de tweede record of byte bevindt zich op positie 2, enzovoort. Als u weglaat RecordNumber, wordt de volgende record of byte na de laatste FileGet of FilePut functie (of waarnaar wordt verwezen door de laatste Seek functie) gelezen.

Important

Wanneer u bestanden leest, moet u geen beslissingen nemen over de inhoud van een bestand op basis van de bestandsnaamextensie. Een bestand met de naam Form1.vb is bijvoorbeeld mogelijk geen Visual Basic bronbestand.

Willekeurige modus

Voor bestanden die in Random de modus worden geopend, zijn de volgende regels van toepassing:

  • Als de lengte van de gegevens die worden gelezen kleiner is dan de lengte die is opgegeven in de RecordLength component van de FileOpen functie,FileGet leest u volgende records op recordlengtegrenzen. De ruimte tussen het einde van de ene record en het begin van de volgende record wordt opgevuld met de bestaande inhoud van de bestandsbuffer. Omdat de hoeveelheid opvullingsgegevens met enige zekerheid niet kan worden bepaald, is het over het algemeen een goed idee om de recordlengte overeen te laten komen met de lengte van de gegevens die worden gelezen.

  • Als de variabele die wordt gelezen een tekenreeks is, FileGet leest u standaard een twee-bytedescriptor die de tekenreekslengte bevat en leest u vervolgens de gegevens die in de variabele worden opgenomen. Daarom moet de recordlengte die is opgegeven door de RecordLength component van de FileOpen functie ten minste twee bytes groter zijn dan de werkelijke lengte van de tekenreeks. Visual Basic 6.0 en eerdere versies ondersteunen tekenreeksen met een vaste lengte. Wanneer u een bestand opgeeft, wordt de lengtedescriptor niet geschreven. Als u een tekenreeks wilt lezen zonder de descriptor, moet u de StringIsFixedLength parameter doorgeven True en moet de tekenreeks die u hebt gelezen, de juiste lengte hebben.

  • Als de variabele die wordt gelezen een matrix is, kunt u kiezen of u een descriptor wilt lezen voor de grootte en dimensie van de matrix. Als u de descriptor wilt schrijven, stelt u de ArrayIsDynamic parameter in op True. Wanneer u de matrix leest, moet u overeenkomen met de manier waarop de matrix is geschreven. Als deze is geschreven met de descriptor, moet u de descriptor lezen. Als de descriptor niet wordt gebruikt, bepalen de grootte en grenzen van de matrix die worden doorgegeven om FileGet te bepalen wat moet worden gelezen.

    De descriptor geeft de rang van de matrix, de grootte en de ondergrenzen voor elke rang aan. De lengte is gelijk aan 2 plus 8 keer het aantal dimensies: (2 + 8 * NumberOfDimensions). De recordlengte die is opgegeven door de RecordLength parameter in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de som van alle bytes die nodig zijn om de matrixgegevens en de matrixdescriptor te schrijven. De volgende matrixdeclaratie vereist bijvoorbeeld 218 bytes wanneer de matrix naar de schijf wordt geschreven.

    Dim MyArray(4, 9) As Integer
    

    De 218 bytes worden als volgt gedistribueerd:

    • 18 bytes voor de descriptor: (2 + 8 * 2)

    • 200 bytes voor de gegevens: (5 * 10 * 4).

  • Als de variabele die wordt gelezen een ander type variabele is (geen tekenreeks met een variabelelengte of een object), FileGet worden alleen de variabelegegevens gelezen. De recordlengte die is opgegeven door de RecordLength component in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de lengte van de gegevens die worden gelezen.

  • FileGet leest elementen van structuren alsof elk afzonderlijk wordt gelezen, behalve dat er geen opvulling tussen elementen is. Op schijf wordt een dynamische matrix in een door de gebruiker gedefinieerd type (geschreven met FilePut) voorafgegaan door een descriptor waarvan de lengte gelijk is aan 2 plus 8 keer het aantal dimensies: (2 + 8 * NumberOfDimensions). De recordlengte die is opgegeven door de RecordLength component in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de som van alle bytes die nodig zijn om de afzonderlijke elementen te lezen. Dit omvat eventuele matrices en descriptors. Het VBFixedString kenmerk kan worden toegepast op tekenreeksvelden in de structuren om de grootte van een tekenreeks aan te geven wanneer deze naar de schijf wordt geschreven.

Binaire modus

Voor bestanden die in Binary de modus worden geopend, zijn de Random meeste modusregels van toepassing, met enkele uitzonderingen. De volgende regels voor bestanden die in Binary de modus worden geopend, verschillen van de regels voor Random de modus:

  • De RecordLength component in de FileOpen functie heeft geen effect. FileGet leest alle variabelen van schijf aaneengesloten; dat wil gezegd, zonder opvulling tussen records.

  • Voor een andere matrix dan een matrix in een structuur worden FileGet alleen de gegevens gelezen. Er is geen descriptor gelezen.

  • FileGet leest tekenreeksen met de lengte van variabelen die geen elementen van structuren zijn zonder de beschrijving van de lengte van twee bytes te verwachten. Het aantal bytes dat wordt gelezen, is gelijk aan het aantal tekens dat al in de tekenreeks staat.

    Important

    Lezen vanuit een bestand met behulp van de FileGet functie vereist Read toegang vanuit de FileIOPermissionAccess opsomming.

Zie ook

Van toepassing op

FileGet(Int32, Char, Int64)

Leest gegevens uit een geopend schijfbestand in een variabele. De My functie biedt u betere productiviteit en prestaties in bestands-I/O-bewerkingen dan FileGet. Zie FileSystem voor meer informatie.

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

Parameters

FileNumber
Int32

Required. Elk geldig bestandsnummer.

Value
Char

Required. Geldige variabelenaam waarin gegevens worden gelezen.

RecordNumber
Int64

Optional. Recordnummer (Random modusbestanden) of bytenummer (Binary modusbestanden) waarmee het lezen wordt gestart.

Uitzonderingen

RecordNumber < 1 en niet gelijk aan -1.

De bestandsmodus is ongeldig.

Opmerkingen

FileGet is alleen geldig in Random en in de Binary modus.

Gegevens gelezen met FileGet worden meestal naar een bestand geschreven met FilePut.

De eerste record of byte in een bestand bevindt zich op positie 1, de tweede record of byte bevindt zich op positie 2, enzovoort. Als u weglaat RecordNumber, wordt de volgende record of byte na de laatste FileGet of FilePut functie (of waarnaar wordt verwezen door de laatste Seek functie) gelezen.

Important

Wanneer u bestanden leest, moet u geen beslissingen nemen over de inhoud van een bestand op basis van de bestandsnaamextensie. Een bestand met de naam Form1.vb is bijvoorbeeld mogelijk geen Visual Basic bronbestand.

Willekeurige modus

Voor bestanden die in Random de modus worden geopend, zijn de volgende regels van toepassing:

  • Als de lengte van de gegevens die worden gelezen kleiner is dan de lengte die is opgegeven in de RecordLength component van de FileOpen functie, FileGet leest u volgende records op recordlengtegrenzen. De ruimte tussen het einde van de ene record en het begin van de volgende record wordt opgevuld met de bestaande inhoud van de bestandsbuffer. Omdat de hoeveelheid opvullingsgegevens met enige zekerheid niet kan worden bepaald, is het over het algemeen een goed idee om de recordlengte overeen te laten komen met de lengte van de gegevens die worden gelezen.

  • Als de variabele die wordt gelezen een tekenreeks is, FileGet leest u standaard een twee-bytedescriptor die de tekenreekslengte bevat en leest u vervolgens de gegevens die in de variabele worden opgenomen. Daarom moet de recordlengte die is opgegeven door de RecordLength component van de FileOpen functie ten minste twee bytes groter zijn dan de werkelijke lengte van de tekenreeks. Visual Basic 6.0 en eerdere versies ondersteunen tekenreeksen met een vaste lengte. Wanneer u een bestand opgeeft, wordt de lengtedescriptor niet geschreven. Als u een tekenreeks wilt lezen zonder de descriptor, moet u de StringIsFixedLength parameter doorgeven True en moet de tekenreeks die u hebt gelezen, de juiste lengte hebben.

  • Als de variabele die wordt gelezen een matrix is, kunt u kiezen of u een descriptor wilt lezen voor de grootte en dimensie van de matrix. Als u de descriptor wilt schrijven, stelt u de ArrayIsDynamic parameter in op True. Wanneer u de matrix leest, moet u overeenkomen met de manier waarop de matrix is geschreven. Als deze is geschreven met de descriptor, moet u de descriptor lezen. Als de descriptor niet wordt gebruikt, bepalen de grootte en grenzen van de matrix die worden doorgegeven om FileGet te bepalen wat moet worden gelezen.

    De descriptor geeft de rang van de matrix, de grootte en de ondergrenzen voor elke rang aan. De lengte is gelijk aan 2 plus 8 keer het aantal dimensies: (2 + 8 * NumberOfDimensions). De recordlengte die is opgegeven door de RecordLength parameter in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de som van alle bytes die nodig zijn om de matrixgegevens en de matrixdescriptor te schrijven. De volgende matrixdeclaratie vereist bijvoorbeeld 218 bytes wanneer de matrix naar de schijf wordt geschreven.

    Dim MyArray(4, 9) As Integer
    

    De 218 bytes worden als volgt gedistribueerd:

    • 18 bytes voor de descriptor: (2 + 8 * 2)

    • 200 bytes voor de gegevens: (5 * 10 * 4).

  • Als de variabele die wordt gelezen een ander type variabele is (geen tekenreeks met een variabelelengte of een object), FileGet worden alleen de variabelegegevens gelezen. De recordlengte die is opgegeven door de RecordLength component in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de lengte van de gegevens die worden gelezen.

  • FileGet leest elementen van structuren alsof elk afzonderlijk wordt gelezen, behalve dat er geen opvulling tussen elementen is. Op schijf wordt een dynamische matrix in een door de gebruiker gedefinieerd type (geschreven met FilePut) voorafgegaan door een descriptor waarvan de lengte gelijk is aan 2 plus 8 keer het aantal dimensies: (2 + 8 * NumberOfDimensions). De recordlengte die is opgegeven door de RecordLength component in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de som van alle bytes die nodig zijn om de afzonderlijke elementen te lezen. Dit omvat eventuele matrices en descriptors. Het VBFixedString kenmerk kan worden toegepast op tekenreeksvelden in de structuren om de grootte van een tekenreeks aan te geven wanneer deze naar de schijf wordt geschreven.

Binaire modus

Voor bestanden die in Binary de modus worden geopend, zijn de Random meeste modusregels van toepassing, met enkele uitzonderingen. De volgende regels voor bestanden die in Binary de modus worden geopend, verschillen van de regels voor Random de modus:

  • De RecordLength component in de FileOpen functie heeft geen effect. FileGet leest alle variabelen van schijf aaneengesloten; dat wil gezegd, zonder opvulling tussen records.

  • Voor een andere matrix dan een matrix in een structuur worden FileGet alleen de gegevens gelezen. Er is geen descriptor gelezen.

  • FileGet leest tekenreeksen met de lengte van variabelen die geen elementen van structuren zijn zonder de beschrijving van de lengte van twee bytes te verwachten. Het aantal bytes dat wordt gelezen, is gelijk aan het aantal tekens dat al in de tekenreeks staat.

    Important

    Lezen vanuit een bestand met behulp van de FileGet functie vereist Read toegang vanuit de FileIOPermissionAccess opsomming.

Zie ook

Van toepassing op

FileGet(Int32, Byte, Int64)

Leest gegevens uit een geopend schijfbestand in een variabele. De My functie biedt u betere productiviteit en prestaties in bestands-I/O-bewerkingen dan FileGet. Zie FileSystem voor meer informatie.

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

Parameters

FileNumber
Int32

Required. Elk geldig bestandsnummer.

Value
Byte

Required. Geldige variabelenaam waarin gegevens worden gelezen.

RecordNumber
Int64

Optional. Recordnummer (Random modusbestanden) of bytenummer (Binary modusbestanden) waarmee het lezen wordt gestart.

Uitzonderingen

RecordNumber < 1 en niet gelijk aan -1.

De bestandsmodus is ongeldig.

Opmerkingen

FileGet is alleen geldig in Random en in de Binary modus.

Gegevens gelezen met FileGet worden meestal naar een bestand geschreven met FilePut.

De eerste record of byte in een bestand bevindt zich op positie 1, de tweede record of byte bevindt zich op positie 2, enzovoort. Als u weglaat RecordNumber, wordt de volgende record of byte na de laatste FileGet of FilePut functie (of waarnaar wordt verwezen door de laatste Seek functie) gelezen.

Important

Wanneer u bestanden leest, moet u geen beslissingen nemen over de inhoud van een bestand op basis van de bestandsnaamextensie. Een bestand met de naam Form1.vb is bijvoorbeeld mogelijk geen Visual Basic bronbestand.

Willekeurige modus

Voor bestanden die in Random de modus worden geopend, zijn de volgende regels van toepassing:

  • Als de lengte van de gegevens die worden gelezen kleiner is dan de lengte die is opgegeven in de RecordLength component van de FileOpen functie, FileGet leest u volgende records op recordlengtegrenzen. De ruimte tussen het einde van de ene record en het begin van de volgende record wordt opgevuld met de bestaande inhoud van de bestandsbuffer. Omdat de hoeveelheid opvullingsgegevens met enige zekerheid niet kan worden bepaald, is het over het algemeen een goed idee om de recordlengte overeen te laten komen met de lengte van de gegevens die worden gelezen.

  • Als de variabele die wordt gelezen een tekenreeks is, FileGet leest u standaard een twee-bytedescriptor die de tekenreekslengte bevat en leest u vervolgens de gegevens die in de variabele worden opgenomen. Daarom moet de recordlengte die is opgegeven door de RecordLength component van de FileOpen functie ten minste twee bytes groter zijn dan de werkelijke lengte van de tekenreeks. Visual Basic 6.0 en eerdere versies ondersteunen tekenreeksen met een vaste lengte. Wanneer u een bestand opgeeft, wordt de lengtedescriptor niet geschreven. Als u een tekenreeks wilt lezen zonder de descriptor, moet u de StringIsFixedLength parameter doorgeven True en moet de tekenreeks die u hebt gelezen, de juiste lengte hebben.

  • Als de variabele die wordt gelezen een matrix is, kunt u kiezen of u een descriptor wilt lezen voor de grootte en dimensie van de matrix. Als u de descriptor wilt schrijven, stelt u de ArrayIsDynamic parameter in op True. Wanneer u de matrix leest, moet u overeenkomen met de manier waarop de matrix is geschreven. Als deze is geschreven met de descriptor, moet u de descriptor lezen. Als de descriptor niet wordt gebruikt. Vervolgens bepalen de grootte en grenzen van de matrix die zijn doorgegeven om FileGet te bepalen wat moet worden gelezen.

    De descriptor geeft de rang van de matrix, de grootte en de ondergrenzen voor elke rang aan. De lengte is gelijk aan 2 plus 8 keer het aantal dimensies: (2 + 8 * NumberOfDimensions). De recordlengte die is opgegeven door de RecordLength parameter in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de som van alle bytes die nodig zijn om de matrixgegevens en de matrixdescriptor te schrijven. De volgende matrixdeclaratie vereist bijvoorbeeld 218 bytes wanneer de matrix naar de schijf wordt geschreven.

    Dim MyArray(4, 9) As Integer
    

    De 218 bytes worden als volgt gedistribueerd:

    • 18 bytes voor de descriptor: (2 + 8 * 2)

    • 200 bytes voor de gegevens: (5 * 10 * 4).

  • Als de variabele die wordt gelezen een ander type variabele is (geen tekenreeks met een variabelelengte of een object), FileGet worden alleen de variabelegegevens gelezen. De recordlengte die is opgegeven door de RecordLength component in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de lengte van de gegevens die worden gelezen.

  • FileGet leest elementen van structuren alsof elk afzonderlijk wordt gelezen, behalve dat er geen opvulling tussen elementen is. Op schijf wordt een dynamische matrix in een door de gebruiker gedefinieerd type (geschreven met FilePut) voorafgegaan door een descriptor waarvan de lengte gelijk is aan 2 plus 8 keer het aantal dimensies: (2 + 8 * NumberOfDimensions). De recordlengte die is opgegeven door de RecordLength component in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de som van alle bytes die nodig zijn om de afzonderlijke elementen te lezen. Dit omvat eventuele matrices en descriptors. Het VBFixedString kenmerk kan worden toegepast op tekenreeksvelden in de structuren om de grootte van een tekenreeks aan te geven wanneer deze naar de schijf wordt geschreven.

Binaire modus

Voor bestanden die in Binary de modus worden geopend, zijn de Random meeste modusregels van toepassing, met enkele uitzonderingen. De volgende regels voor bestanden die in Binary de modus worden geopend, verschillen van de regels voor Random de modus:

  • De RecordLength component in de FileOpen functie heeft geen effect. FileGet leest alle variabelen van schijf aaneengesloten; dat wil gezegd, zonder opvulling tussen records.

  • Voor een andere matrix dan een matrix in een structuur worden FileGet alleen de gegevens gelezen. Er is geen descriptor gelezen.

  • FileGet leest tekenreeksen met de lengte van variabelen die geen elementen van structuren zijn zonder de beschrijving van de lengte van twee bytes te verwachten. Het aantal bytes dat wordt gelezen, is gelijk aan het aantal tekens dat al in de tekenreeks staat.

    Important

    Lezen vanuit een bestand met behulp van de FileGet functie vereist Read toegang vanuit de FileIOPermissionAccess opsomming.

Zie ook

Van toepassing op

FileGet(Int32, Boolean, Int64)

Leest gegevens uit een geopend schijfbestand in een variabele. De My functie biedt u betere productiviteit en prestaties in bestands-I/O-bewerkingen dan FileGet. Zie FileSystem voor meer informatie.

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

Parameters

FileNumber
Int32

Required. Elk geldig bestandsnummer.

Value
Boolean

Required. Geldige variabelenaam waarin gegevens worden gelezen.

RecordNumber
Int64

Optional. Recordnummer (Random modusbestanden) of bytenummer (Binary modusbestanden) waarmee het lezen wordt gestart.

Uitzonderingen

RecordNumber < 1 en niet gelijk aan -1.

De bestandsmodus is ongeldig.

Opmerkingen

FileGet is alleen geldig in Random en in de Binary modus.

Gegevens gelezen met FileGet worden meestal naar een bestand geschreven met FilePut.

De eerste record of byte in een bestand bevindt zich op positie 1, de tweede record of byte bevindt zich op positie 2, enzovoort. Als u weglaat RecordNumber, wordt de volgende record of byte na de laatste FileGet of FilePut functie (of waarnaar wordt verwezen door de laatste Seek functie) gelezen.

Important

Wanneer u bestanden leest, moet u geen beslissingen nemen over de inhoud van een bestand op basis van de bestandsnaamextensie. Een bestand met de naam Form1.vb is bijvoorbeeld mogelijk geen Visual Basic bronbestand.

Willekeurige modus

Voor bestanden die in Random de modus worden geopend, zijn de volgende regels van toepassing:

  • Als de lengte van de gegevens die worden gelezen kleiner is dan de lengte die is opgegeven in de RecordLength component van de FileOpen functie, FileGet leest u volgende records op recordlengtegrenzen. De ruimte tussen het einde van de ene record en het begin van de volgende record wordt opgevuld met de bestaande inhoud van de bestandsbuffer. Omdat de hoeveelheid opvullingsgegevens met enige zekerheid niet kan worden bepaald, is het over het algemeen een goed idee om de recordlengte overeen te laten komen met de lengte van de gegevens die worden gelezen.

  • Als de variabele die wordt gelezen een tekenreeks is, FileGet leest u standaard een twee-bytedescriptor die de tekenreekslengte bevat en leest u vervolgens de gegevens die in de variabele worden opgenomen. Daarom moet de recordlengte die is opgegeven door de RecordLength component van de FileOpen functie ten minste twee bytes groter zijn dan de werkelijke lengte van de tekenreeks. Visual Basic 6.0 en eerdere versies ondersteunen tekenreeksen met een vaste lengte. Wanneer u een bestand opgeeft, wordt de lengtedescriptor niet geschreven. Als u een tekenreeks wilt lezen zonder de descriptor, moet u de StringIsFixedLength parameter doorgeven True en moet de tekenreeks die u hebt gelezen, de juiste lengte hebben.

  • Als de variabele die wordt gelezen een matrix is, kunt u kiezen of u een descriptor wilt lezen voor de grootte en dimensie van de matrix. Als u de descriptor wilt schrijven, stelt u de ArrayIsDynamic parameter in op True. Wanneer u de matrix leest, moet u overeenkomen met de manier waarop de matrix is geschreven. Als deze is geschreven met de descriptor, moet u de descriptor lezen. Als de descriptor niet wordt gebruikt, bepalen de grootte en grenzen van de matrix die worden doorgegeven om FileGet te bepalen wat moet worden gelezen.

    De descriptor geeft de rang van de matrix, de grootte en de ondergrenzen voor elke rang aan. De lengte is gelijk aan 2 plus 8 keer het aantal dimensies: (2 + 8 * NumberOfDimensions). De recordlengte die is opgegeven door de RecordLength parameter in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de som van alle bytes die nodig zijn om de matrixgegevens en de matrixdescriptor te schrijven. De volgende matrixdeclaratie vereist bijvoorbeeld 218 bytes wanneer de matrix naar de schijf wordt geschreven.

    Dim MyArray(4, 9) As Integer
    

    De 218 bytes worden als volgt gedistribueerd:

    • 18 bytes voor de descriptor: (2 + 8 * 2)

    • 200 bytes voor de gegevens: (5 * 10 * 4).

  • Als de variabele die wordt gelezen een ander type variabele is (geen tekenreeks met een variabelelengte of een object), FileGet worden alleen de variabelegegevens gelezen. De recordlengte die is opgegeven door de RecordLength component in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de lengte van de gegevens die worden gelezen.

  • FileGet leest elementen van structuren alsof elk afzonderlijk wordt gelezen, behalve dat er geen opvulling tussen elementen is. Op schijf wordt een dynamische matrix in een door de gebruiker gedefinieerd type (geschreven met FilePut) voorafgegaan door een descriptor waarvan de lengte gelijk is aan 2 plus 8 keer het aantal dimensies: (2 + 8 * NumberOfDimensions). De recordlengte die is opgegeven door de RecordLength component in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de som van alle bytes die nodig zijn om de afzonderlijke elementen te lezen. Dit omvat eventuele matrices en descriptors. Het VBFixedString kenmerk kan worden toegepast op tekenreeksvelden in de structuren om de grootte van een tekenreeks aan te geven wanneer deze naar de schijf wordt geschreven.

Binaire modus

Voor bestanden die in Binary de modus worden geopend, zijn de Random meeste modusregels van toepassing, met enkele uitzonderingen. De volgende regels voor bestanden die in Binary de modus worden geopend, verschillen van de regels voor Random de modus:

  • De RecordLength component in de FileOpen functie heeft geen effect. FileGet leest alle variabelen van schijf aaneengesloten; dat wil gezegd, zonder opvulling tussen records.

  • Voor een andere matrix dan een matrix in een structuur worden FileGet alleen de gegevens gelezen. Er is geen descriptor gelezen.

  • FileGet leest tekenreeksen met de lengte van variabelen die geen elementen van structuren zijn zonder de beschrijving van de lengte van twee bytes te verwachten. Het aantal bytes dat wordt gelezen, is gelijk aan het aantal tekens dat al in de tekenreeks staat.

    Important

    Lezen vanuit een bestand met behulp van deFileGet functie vereist Read toegang vanuit de FileIOPermissionAccess opsomming.

Zie ook

Van toepassing op

FileGet(Int32, Int16, Int64)

Leest gegevens uit een geopend schijfbestand in een variabele. De My functie biedt u betere productiviteit en prestaties in bestands-I/O-bewerkingen dan FileGet. Zie FileSystem voor meer informatie.

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

Parameters

FileNumber
Int32

Required. Elk geldig bestandsnummer.

Value
Int16

Required. Geldige variabelenaam waarin gegevens worden gelezen.

RecordNumber
Int64

Optional. Recordnummer (Random modusbestanden) of bytenummer (Binary modusbestanden) waarmee het lezen wordt gestart.

Uitzonderingen

RecordNumber < 1 en niet gelijk aan -1.

De bestandsmodus is ongeldig.

Opmerkingen

FileGet is alleen geldig in Random en in de Binary modus.

Gegevens gelezen met FileGet worden meestal naar een bestand geschreven met behulp van FilePut.

De eerste record of byte in een bestand bevindt zich op positie 1, de tweede record of byte bevindt zich op positie 2, enzovoort. Als u weglaat RecordNumber, wordt de volgende record of byte na de laatste FileGet of FilePut functie (of waarnaar wordt verwezen door de laatste Seek functie) gelezen.

Important

Wanneer u bestanden leest, moet u geen beslissingen nemen over de inhoud van een bestand op basis van de bestandsnaamextensie. Een bestand met de naam Form1.vb is bijvoorbeeld mogelijk geen Visual Basic bronbestand.

Willekeurige modus

Voor bestanden die in Random de modus worden geopend, zijn de volgende regels van toepassing:

  • Als de lengte van de gegevens die worden gelezen kleiner is dan de lengte die is opgegeven in de RecordLength component van de FileOpen functie, FileGet leest u volgende records op recordlengtegrenzen. De ruimte tussen het einde van de ene record en het begin van de volgende record wordt opgevuld met de bestaande inhoud van de bestandsbuffer. Omdat de hoeveelheid opvullingsgegevens met enige zekerheid niet kan worden bepaald, is het over het algemeen een goed idee om de recordlengte overeen te laten komen met de lengte van de gegevens die worden gelezen.

  • Als de variabele die wordt gelezen een tekenreeks is, FileGet leest u standaard een twee-bytedescriptor die de tekenreekslengte bevat en leest u vervolgens de gegevens die in de variabele worden opgenomen. Daarom moet de recordlengte die is opgegeven door de RecordLength component van de FileOpen functie ten minste twee bytes groter zijn dan de werkelijke lengte van de tekenreeks. Visual Basic 6.0 en eerdere versies ondersteunen tekenreeksen met een vaste lengte. Wanneer u een bestand opgeeft, wordt de lengtedescriptor niet geschreven. Als u een tekenreeks wilt lezen zonder de descriptor, moet u de StringIsFixedLength parameter doorgeven True en moet de tekenreeks die u hebt gelezen, de juiste lengte hebben.

  • Als de variabele die wordt gelezen een matrix is, kunt u kiezen of u een descriptor wilt lezen voor de grootte en dimensie van de matrix. Als u de descriptor wilt schrijven, stelt u de ArrayIsDynamic parameter in op True. Wanneer u de matrix leest, moet u overeenkomen met de manier waarop de matrix is geschreven. Als deze is geschreven met de descriptor, moet u de descriptor lezen. Als de descriptor niet wordt gebruikt, bepalen de grootte en grenzen van de matrix die worden doorgegeven om FileGet te bepalen wat moet worden gelezen.

    De descriptor geeft de rang van de matrix, de grootte en de ondergrenzen voor elke rang aan. De lengte is gelijk aan 2 plus 8 keer het aantal dimensies: (2 + 8 * NumberOfDimensions). De recordlengte die is opgegeven door de RecordLength parameter in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de som van alle bytes die nodig zijn om de matrixgegevens en de matrixdescriptor te schrijven. De volgende matrixdeclaratie vereist bijvoorbeeld 218 bytes wanneer de matrix naar de schijf wordt geschreven.

    Dim MyArray(4, 9) As Integer
    

    De 218 bytes worden als volgt gedistribueerd:

    • 18 bytes voor de descriptor: (2 + 8 * 2)

    • 200 bytes voor de gegevens: (5 * 10 * 4).

  • Als de variabele die wordt gelezen een ander type variabele is (geen tekenreeks met een variabelelengte of een object), FileGet worden alleen de variabelegegevens gelezen. De recordlengte die is opgegeven door de RecordLength component in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de lengte van de gegevens die worden gelezen.

  • FileGet leest elementen van structuren alsof elk afzonderlijk wordt gelezen, behalve dat er geen opvulling tussen elementen is. Op schijf wordt een dynamische matrix in een door de gebruiker gedefinieerd type (geschreven met FilePut) voorafgegaan door een descriptor waarvan de lengte gelijk is aan 2 plus 8 keer het aantal dimensies: (2 + 8 * NumberOfDimensions). De recordlengte die is opgegeven door de RecordLength component in de FileOpen functie, moet groter zijn dan of gelijk zijn aan de som van alle bytes die nodig zijn om de afzonderlijke elementen te lezen. Dit omvat eventuele matrices en descriptors. Het VBFixedString kenmerk kan worden toegepast op tekenreeksvelden in de structuren om de grootte van een tekenreeks aan te geven wanneer deze naar de schijf wordt geschreven.

Binaire modus

Voor bestanden die in Binary de modus worden geopend, zijn de Random meeste modusregels van toepassing, met enkele uitzonderingen. De volgende regels voor bestanden die in Binary de modus worden geopend, verschillen van de regels voor Random de modus:

  • De RecordLength component in de FileOpen functie heeft geen effect. FileGet leest alle variabelen van schijf aaneengesloten; dat wil gezegd, zonder opvulling tussen records.

  • Voor een andere matrix dan een matrix in een structuur worden FileGet alleen de gegevens gelezen. Er is geen descriptor gelezen.

  • FileGet leest tekenreeksen met de lengte van variabelen die geen elementen van structuren zijn zonder de beschrijving van de lengte van twee bytes te verwachten. Het aantal bytes dat wordt gelezen, is gelijk aan het aantal tekens dat al in de tekenreeks staat.

    Important

    Lezen vanuit een bestand met behulp van de FileGet functie vereist Read toegang vanuit de FileIOPermissionAccess opsomming.

Zie ook

Van toepassing op