FileSystem.FilePut Metoda

Definice

Zapíše data z proměnné do souboru disku. Tato My funkce poskytuje lepší produktivitu a výkon při vstupně-výstupních operacích souborů než FilePut. Další informace naleznete v tématu FileSystem.

Přetížení

Name Description
FilePut(Int32, Int64, Int64)

Zapíše data z proměnné do souboru disku. Tato My funkce poskytuje lepší produktivitu a výkon při vstupně-výstupních operacích souborů než FilePut. Další informace najdete na webu FileSystem.

FilePut(Int32, String, Int64, Boolean)

Zapíše data z proměnné do souboru disku. Tato My funkce poskytuje lepší produktivitu a výkon při vstupně-výstupních operacích souborů než FilePut. Další informace najdete na webu FileSystem.

FilePut(Object, Object, Object)
Zastaralé.
Zastaralé.
Zastaralé.

Zapíše data z proměnné do souboru disku. Tato My funkce poskytuje lepší produktivitu a výkon při vstupně-výstupních operacích souborů než FilePut. Další informace najdete na webu FileSystem.

FilePut(Int32, ValueType, Int64)

Zapíše data z proměnné do souboru disku. Tato My funkce poskytuje lepší produktivitu a výkon při vstupně-výstupních operacích souborů než FilePut. Další informace najdete na webu FileSystem.

FilePut(Int32, Single, Int64)

Zapíše data z proměnné do souboru disku. Tato My funkce poskytuje lepší produktivitu a výkon při vstupně-výstupních operacích souborů než FilePut. Další informace najdete na webu FileSystem.

FilePut(Int32, Int32, Int64)

Zapíše data z proměnné do souboru disku. Tato My funkce poskytuje lepší produktivitu a výkon při vstupně-výstupních operacích souborů než FilePut. Další informace najdete na webu FileSystem.

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

Zapíše data z proměnné do souboru disku. Tato My funkce poskytuje lepší produktivitu a výkon při vstupně-výstupních operacích souborů než FilePut. Další informace najdete na webu FileSystem.

FilePut(Int32, Double, Int64)

Zapíše data z proměnné do souboru disku. Tato My funkce poskytuje lepší produktivitu a výkon při vstupně-výstupních operacích souborů než FilePut. Další informace najdete na webu FileSystem.

FilePut(Int32, Decimal, Int64)

Zapíše data z proměnné do souboru disku. Tato My funkce poskytuje lepší produktivitu a výkon při vstupně-výstupních operacích souborů než FilePut. Další informace najdete na webu FileSystem.

FilePut(Int32, DateTime, Int64)

Zapíše data z proměnné do souboru disku. Tato My funkce poskytuje lepší produktivitu a výkon při vstupně-výstupních operacích souborů než FilePut. Další informace najdete na webu FileSystem.

FilePut(Int32, Char, Int64)

Zapíše data z proměnné do souboru disku. Tato My funkce poskytuje lepší produktivitu a výkon při vstupně-výstupních operacích souborů než FilePut. Další informace najdete na webu FileSystem.

FilePut(Int32, Byte, Int64)

Zapíše data z proměnné do souboru disku. Tato My funkce poskytuje lepší produktivitu a výkon při vstupně-výstupních operacích souborů než FilePut. Další informace najdete na webu FileSystem.

FilePut(Int32, Boolean, Int64)

Zapíše data z proměnné do souboru disku. Tato My funkce poskytuje lepší produktivitu a výkon při vstupně-výstupních operacích souborů než FilePut. Další informace najdete na webu FileSystem.

FilePut(Int32, Int16, Int64)

Zapíše data z proměnné do souboru disku. Tato My funkce poskytuje lepší produktivitu a výkon při vstupně-výstupních operacích souborů než FilePut. Další informace najdete na webu FileSystem.

FilePut(Int32, Int64, Int64)

Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb

Zapíše data z proměnné do souboru disku. Tato My funkce poskytuje lepší produktivitu a výkon při vstupně-výstupních operacích souborů než FilePut. Další informace najdete na webu FileSystem.

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

Parametry

FileNumber
Int32

Required. Libovolné platné číslo souboru.

Value
Int64

Required. Platný název proměnné, který obsahuje data zapsaná na disk.

RecordNumber
Int64

Optional. Číslo záznamu (Random soubory v režimu) nebo bajtové číslo (Binary soubory režimu), na kterých začíná zápis.

Výjimky

RecordNumber < 1 a nerovná se -1.

Režim souboru je neplatný.

Příklady

Tento příklad používá funkci k zápisu FilePut dat do souboru. Do souboru je zapsáno pět záznamů struktury Person .

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Poznámky

FilePut je platný pouze v Random režimu a Binary v režimu.

Data zapsaná FilePut pomocí souboru se obvykle čtou ze souboru pomocí FileGet.

První záznam nebo bajt v souboru je na pozici 1, druhý záznam nebo bajt je na pozici 2 atd. Pokud vynecháte RecordNumber, další záznam nebo bajt za poslední FileGetFilePut nebo funkcí nebo odkazuje na poslední Seek funkci, je zapsán.

Argument StringIsFixedLength určuje, zda funkce interpretuje řetězce jako proměnnou nebo pevnou délku. FilePut nezapisuje popisovač délky, pokud je Trueargument . Pokud používáte s StringIsFixedLength = TrueFilePut , musíte provést totéž s FileGeta musíte se ujistit, že je řetězec inicializován na očekávanou délku.

Náhodný režim

Pro soubory otevřené v Random režimu platí následující pravidla:

  • Pokud je délka zapisovaných dat menší než délka zadaná v RecordLength klauzuli FileOpen funkce, FilePut zapíše následné záznamy o hranicích délky záznamů. Mezera mezi koncem jednoho záznamu a začátkem dalšího záznamu je vyplněna existujícím obsahem vyrovnávací paměti souboru. Vzhledem k tomu, že množství odsazení dat nelze určit s jistotou, je obecně vhodné, aby délka záznamu odpovídala délce zapisovaných dat. Pokud je délka zapisovaných dat větší než délka zadaná v RecordLength klauzuli FileOpen funkce, vyvolá se výjimka.

  • Pokud je zapisovaná proměnná řetězec, FilePut zapíše dvoubajtů popisovač obsahující délku řetězce a zapíše data, která do proměnné přejdou. Délka záznamu RecordLength určená klauzulí ve FileOpen funkci proto musí být alespoň dva bajty větší než skutečná délka řetězce.

  • Pokud je zapisovaná proměnná objekt obsahující číselný typ, FilePut zapíše dva bajty identifikující VarType objekt a pak zapíše proměnnou. Například při zápisu objektu, který obsahuje celé číslo, FilePut zapíše šest bajtů: dva bajty, které identifikují objekt jako VarType(3) (Integer) a čtyři bajty obsahující data. Délka záznamu RecordLength zadaná parametrem ve FileOpen funkci musí být alespoň dva bajty větší než skutečný počet bajtů potřebných k uložení proměnné.

  • Pokud je zapisovaná proměnná objekt, který obsahuje řetězec, FilePut zapíše dvoubajtů popisovač identifikující VarType(8) objekt, dvoubajtů popisovač označující délku řetězce a zapíše řetězcová data. Délka záznamu RecordLength zadaná parametrem ve FileOpen funkci musí být alespoň čtyři bajty větší než skutečná délka řetězce. Pokud chcete vložit řetězec bez popisovače, měli TrueStringIsFixedLength byste předat parametru a řetězec, do kterého jste načetli, by měl mít správnou délku.

  • Pokud je zapisovaná proměnná matice, máte na výběr, jestli chcete napsat popisovač pro velikost a rozměry pole. Visual Basic 6.0 a starších verzích zapisuje popisovač souboru pro dynamické pole, ale ne pro pole s pevnou velikostí. Visual Basic 2005 se ve výchozím nastavení nezapisuje popisovač. Chcete-li napsat popisovač, nastavte ArrayIsDynamic parametr na True. Při psaní pole musíte odpovídat způsobu, jakým bude pole přečteno; pokud se bude číst s popisovačem, musíte napsat popisovač. Popisovač určuje pořadí pole, velikost a dolní mez pro každé pořadí. Jeho délka se rovná 2 plus 8násobek počtu dimenzí: (2 + 8 * NumberOfDimensions). Délka záznamu RecordLength zadaná klauzulí ve FileOpen funkci musí být větší nebo rovna součtu všech bajtů požadovaných k zápisu dat pole a popisovače pole. Například následující deklarace pole vyžaduje při zápisu pole na disk 218 bajtů.

    Dim MyArray(4, 9) As Integer
    
  • Pokud je zapisovaná proměnná jiným typem proměnné (nikoli řetězcem s délkou proměnné nebo objektem), FilePut zapíše pouze data proměnných. Délka záznamu RecordLength zadaná klauzulí ve FileOpen funkci musí být větší nebo rovna délce zapisovaných dat.

  • FilePut zapisuje prvky struktur, jako by byly zapsány jednotlivě, s výjimkou odsazení mezi prvky. Atribut VBFixedString lze použít u řetězcových polí ve strukturách, které označují velikost řetězce při zápisu na disk.

    Note

    Pole řetězců, která mají více bajtů, než určuje atribut, se při zápisu VBFixedString na disk zkrátí.

Binární režim

U souborů otevřených v Binary režimu platí většina Random pravidel režimu s některými výjimkami. Následující pravidla pro soubory otevřené v Binary režimu se liší od pravidel režimu Random :

  • Klauzule RecordLength ve FileOpen funkci nemá žádný vliv. FilePut zapíše všechny proměnné na disk souvisle, tj. bez odsazení mezi záznamy.

  • Pro libovolnou jinou matici než pole ve struktuře FilePut zapisuje pouze data. Žádný popisovač není napsán.

  • FilePut zapíše řetězce s proměnnou délkou, které nejsou prvky struktur bez popisovače dvoubajtů. Počet bajtů zapsaných se rovná počtu znaků v řetězci. Například následující příkazy zapisují 11 bajtů do souboru číslo 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Zápis do souboru pomocí FilePut funkce vyžaduje Write přístup z výčtu FileIOPermissionAccess .

Viz také

Platí pro

FilePut(Int32, String, Int64, Boolean)

Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb

Zapíše data z proměnné do souboru disku. Tato My funkce poskytuje lepší produktivitu a výkon při vstupně-výstupních operacích souborů než FilePut. Další informace najdete na webu FileSystem.

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

Parametry

FileNumber
Int32

Required. Libovolné platné číslo souboru.

Value
String

Required. Platný název proměnné, který obsahuje data zapsaná na disk.

RecordNumber
Int64

Optional. Číslo záznamu (Random soubory v režimu) nebo bajtové číslo (Binary soubory režimu), na kterých začíná zápis.

StringIsFixedLength
Boolean

Optional. Platí pouze při zápisu řetězce. Určuje, jestli se má napsat dvoubajtů popisovač délky řetězce pro řetězec do souboru. Výchozí hodnota je False.

Výjimky

RecordNumber < 1 a nerovná se -1.

Režim souboru je neplatný.

Příklady

Tento příklad používá funkci k zápisu FilePut dat do souboru. Do souboru je zapsáno pět záznamů struktury Person .

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Poznámky

FilePut je platný pouze v Random režimu a Binary v režimu.

Data zapsaná FilePut pomocí souboru se obvykle čtou ze souboru pomocí FileGet.

První záznam nebo bajt v souboru je na pozici 1, druhý záznam nebo bajt je na pozici 2 atd. Pokud vynecháte RecordNumber, další záznam nebo bajt za poslední FileGetFilePut nebo funkcí nebo odkazuje na poslední Seek funkci, je zapsán.

Argument StringIsFixedLength určuje, zda funkce interpretuje řetězce jako proměnnou nebo pevnou délku. FilePut nezapisuje popisovač délky, pokud je Trueargument . Pokud používáte s StringIsFixedLength = TrueFilePut , musíte provést totéž s FileGeta musíte se ujistit, že je řetězec inicializován na očekávanou délku.

Náhodný režim

Pro soubory otevřené v Random režimu platí následující pravidla:

  • Pokud je délka zapisovaných dat menší než délka zadaná v RecordLength klauzuli FileOpen funkce, FilePut zapíše následné záznamy o hranicích délky záznamů. Mezera mezi koncem jednoho záznamu a začátkem dalšího záznamu je vyplněna existujícím obsahem vyrovnávací paměti souboru. Vzhledem k tomu, že množství odsazení dat nelze určit s jistotou, je obecně vhodné, aby délka záznamu odpovídala délce zapisovaných dat. Pokud je délka zapisovaných dat větší než délka zadaná v RecordLength klauzuli FileOpen funkce, vyvolá se výjimka.

  • Pokud je zapisovaná proměnná řetězec, FilePut zapíše dvoubajtů popisovač obsahující délku řetězce a zapíše data, která do proměnné přejdou. Délka záznamu RecordLength určená klauzulí ve FileOpen funkci proto musí být alespoň dva bajty větší než skutečná délka řetězce.

  • Pokud je zapisovaná proměnná objekt obsahující číselný typ, FilePut zapíše dva bajty identifikující VarType objekt a pak zapíše proměnnou. Například při zápisu objektu, který obsahuje celé číslo, FilePut zapíše šest bajtů: dva bajty, které identifikují objekt jako VarType(3) (Integer) a čtyři bajty obsahující data. Délka záznamu RecordLength zadaná parametrem ve FileOpen funkci musí být alespoň dva bajty větší než skutečný počet bajtů potřebných k uložení proměnné.

  • Pokud je zapisovaná proměnná objekt, který obsahuje řetězec, FilePut zapíše dvoubajtů popisovač identifikující VarType(8) objekt, dvoubajtů popisovač označující délku řetězce a zapíše řetězcová data. Délka záznamu RecordLength zadaná parametrem ve FileOpen funkci musí být alespoň čtyři bajty větší než skutečná délka řetězce. Pokud chcete vložit řetězec bez popisovače, měli TrueStringIsFixedLength byste předat parametru a řetězec, do kterého jste načetli, by měl mít správnou délku.

  • Pokud je zapisovaná proměnná matice, máte na výběr, jestli chcete napsat popisovač pro velikost a rozměry pole. Visual Basic 6.0 a starších verzích zapisuje popisovač souboru pro dynamické pole, ale ne pro pole s pevnou velikostí. Visual Basic 2005 se ve výchozím nastavení nezapisuje popisovač. Chcete-li napsat popisovač, nastavte ArrayIsDynamic parametr na True. Při psaní pole musíte odpovídat způsobu, jakým bude pole přečteno; pokud se bude číst s popisovačem, musíte napsat popisovač. Popisovač určuje pořadí pole, velikost a dolní mez pro každé pořadí. Jeho délka se rovná 2 plus 8násobek počtu dimenzí: (2 + 8 * NumberOfDimensions). Délka záznamu RecordLength zadaná klauzulí ve FileOpen funkci musí být větší nebo rovna součtu všech bajtů požadovaných k zápisu dat pole a popisovače pole. Například následující deklarace pole vyžaduje při zápisu pole na disk 218 bajtů.

    Dim MyArray(4, 9) As Integer
    
  • Pokud je zapisovaná proměnná jiným typem proměnné (nikoli řetězcem s délkou proměnné nebo objektem), FilePut zapíše pouze data proměnných. Délka záznamu RecordLength zadaná klauzulí ve FileOpen funkci musí být větší nebo rovna délce zapisovaných dat.

  • FilePut zapisuje prvky struktur, jako by byly zapsány jednotlivě, s výjimkou odsazení mezi prvky. Atribut VBFixedString lze použít u řetězcových polí ve strukturách, které označují velikost řetězce při zápisu na disk.

    Note

    Pole řetězců, která mají více bajtů, než určuje atribut, se při zápisu VBFixedString na disk zkrátí.

Binární režim

U souborů otevřených v Binary režimu platí většina Random pravidel režimu s některými výjimkami. Následující pravidla pro soubory otevřené v Binary režimu se liší od pravidel režimu Random :

  • Klauzule RecordLength ve FileOpen funkci nemá žádný vliv. FilePut zapíše všechny proměnné na disk souvisle, tj. bez odsazení mezi záznamy.

  • Pro libovolnou jinou matici než pole ve struktuře FilePut zapisuje pouze data. Žádný popisovač není napsán.

  • FilePut zapíše řetězce s proměnnou délkou, které nejsou prvky struktur bez popisovače dvoubajtů. Počet bajtů zapsaných se rovná počtu znaků v řetězci. Například následující příkazy zapisují 11 bajtů do souboru číslo 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Zápis do souboru pomocí FilePut funkce vyžaduje Write přístup z výčtu FileIOPermissionAccess .

Viz také

Platí pro

FilePut(Object, Object, Object)

Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb

Upozornění

FileSystem.FilePut has been deprecated. Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types.

Upozornění

This member has been deprecated. Please use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types. http://go.microsoft.com/fwlink/?linkid=14202

Upozornění

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

Zapíše data z proměnné do souboru disku. Tato My funkce poskytuje lepší produktivitu a výkon při vstupně-výstupních operacích souborů než FilePut. Další informace najdete na webu FileSystem.

public:
 static void FilePut(System::Object ^ FileNumber, System::Object ^ Value, System::Object ^ RecordNumber);
[System.Obsolete("FileSystem.FilePut has been deprecated. Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types.")]
public static void FilePut(object FileNumber, object Value, object RecordNumber);
[System.Obsolete("This member has been deprecated. Please use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types. http://go.microsoft.com/fwlink/?linkid=14202")]
public static void FilePut(object FileNumber, object Value, object RecordNumber);
[System.Obsolete("Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types")]
public static void FilePut(object FileNumber, object Value, object RecordNumber = -1);
[System.Obsolete("This member has been deprecated. Please use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types. http://go.microsoft.com/fwlink/?linkid=14202")]
public static void FilePut(object FileNumber, object Value, object RecordNumber = -1);
[<System.Obsolete("FileSystem.FilePut has been deprecated. Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types.")>]
static member FilePut : obj * obj * obj -> unit
[<System.Obsolete("This member has been deprecated. Please use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types. http://go.microsoft.com/fwlink/?linkid=14202")>]
static member FilePut : obj * obj * obj -> unit
[<System.Obsolete("Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types")>]
static member FilePut : obj * obj * obj -> unit
Public Sub FilePut (FileNumber As Object, Value As Object, RecordNumber As Object)
Public Sub FilePut (FileNumber As Object, Value As Object, Optional RecordNumber As Object = -1)

Parametry

FileNumber
Object

Required. Libovolné platné číslo souboru.

Value
Object

Required. Platný název proměnné, který obsahuje data zapsaná na disk.

RecordNumber
Object

Optional. Číslo záznamu (Random soubory v režimu) nebo bajtové číslo (Binary soubory režimu), na kterých začíná zápis.

Atributy

Výjimky

RecordNumber < 1 a nerovná se -1.

Režim souboru je neplatný.

Viz také

Platí pro

FilePut(Int32, ValueType, Int64)

Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb

Zapíše data z proměnné do souboru disku. Tato My funkce poskytuje lepší produktivitu a výkon při vstupně-výstupních operacích souborů než FilePut. Další informace najdete na webu FileSystem.

[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The origin object type could not be statically analyzed and may be trimmed")]
public static void FilePut(int FileNumber, ValueType Value, long RecordNumber = -1);
public static void FilePut(int FileNumber, ValueType Value, long RecordNumber = -1);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The origin object type could not be statically analyzed and may be trimmed")>]
static member FilePut : int * ValueType * int64 -> unit
static member FilePut : int * ValueType * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As ValueType, Optional RecordNumber As Long = -1)

Parametry

FileNumber
Int32

Required. Libovolné platné číslo souboru.

Value
ValueType

Required. Platný název proměnné, který obsahuje data zapsaná na disk.

RecordNumber
Int64

Optional. Číslo záznamu (Random soubory v režimu) nebo bajtové číslo (Binary soubory režimu), na kterých začíná zápis.

Atributy

Výjimky

RecordNumber < 1 a nerovná se -1.

Režim souboru je neplatný.

Příklady

Tento příklad používá funkci k zápisu FilePut dat do souboru. Do souboru je zapsáno pět záznamů struktury Person .

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Poznámky

FilePut je platný pouze v Random režimu a Binary v režimu.

Data zapsaná FilePut pomocí souboru se obvykle čtou ze souboru pomocí FileGet.

První záznam nebo bajt v souboru je na pozici 1, druhý záznam nebo bajt je na pozici 2 atd. Pokud vynecháte RecordNumber, další záznam nebo bajt za poslední FileGetFilePut nebo funkcí nebo odkazuje na poslední Seek funkci, je zapsán.

Argument StringIsFixedLength určuje, zda funkce interpretuje řetězce jako proměnnou nebo pevnou délku. FilePut nezapisuje popisovač délky, pokud je Trueargument . Pokud používáte s StringIsFixedLength = TrueFilePut , musíte provést totéž s FileGeta musíte se ujistit, že je řetězec inicializován na očekávanou délku.

Náhodný režim

Pro soubory otevřené v Random režimu platí následující pravidla:

  • Pokud je délka zapisovaných dat menší než délka zadaná vRecordLength klauzuli FileOpen funkce, FilePut zapíše následné záznamy o hranicích délky záznamů. Mezera mezi koncem jednoho záznamu a začátkem dalšího záznamu je vyplněna existujícím obsahem vyrovnávací paměti souboru. Vzhledem k tomu, že množství odsazení dat nelze určit s jistotou, je obecně vhodné, aby délka záznamu odpovídala délce zapisovaných dat. Pokud je délka zapisovaných dat větší než délka zadaná v RecordLength klauzuli FileOpen funkce, vyvolá se výjimka.

  • Pokud je zapisovaná proměnná řetězec, FilePut zapíše dvoubajtů popisovač obsahující délku řetězce a zapíše data, která do proměnné přejdou. Délka záznamu RecordLength určená klauzulí ve FileOpen funkci proto musí být alespoň dva bajty větší než skutečná délka řetězce.

  • Pokud je zapisovaná proměnná objekt obsahující číselný typ, FilePut zapíše dva bajty identifikující VarType objekt a pak zapíše proměnnou. Například při zápisu objektu, který obsahuje celé číslo, FilePut zapíše šest bajtů: dva bajty, které identifikují objekt jako VarType(3) (Integer) a čtyři bajty obsahující data. Délka záznamu RecordLength zadaná parametrem ve FileOpen funkci musí být alespoň dva bajty větší než skutečný počet bajtů potřebných k uložení proměnné.

  • Pokud je zapisovaná proměnná objekt, který obsahuje řetězec, FilePut zapíše dvoubajtů popisovač identifikující VarType(8) objekt, dvoubajtů popisovač označující délku řetězce a zapíše řetězcová data. Délka záznamu RecordLength zadaná parametrem ve FileOpen funkci musí být alespoň čtyři bajty větší než skutečná délka řetězce. Pokud chcete vložit řetězec bez popisovače, měli TrueStringIsFixedLength byste předat parametru a řetězec, do kterého jste načetli, by měl mít správnou délku.

  • Pokud je zapisovaná proměnná matice, máte na výběr, jestli chcete napsat popisovač pro velikost a rozměry pole. Visual Basic 6.0 a starších verzích zapisuje popisovač souboru pro dynamické pole, ale ne pro pole s pevnou velikostí. Visual Basic 2005 se ve výchozím nastavení nezapisuje popisovač. Chcete-li napsat popisovač, nastavte ArrayIsDynamic parametr na True. Při psaní pole musíte odpovídat způsobu, jakým bude pole přečteno; pokud se bude číst s popisovačem, musíte napsat popisovač. Popisovač určuje pořadí pole, velikost a dolní mez pro každé pořadí. Jeho délka se rovná 2 plus 8násobek počtu dimenzí: (2 + 8 * NumberOfDimensions). Délka záznamu RecordLength zadaná klauzulí ve FileOpen funkci musí být větší nebo rovna součtu všech bajtů požadovaných k zápisu dat pole a popisovače pole. Například následující deklarace pole vyžaduje při zápisu pole na disk 218 bajtů.

    Dim MyArray(4, 9) As Integer
    
  • Pokud je zapisovaná proměnná jiným typem proměnné (nikoli řetězcem s délkou proměnné nebo objektem), FilePut zapíše pouze data proměnných. Délka záznamu RecordLength zadaná klauzulí ve FileOpen funkci musí být větší nebo rovna délce zapisovaných dat.

  • FilePut zapisuje prvky struktur, jako by byly zapsány jednotlivě, s výjimkou odsazení mezi prvky. Atribut VBFixedString lze použít u řetězcových polí ve strukturách, které označují velikost řetězce při zápisu na disk.

    Note

    Pole řetězců, která mají více bajtů, než určuje atribut, se při zápisu VBFixedString na disk zkrátí.

Binární režim

U souborů otevřených v Binary režimu platí většina Random pravidel režimu s některými výjimkami. Následující pravidla pro soubory otevřené v Binary režimu se liší od pravidel režimu Random :

  • Klauzule RecordLength ve FileOpen funkci nemá žádný vliv. FilePut zapíše všechny proměnné na disk souvisle, tj. bez odsazení mezi záznamy.

  • Pro libovolnou jinou matici než pole ve struktuře FilePut zapisuje pouze data. Žádný popisovač není napsán.

  • FilePut zapíše řetězce s proměnnou délkou, které nejsou prvky struktur bez popisovače dvoubajtů. Počet bajtů zapsaných se rovná počtu znaků v řetězci. Například následující příkazy zapisují 11 bajtů do souboru číslo 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Zápis do souboru pomocí FilePut funkce vyžaduje Write přístup z výčtu FileIOPermissionAccess .

Viz také

Platí pro

FilePut(Int32, Single, Int64)

Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb

Zapíše data z proměnné do souboru disku. Tato My funkce poskytuje lepší produktivitu a výkon při vstupně-výstupních operacích souborů než FilePut. Další informace najdete na webu FileSystem.

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

Parametry

FileNumber
Int32

Required. Libovolné platné číslo souboru.

Value
Single

Required. Platný název proměnné, který obsahuje data zapsaná na disk.

RecordNumber
Int64

Optional. Číslo záznamu (Random soubory v režimu) nebo bajtové číslo (Binary soubory režimu), na kterých začíná zápis.

Výjimky

RecordNumber < 1 a nerovná se -1.

Režim souboru je neplatný.

Příklady

Tento příklad používá funkci k zápisu FilePut dat do souboru. Do souboru je zapsáno pět záznamů struktury Person .

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Poznámky

FilePut je platný pouze v Random režimu a Binary v režimu.

Data zapsaná FilePut pomocí souboru se obvykle čtou ze souboru pomocí FileGet.

První záznam nebo bajt v souboru je na pozici 1, druhý záznam nebo bajt je na pozici 2 atd. Pokud vynecháte RecordNumber, další záznam nebo bajt za poslední FileGetFilePut nebo funkcí nebo odkazuje na poslední Seek funkci, je zapsán.

Argument StringIsFixedLength určuje, zda funkce interpretuje řetězce jako proměnnou nebo pevnou délku. FilePut nezapisuje popisovač délky, pokud je Trueargument . Pokud používáte s StringIsFixedLength = TrueFilePut , musíte provést totéž s FileGeta musíte se ujistit, že je řetězec inicializován na očekávanou délku.

Náhodný režim

Pro soubory otevřené v Random režimu platí následující pravidla:

  • Pokud je délka zapisovaných dat menší než délka zadaná v RecordLength klauzuli FileOpen funkce, FilePut zapíše následné záznamy o hranicích délky záznamů. Mezera mezi koncem jednoho záznamu a začátkem dalšího záznamu je vyplněna existujícím obsahem vyrovnávací paměti souboru. Vzhledem k tomu, že množství odsazení dat nelze určit s jistotou, je obecně vhodné, aby délka záznamu odpovídala délce zapisovaných dat. Pokud je délka zapisovaných dat větší než délka zadaná v RecordLength klauzuli FileOpen funkce, vyvolá se výjimka.

  • Pokud je zapisovaná proměnná řetězec, FilePut zapíše dvoubajtů popisovač obsahující délku řetězce a zapíše data, která do proměnné přejdou. Délka záznamu RecordLength určená klauzulí ve FileOpen funkci proto musí být alespoň dva bajty větší než skutečná délka řetězce.

  • Pokud je zapisovaná proměnná objekt obsahující číselný typ, FilePut zapíše dva bajty identifikující VarType objekt a pak zapíše proměnnou. Například při zápisu objektu, který obsahuje celé číslo, FilePut zapíše šest bajtů: dva bajty, které identifikují objekt jako VarType(3) (Integer) a čtyři bajty obsahující data. Délka záznamu RecordLength zadaná parametrem ve FileOpen funkci musí být alespoň dva bajty větší než skutečný počet bajtů potřebných k uložení proměnné.

  • Pokud je zapisovaná proměnná objekt, který obsahuje řetězec, FilePut zapíše dvoubajtů popisovač identifikující VarType(8) objekt, dvoubajtů popisovač označující délku řetězce a zapíše řetězcová data. Délka záznamu RecordLength zadaná parametrem ve FileOpen funkci musí být alespoň čtyři bajty větší než skutečná délka řetězce. Pokud chcete vložit řetězec bez popisovače, měli TrueStringIsFixedLength byste předat parametru a řetězec, do kterého jste načetli, by měl mít správnou délku.

  • Pokud je zapisovaná proměnná matice, máte na výběr, jestli chcete napsat popisovač pro velikost a rozměry pole. Visual Basic 6.0 a starších verzích zapisuje popisovač souboru pro dynamické pole, ale ne pro pole s pevnou velikostí. Visual Basic 2005 se ve výchozím nastavení nezapisuje popisovač. Chcete-li napsat popisovač, nastavte ArrayIsDynamic parametr na True. Při psaní pole musíte odpovídat způsobu, jakým bude pole přečteno; pokud se bude číst s popisovačem, musíte napsat popisovač. Popisovač určuje pořadí pole, velikost a dolní mez pro každé pořadí. Jeho délka se rovná 2 plus 8násobek počtu dimenzí: (2 + 8 * NumberOfDimensions). Délka záznamu RecordLength zadaná klauzulí ve FileOpen funkci musí být větší nebo rovna součtu všech bajtů požadovaných k zápisu dat pole a popisovače pole. Například následující deklarace pole vyžaduje při zápisu pole na disk 218 bajtů.

    Dim MyArray(4, 9) As Integer
    
  • Pokud je zapisovaná proměnná jiným typem proměnné (nikoli řetězcem s délkou proměnné nebo objektem), FilePut zapíše pouze data proměnných. Délka záznamu RecordLength zadaná klauzulí ve FileOpen funkci musí být větší nebo rovna délce zapisovaných dat.

  • FilePut zapisuje prvky struktur, jako by byly zapsány jednotlivě, s výjimkou odsazení mezi prvky. Atribut VBFixedString lze použít u řetězcových polí ve strukturách, které označují velikost řetězce při zápisu na disk.

    Note

    Pole řetězců, která mají více bajtů, než určuje atribut, se při zápisu VBFixedString na disk zkrátí.

Binární režim

U souborů otevřených v Binary režimu platí většina Random pravidel režimu s některými výjimkami. Následující pravidla pro soubory otevřené v Binary režimu se liší od pravidel režimu Random :

  • Klauzule RecordLength ve FileOpen funkci nemá žádný vliv. FilePut zapíše všechny proměnné na disk souvisle, tj. bez odsazení mezi záznamy.

  • Pro libovolnou jinou matici než pole ve struktuře FilePut zapisuje pouze data. Žádný popisovač není napsán.

  • FilePut zapíše řetězce s proměnnou délkou, které nejsou prvky struktur bez popisovače dvoubajtů. Počet bajtů zapsaných se rovná počtu znaků v řetězci. Například následující příkazy zapisují 11 bajtů do souboru číslo 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Zápis do souboru pomocí FilePut funkce vyžaduje Write přístup z výčtu FileIOPermissionAccess .

Viz také

Platí pro

FilePut(Int32, Int32, Int64)

Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb

Zapíše data z proměnné do souboru disku. Tato My funkce poskytuje lepší produktivitu a výkon při vstupně-výstupních operacích souborů než FilePut. Další informace najdete na webu FileSystem.

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

Parametry

FileNumber
Int32

Required. Libovolné platné číslo souboru.

Value
Int32

Required. Platný název proměnné, který obsahuje data zapsaná na disk.

RecordNumber
Int64

Optional. Číslo záznamu (Random soubory v režimu) nebo bajtové číslo (Binary soubory režimu), na kterých začíná zápis.

Výjimky

RecordNumber < 1 a nerovná se -1.

Režim souboru je neplatný.

Příklady

Tento příklad používá funkci k zápisu FilePut dat do souboru. Do souboru je zapsáno pět záznamů struktury Person .

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Poznámky

FilePut je platný pouze v Random režimu a Binary v režimu.

Data zapsaná FilePut pomocí souboru se obvykle čtou ze souboru pomocí FileGet.

První záznam nebo bajt v souboru je na pozici 1, druhý záznam nebo bajt je na pozici 2 atd. Pokud vynecháte RecordNumber, další záznam nebo bajt za poslední FileGetFilePut nebo funkcí nebo odkazuje na poslední Seek funkci, je zapsán.

Argument StringIsFixedLength určuje, zda funkce interpretuje řetězce jako proměnnou nebo pevnou délku. FilePut nezapisuje popisovač délky, pokud je Trueargument . Pokud používáte s StringIsFixedLength = TrueFilePut , musíte provést totéž s FileGeta musíte se ujistit, že je řetězec inicializován na očekávanou délku.

Náhodný režim

Pro soubory otevřené v Random režimu platí následující pravidla:

  • Pokud je délka zapisovaných dat menší než délka zadaná v RecordLength klauzuli FileOpen funkce, FilePut zapíše následné záznamy o hranicích délky záznamů. Mezera mezi koncem jednoho záznamu a začátkem dalšího záznamu je vyplněna existujícím obsahem vyrovnávací paměti souboru. Vzhledem k tomu, že množství odsazení dat nelze určit s jistotou, je obecně vhodné, aby délka záznamu odpovídala délce zapisovaných dat. Pokud je délka zapisovaných dat větší než délka zadaná v RecordLength klauzuli FileOpen funkce, vyvolá se výjimka.

  • Pokud je zapisovaná proměnná řetězec, FilePut zapíše dvoubajtů popisovač obsahující délku řetězce a zapíše data, která do proměnné přejdou. Délka záznamu RecordLength určená klauzulí ve FileOpen funkci proto musí být alespoň dva bajty větší než skutečná délka řetězce.

  • Pokud je zapisovaná proměnná objekt obsahující číselný typ, FilePut zapíše dva bajty identifikující VarType objekt a pak zapíše proměnnou. Například při zápisu objektu, který obsahuje celé číslo, FilePut zapíše šest bajtů: dva bajty, které identifikují objekt jako VarType(3) (Integer) a čtyři bajty obsahující data. Délka záznamu RecordLength zadaná parametrem ve FileOpen funkci musí být alespoň dva bajty větší než skutečný počet bajtů potřebných k uložení proměnné.

  • Pokud je zapisovaná proměnná objekt, který obsahuje řetězec, FilePut zapíše dvoubajtů popisovač identifikující VarType(8) objekt, dvoubajtů popisovač označující délku řetězce a zapíše řetězcová data. Délka záznamu RecordLength zadaná parametrem ve FileOpen funkci musí být alespoň čtyři bajty větší než skutečná délka řetězce. Pokud chcete vložit řetězec bez popisovače, měli TrueStringIsFixedLength byste předat parametru a řetězec, do kterého jste načetli, by měl mít správnou délku.

  • Pokud je zapisovaná proměnná matice, máte na výběr, jestli chcete napsat popisovač pro velikost a rozměry pole. Visual Basic 6.0 a starších verzích zapisuje popisovač souboru pro dynamické pole, ale ne pro pole s pevnou velikostí. Visual Basic 2005 se ve výchozím nastavení nezapisuje popisovač. Chcete-li napsat popisovač, nastavte ArrayIsDynamic parametr na True. Při psaní pole musíte odpovídat způsobu, jakým bude pole přečteno; pokud se bude číst s popisovačem, musíte napsat popisovač. Popisovač určuje pořadí pole, velikost a dolní mez pro každé pořadí. Jeho délka se rovná 2 plus 8násobek počtu dimenzí: (2 + 8 * NumberOfDimensions). Délka záznamu RecordLength zadaná klauzulí ve FileOpen funkci musí být větší nebo rovna součtu všech bajtů požadovaných k zápisu dat pole a popisovače pole. Například následující deklarace pole vyžaduje při zápisu pole na disk 218 bajtů.

    Dim MyArray(4, 9) As Integer
    
  • Pokud je zapisovaná proměnná jiným typem proměnné (nikoli řetězcem s délkou proměnné nebo objektem), FilePut zapíše pouze data proměnných. Délka záznamu RecordLength zadaná klauzulí ve FileOpen funkci musí být větší nebo rovna délce zapisovaných dat.

  • FilePut zapisuje prvky struktur, jako by byly zapsány jednotlivě, s výjimkou odsazení mezi prvky. Atribut VBFixedString lze použít u řetězcových polí ve strukturách, které označují velikost řetězce při zápisu na disk.

    Note

    Pole řetězců, která mají více bajtů, než určuje atribut, se při zápisu VBFixedString na disk zkrátí.

Binární režim

U souborů otevřených v Binary režimu platí většina Random pravidel režimu s některými výjimkami. Následující pravidla pro soubory otevřené v Binary režimu se liší od pravidel režimu Random :

  • Klauzule RecordLength ve FileOpen funkci nemá žádný vliv. FilePut zapíše všechny proměnné na disk souvisle, tj. bez odsazení mezi záznamy.

  • Pro libovolnou jinou matici než pole ve struktuře FilePut zapisuje pouze data. Žádný popisovač není napsán.

  • FilePut zapíše řetězce s proměnnou délkou, které nejsou prvky struktur bez popisovače dvoubajtů. Počet bajtů zapsaných se rovná počtu znaků v řetězci. Například následující příkazy zapisují 11 bajtů do souboru číslo 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Zápis do souboru pomocí FilePut funkce vyžaduje Write přístup z výčtu FileIOPermissionAccess .

Viz také

Platí pro

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

Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb

Zapíše data z proměnné do souboru disku. Tato My funkce poskytuje lepší produktivitu a výkon při vstupně-výstupních operacích souborů než FilePut. Další informace najdete na webu FileSystem.

[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The origin object type could not be statically analyzed and may be trimmed")]
public static void FilePut(int FileNumber, Array Value, long RecordNumber = -1, bool ArrayIsDynamic = false, bool StringIsFixedLength = false);
public static void FilePut(int FileNumber, Array Value, long RecordNumber = -1, bool ArrayIsDynamic = false, bool StringIsFixedLength = false);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The origin object type could not be statically analyzed and may be trimmed")>]
static member FilePut : int * Array * int64 * bool * bool -> unit
static member FilePut : int * Array * int64 * bool * bool -> unit
Public Sub FilePut (FileNumber As Integer, Value As Array, Optional RecordNumber As Long = -1, Optional ArrayIsDynamic As Boolean = false, Optional StringIsFixedLength As Boolean = false)

Parametry

FileNumber
Int32

Required. Libovolné platné číslo souboru.

Value
Array

Required. Platný název proměnné, který obsahuje data zapsaná na disk.

RecordNumber
Int64

Optional. Číslo záznamu (Random soubory v režimu) nebo bajtové číslo (Binary soubory režimu), na kterých začíná zápis.

ArrayIsDynamic
Boolean

Optional. Platí pouze při zápisu pole. Určuje, zda má být pole považováno za dynamické a zda se má zapsat popisovač pole pro řetězec, který popisuje délku.

StringIsFixedLength
Boolean

Optional. Platí pouze při zápisu řetězce. Určuje, jestli se má napsat dvoubajtů popisovač délky řetězce pro řetězec do souboru. Výchozí hodnota je False.

Atributy

Výjimky

RecordNumber < 1 a nerovná se -1.

Režim souboru je neplatný.

Příklady

Tento příklad používá funkci k zápisu FilePut dat do souboru. Do souboru je zapsáno pět záznamů struktury Person .

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Poznámky

FilePut je platný pouze v Random režimu a Binary v režimu.

Data zapsaná FilePut pomocí souboru se obvykle čtou ze souboru pomocí FileGet.

První záznam nebo bajt v souboru je na pozici 1, druhý záznam nebo bajt je na pozici 2 atd. Pokud vynecháte RecordNumber, další záznam nebo bajt za poslední FileGetFilePut nebo funkcí nebo odkazuje na poslední Seek funkci, je zapsán.

Argument StringIsFixedLength určuje, zda funkce interpretuje řetězce jako proměnnou nebo pevnou délku. FilePut nezapisuje popisovač délky, pokud je Trueargument . Pokud používáte s StringIsFixedLength = TrueFilePut , musíte provést totéž s FileGeta musíte se ujistit, že je řetězec inicializován na očekávanou délku.

Náhodný režim

Pro soubory otevřené v Random režimu platí následující pravidla:

  • Pokud je délka zapisovaných dat menší než délka zadaná v RecordLength klauzuli FileOpen funkce, FilePut zapíše následné záznamy o hranicích délky záznamů. Mezera mezi koncem jednoho záznamu a začátkem dalšího záznamu je vyplněna existujícím obsahem vyrovnávací paměti souboru. Vzhledem k tomu, že množství odsazení dat nelze určit s jistotou, je obecně vhodné, aby délka záznamu odpovídala délce zapisovaných dat. Pokud je délka zapisovaných dat větší než délka zadaná v RecordLength klauzuli FileOpen funkce, vyvolá se výjimka.

  • Pokud je zapisovaná proměnná řetězec, FilePut zapíše dvoubajtů popisovač obsahující délku řetězce a zapíše data, která do proměnné přejdou. Délka záznamu RecordLength určená klauzulí ve FileOpen funkci proto musí být alespoň dva bajty větší než skutečná délka řetězce.

  • Pokud je zapisovaná proměnná objekt obsahující číselný typ, FilePut zapíše dva bajty identifikující VarType objekt a pak zapíše proměnnou. Například při zápisu objektu, který obsahuje celé číslo, FilePut zapíše šest bajtů: dva bajty, které identifikují objekt jako VarType(3) (Integer) a čtyři bajty obsahující data. Délka záznamu RecordLength zadaná parametrem ve FileOpen funkci musí být alespoň dva bajty větší než skutečný počet bajtů potřebných k uložení proměnné.

  • Pokud je zapisovaná proměnná objekt, který obsahuje řetězec, FilePut zapíše dvoubajtů popisovač identifikující VarType(8) objekt, dvoubajtů popisovač označující délku řetězce a zapíše řetězcová data. Délka záznamu RecordLength zadaná parametrem ve FileOpen funkci musí být alespoň čtyři bajty větší než skutečná délka řetězce. Pokud chcete vložit řetězec bez popisovače, měli TrueStringIsFixedLength byste předat parametru a řetězec, do kterého jste načetli, by měl mít správnou délku.

  • Pokud je zapisovaná proměnná matice, máte na výběr, jestli chcete napsat popisovač pro velikost a rozměry pole. Visual Basic 6.0 a starších verzích zapisuje popisovač souboru pro dynamické pole, ale ne pro pole s pevnou velikostí. Visual Basic 2005 se ve výchozím nastavení nezapisuje popisovač. Chcete-li napsat popisovač, nastavte ArrayIsDynamic parametr na True. Při psaní pole musíte odpovídat způsobu, jakým bude pole přečteno; pokud se bude číst s popisovačem, musíte napsat popisovač. Popisovač určuje pořadí pole, velikost a dolní mez pro každé pořadí. Jeho délka se rovná 2 plus 8násobek počtu dimenzí: (2 + 8 * NumberOfDimensions). Délka záznamu RecordLength zadaná klauzulí ve FileOpen funkci musí být větší nebo rovna součtu všech bajtů požadovaných k zápisu dat pole a popisovače pole. Například následující deklarace pole vyžaduje při zápisu pole na disk 218 bajtů.

    Dim MyArray(4, 9) As Integer
    
  • Pokud je zapisovaná proměnná jiným typem proměnné (nikoli řetězcem s délkou proměnné nebo objektem), FilePut zapíše pouze data proměnných. Délka záznamu RecordLength zadaná klauzulí ve FileOpen funkci musí být větší nebo rovna délce zapisovaných dat.

  • FilePut zapisuje prvky struktur, jako by byly zapsány jednotlivě, s výjimkou odsazení mezi prvky. Atribut VBFixedString lze použít u řetězcových polí ve strukturách, které označují velikost řetězce při zápisu na disk.

    Note

    Pole řetězců, která mají více bajtů, než určuje atribut, se při zápisu VBFixedString na disk zkrátí.

Binární režim

U souborů otevřených v Binary režimu platí většina Random pravidel režimu s některými výjimkami. Následující pravidla pro soubory otevřené v Binary režimu se liší od pravidel režimu Random :

  • Klauzule RecordLength ve FileOpen funkci nemá žádný vliv. FilePut zapíše všechny proměnné na disk souvisle, tj. bez odsazení mezi záznamy.

  • Pro libovolnou jinou matici než pole ve struktuře FilePut zapisuje pouze data. Žádný popisovač není napsán.

  • FilePut zapíše řetězce s proměnnou délkou, které nejsou prvky struktur bez popisovače dvoubajtů. Počet bajtů zapsaných se rovná počtu znaků v řetězci. Například následující příkazy zapisují 11 bajtů do souboru číslo 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Zápis do souboru pomocí FilePut funkce vyžaduje Write přístup z výčtu FileIOPermissionAccess .

Viz také

Platí pro

FilePut(Int32, Double, Int64)

Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb

Zapíše data z proměnné do souboru disku. Tato My funkce poskytuje lepší produktivitu a výkon při vstupně-výstupních operacích souborů než FilePut. Další informace najdete na webu FileSystem.

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

Parametry

FileNumber
Int32

Required. Libovolné platné číslo souboru.

Value
Double

Required. Platný název proměnné, který obsahuje data zapsaná na disk.

RecordNumber
Int64

Optional. Číslo záznamu (Random soubory v režimu) nebo bajtové číslo (Binary soubory režimu), na kterých začíná zápis.

Výjimky

RecordNumber < 1 a nerovná se -1.

Režim souboru je neplatný.

Příklady

Tento příklad používá funkci k zápisu FilePut dat do souboru. Do souboru je zapsáno pět záznamů struktury Person .

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Poznámky

FilePut je platný pouze v Random režimu a Binary v režimu.

Data zapsaná FilePut pomocí souboru se obvykle čtou ze souboru pomocí FileGet.

První záznam nebo bajt v souboru je na pozici 1, druhý záznam nebo bajt je na pozici 2 atd. Pokud vynecháte RecordNumber, další záznam nebo bajt za poslední FileGetFilePut nebo funkcí nebo odkazuje na poslední Seek funkci, je zapsán.

Argument StringIsFixedLength určuje, zda funkce interpretuje řetězce jako proměnnou nebo pevnou délku. FilePut nezapisuje popisovač délky, pokud je Trueargument . Pokud používáte s StringIsFixedLength = TrueFilePut , musíte provést totéž s FileGeta musíte se ujistit, že je řetězec inicializován na očekávanou délku.

Náhodný režim

Pro soubory otevřené v Random režimu platí následující pravidla:

  • Pokud je délka zapisovaných dat menší než délka zadaná v RecordLength klauzuli FileOpen funkce, FilePut zapíše následné záznamy o hranicích délky záznamů. Mezera mezi koncem jednoho záznamu a začátkem dalšího záznamu je vyplněna existujícím obsahem vyrovnávací paměti souboru. Vzhledem k tomu, že množství odsazení dat nelze určit s jistotou, je obecně vhodné, aby délka záznamu odpovídala délce zapisovaných dat. Pokud je délka zapisovaných dat větší než délka zadaná v RecordLength klauzuli FileOpen funkce, vyvolá se výjimka.

  • Pokud je zapisovaná proměnná řetězec, FilePut zapíše dvoubajtů popisovač obsahující délku řetězce a zapíše data, která do proměnné přejdou. Délka záznamu RecordLength určená klauzulí ve FileOpen funkci proto musí být alespoň dva bajty větší než skutečná délka řetězce.

  • Pokud je zapisovaná proměnná objekt obsahující číselný typ, FilePut zapíše dva bajty identifikující VarType objekt a pak zapíše proměnnou. Například při zápisu objektu, který obsahuje celé číslo, FilePut zapíše šest bajtů: dva bajty, které identifikují objekt jako VarType(3) (Integer) a čtyři bajty obsahující data. Délka záznamu RecordLength zadaná parametrem ve FileOpen funkci musí být alespoň dva bajty větší než skutečný počet bajtů potřebných k uložení proměnné.

  • Pokud je zapisovaná proměnná objekt, který obsahuje řetězec, FilePut zapíše dvoubajtů popisovač identifikující VarType(8) objekt, dvoubajtů popisovač označující délku řetězce a zapíše řetězcová data. Délka záznamu RecordLength zadaná parametrem ve FileOpen funkci musí být alespoň čtyři bajty větší než skutečná délka řetězce. Pokud chcete vložit řetězec bez popisovače, měli TrueStringIsFixedLength byste předat parametru a řetězec, do kterého jste načetli, by měl mít správnou délku.

  • Pokud je zapisovaná proměnná matice, máte na výběr, jestli chcete napsat popisovač pro velikost a rozměry pole. Visual Basic 6.0 a starších verzích zapisuje popisovač souboru pro dynamické pole, ale ne pro pole s pevnou velikostí. Visual Basic 2005 se ve výchozím nastavení nezapisuje popisovač. Chcete-li napsat popisovač, nastavte ArrayIsDynamic parametr na True. Při psaní pole musíte odpovídat způsobu, jakým bude pole přečteno; pokud se bude číst s popisovačem, musíte napsat popisovač. Popisovač určuje pořadí pole, velikost a dolní mez pro každé pořadí. Jeho délka se rovná 2 plus 8násobek počtu dimenzí: (2 + 8 * NumberOfDimensions). Délka záznamu RecordLength zadaná klauzulí ve FileOpen funkci musí být větší nebo rovna součtu všech bajtů požadovaných k zápisu dat pole a popisovače pole. Například následující deklarace pole vyžaduje při zápisu pole na disk 218 bajtů.

    Dim MyArray(4, 9) As Integer
    
  • Pokud je zapisovaná proměnná jiným typem proměnné (nikoli řetězcem s délkou proměnné nebo objektem), FilePut zapíše pouze data proměnných. Délka záznamu RecordLength zadaná klauzulí ve FileOpen funkci musí být větší nebo rovna délce zapisovaných dat.

  • FilePut zapisuje prvky struktur, jako by byly zapsány jednotlivě, s výjimkou odsazení mezi prvky. Atribut VBFixedString lze použít u řetězcových polí ve strukturách, které označují velikost řetězce při zápisu na disk.

    Note

    Pole řetězců, která mají více bajtů, než určuje atribut, se při zápisu VBFixedString na disk zkrátí.

Binární režim

U souborů otevřených v Binary režimu platí většina Random pravidel režimu s některými výjimkami. Následující pravidla pro soubory otevřené v Binary režimu se liší od pravidel režimu Random :

  • Klauzule RecordLength ve FileOpen funkci nemá žádný vliv. FilePut zapíše všechny proměnné na disk souvisle, tj. bez odsazení mezi záznamy.

  • Pro libovolnou jinou matici než pole ve struktuře FilePut zapisuje pouze data. Žádný popisovač není napsán.

  • FilePut zapíše řetězce s proměnnou délkou, které nejsou prvky struktur bez popisovače dvoubajtů. Počet bajtů zapsaných se rovná počtu znaků v řetězci. Například následující příkazy zapisují 11 bajtů do souboru číslo 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Zápis do souboru pomocí FilePut funkce vyžaduje Write přístup z výčtu FileIOPermissionAccess .

Viz také

Platí pro

FilePut(Int32, Decimal, Int64)

Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb

Zapíše data z proměnné do souboru disku. Tato My funkce poskytuje lepší produktivitu a výkon při vstupně-výstupních operacích souborů než FilePut. Další informace najdete na webu FileSystem.

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

Parametry

FileNumber
Int32

Required. Libovolné platné číslo souboru.

Value
Decimal

Required. Platný název proměnné, který obsahuje data zapsaná na disk.

RecordNumber
Int64

Optional. Číslo záznamu (Random soubory v režimu) nebo bajtové číslo (Binary soubory režimu), na kterých začíná zápis.

Výjimky

RecordNumber < 1 a nerovná se -1.

Režim souboru je neplatný.

Příklady

Tento příklad používá funkci k zápisu FilePut dat do souboru. Do souboru je zapsáno pět záznamů struktury Person .

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Poznámky

FilePut je platný pouze v Random režimu a Binary v režimu.

Data zapsaná FilePut pomocí souboru se obvykle čtou ze souboru pomocí FileGet.

První záznam nebo bajt v souboru je na pozici 1, druhý záznam nebo bajt je na pozici 2 atd. Pokud vynecháte RecordNumber, další záznam nebo bajt za poslední FileGetFilePut nebo funkcí nebo odkazuje na poslední Seek funkci, je zapsán.

Argument StringIsFixedLength určuje, zda funkce interpretuje řetězce jako proměnnou nebo pevnou délku. FilePut nezapisuje popisovač délky, pokud je Trueargument . Pokud používáte s StringIsFixedLength = TrueFilePut , musíte provést totéž s FileGeta musíte se ujistit, že je řetězec inicializován na očekávanou délku.

Náhodný režim

Pro soubory otevřené v Random režimu platí následující pravidla:

  • Pokud je délka zapisovaných dat menší než délka zadaná v RecordLength klauzuli FileOpen funkce, FilePut zapíše následné záznamy o hranicích délky záznamů. Mezera mezi koncem jednoho záznamu a začátkem dalšího záznamu je vyplněna existujícím obsahem vyrovnávací paměti souboru. Vzhledem k tomu, že množství odsazení dat nelze určit s jistotou, je obecně vhodné, aby délka záznamu odpovídala délce zapisovaných dat. Pokud je délka zapisovaných dat větší než délka zadaná v RecordLength klauzuli FileOpen funkce, vyvolá se výjimka.

  • Pokud je zapisovaná proměnná řetězec, FilePut zapíše dvoubajtů popisovač obsahující délku řetězce a zapíše data, která do proměnné přejdou. Délka záznamu RecordLength určená klauzulí ve FileOpen funkci proto musí být alespoň dva bajty větší než skutečná délka řetězce.

  • Pokud je zapisovaná proměnná objekt obsahující číselný typ, FilePut zapíše dva bajty identifikující VarType objekt a pak zapíše proměnnou. Například při zápisu objektu, který obsahuje celé číslo, FilePut zapíše šest bajtů: dva bajty, které identifikují objekt jako VarType(3) (Integer) a čtyři bajty obsahující data. Délka záznamu RecordLength zadaná parametrem ve FileOpen funkci musí být alespoň dva bajty větší než skutečný počet bajtů potřebných k uložení proměnné.

  • Pokud je zapisovaná proměnná objekt, který obsahuje řetězec, FilePut zapíše dvoubajtů popisovač identifikující VarType(8) objekt, dvoubajtů popisovač označující délku řetězce a zapíše řetězcová data. Délka záznamu RecordLength zadaná parametrem ve FileOpen funkci musí být alespoň čtyři bajty větší než skutečná délka řetězce. Pokud chcete vložit řetězec bez popisovače, měli TrueStringIsFixedLength byste předat parametru a řetězec, do kterého jste načetli, by měl mít správnou délku.

  • Pokud je zapisovaná proměnná matice, máte na výběr, jestli chcete napsat popisovač pro velikost a rozměry pole. Visual Basic 6.0 a starších verzích zapisuje popisovač souboru pro dynamické pole, ale ne pro pole s pevnou velikostí. Visual Basic 2005 se ve výchozím nastavení nezapisuje popisovač. Chcete-li napsat popisovač, nastavte ArrayIsDynamic parametr na True. Při psaní pole musíte odpovídat způsobu, jakým bude pole přečteno; pokud se bude číst s popisovačem, musíte napsat popisovač. Popisovač určuje pořadí pole, velikost a dolní mez pro každé pořadí. Jeho délka se rovná 2 plus 8násobek počtu dimenzí: (2 + 8 * NumberOfDimensions). Délka záznamu RecordLength zadaná klauzulí ve FileOpen funkci musí být větší nebo rovna součtu všech bajtů požadovaných k zápisu dat pole a popisovače pole. Například následující deklarace pole vyžaduje při zápisu pole na disk 218 bajtů.

    Dim MyArray(4, 9) As Integer
    
  • Pokud je zapisovaná proměnná jiným typem proměnné (nikoli řetězcem s délkou proměnné nebo objektem), FilePut zapíše pouze data proměnných. Délka záznamu RecordLength zadaná klauzulí ve FileOpen funkci musí být větší nebo rovna délce zapisovaných dat.

  • FilePut zapisuje prvky struktur, jako by byly zapsány jednotlivě, s výjimkou odsazení mezi prvky. Atribut VBFixedString lze použít u řetězcových polí ve strukturách, které označují velikost řetězce při zápisu na disk.

    Note

    Pole řetězců, která mají více bajtů, než určuje atribut, se při zápisu VBFixedString na disk zkrátí.

Binární režim

U souborů otevřených v Binary režimu platí většina Random pravidel režimu s některými výjimkami. Následující pravidla pro soubory otevřené v Binary režimu se liší od pravidel režimu Random :

  • Klauzule RecordLength ve FileOpen funkci nemá žádný vliv. FilePut zapíše všechny proměnné na disk souvisle, tj. bez odsazení mezi záznamy.

  • Pro libovolnou jinou matici než pole ve struktuře FilePut zapisuje pouze data. Žádný popisovač není napsán.

  • FilePut zapíše řetězce s proměnnou délkou, které nejsou prvky struktur bez popisovače dvoubajtů. Počet bajtů zapsaných se rovná počtu znaků v řetězci. Například následující příkazy zapisují 11 bajtů do souboru číslo 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Zápis do souboru pomocí FilePut funkce vyžaduje Write přístup z výčtu FileIOPermissionAccess .

Viz také

Platí pro

FilePut(Int32, DateTime, Int64)

Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb

Zapíše data z proměnné do souboru disku. Tato My funkce poskytuje lepší produktivitu a výkon při vstupně-výstupních operacích souborů než FilePut. Další informace najdete na webu FileSystem.

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

Parametry

FileNumber
Int32

Required. Libovolné platné číslo souboru.

Value
DateTime

Required. Platný název proměnné, který obsahuje data zapsaná na disk.

RecordNumber
Int64

Optional. Číslo záznamu (Random soubory v režimu) nebo bajtové číslo (Binary soubory režimu), na kterých začíná zápis.

Výjimky

RecordNumber < 1 a nerovná se -1.

Režim souboru je neplatný.

Příklady

Tento příklad používá funkci k zápisu FilePut dat do souboru. Do souboru je zapsáno pět záznamů struktury Person .

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Poznámky

FilePut je platný pouze v Random režimu a Binary v režimu.

Data zapsaná FilePut pomocí souboru se obvykle čtou ze souboru pomocí FileGet.

První záznam nebo bajt v souboru je na pozici 1, druhý záznam nebo bajt je na pozici 2 atd. Pokud vynecháte RecordNumber, další záznam nebo bajt za poslední FileGetFilePut nebo funkcí nebo odkazuje na poslední Seek funkci, je zapsán.

Argument StringIsFixedLength určuje, zda funkce interpretuje řetězce jako proměnnou nebo pevnou délku. FilePut nezapisuje popisovač délky, pokud je Trueargument . Pokud používáte s StringIsFixedLength = TrueFilePut , musíte provést totéž s FileGeta musíte se ujistit, že je řetězec inicializován na očekávanou délku.

Náhodný režim

Pro soubory otevřené v Random režimu platí následující pravidla:

  • Pokud je délka zapisovaných dat menší než délka zadaná v RecordLength klauzuli FileOpen funkce, FilePut zapíše následné záznamy o hranicích délky záznamů. Mezera mezi koncem jednoho záznamu a začátkem dalšího záznamu je vyplněna existujícím obsahem vyrovnávací paměti souboru. Vzhledem k tomu, že množství odsazení dat nelze určit s jistotou, je obecně vhodné, aby délka záznamu odpovídala délce zapisovaných dat. Pokud je délka zapisovaných dat větší než délka zadaná v RecordLength klauzuli FileOpen funkce, vyvolá se výjimka.

  • Pokud je zapisovaná proměnná řetězec, FilePut zapíše dvoubajtů popisovač obsahující délku řetězce a zapíše data, která do proměnné přejdou. Délka záznamu RecordLength určená klauzulí ve FileOpen funkci proto musí být alespoň dva bajty větší než skutečná délka řetězce.

  • Pokud je zapisovaná proměnná objekt obsahující číselný typ, FilePut zapíše dva bajty identifikující VarType objekt a pak zapíše proměnnou. Například při zápisu objektu, který obsahuje celé číslo, FilePut zapíše šest bajtů: dva bajty, které identifikují objekt jako VarType(3) (Integer) a čtyři bajty obsahující data. Délka záznamu RecordLength zadaná parametrem ve FileOpen funkci musí být alespoň dva bajty větší než skutečný počet bajtů potřebných k uložení proměnné.

  • Pokud je zapisovaná proměnná objekt, který obsahuje řetězec, FilePut zapíše dvoubajtů popisovač identifikující VarType(8) objekt, dvoubajtů popisovač označující délku řetězce a zapíše řetězcová data. Délka záznamu RecordLength zadaná parametrem ve FileOpen funkci musí být alespoň čtyři bajty větší než skutečná délka řetězce. Pokud chcete vložit řetězec bez popisovače, měli TrueStringIsFixedLength byste předat parametru a řetězec, do kterého jste načetli, by měl mít správnou délku.

  • Pokud je zapisovaná proměnná matice, máte na výběr, jestli chcete napsat popisovač pro velikost a rozměry pole. Visual Basic 6.0 a starších verzích zapisuje popisovač souboru pro dynamické pole, ale ne pro pole s pevnou velikostí. Visual Basic 2005 se ve výchozím nastavení nezapisuje popisovač. Chcete-li napsat popisovač, nastavte ArrayIsDynamic parametr na True. Při psaní pole musíte odpovídat způsobu, jakým bude pole přečteno; pokud se bude číst s popisovačem, musíte napsat popisovač. Popisovač určuje pořadí pole, velikost a dolní mez pro každé pořadí. Jeho délka se rovná 2 plus 8násobek počtu dimenzí: (2 + 8 * NumberOfDimensions). Délka záznamu RecordLength zadaná klauzulí ve FileOpen funkci musí být větší nebo rovna součtu všech bajtů požadovaných k zápisu dat pole a popisovače pole. Například následující deklarace pole vyžaduje při zápisu pole na disk 218 bajtů.

    Dim MyArray(4, 9) As Integer
    
  • Pokud je zapisovaná proměnná jiným typem proměnné (nikoli řetězcem s délkou proměnné nebo objektem), FilePut zapíše pouze data proměnných. Délka záznamu RecordLength zadaná klauzulí ve FileOpen funkci musí být větší nebo rovna délce zapisovaných dat.

  • FilePut zapisuje prvky struktur, jako by byly zapsány jednotlivě, s výjimkou odsazení mezi prvky. Atribut VBFixedString lze použít u řetězcových polí ve strukturách, které označují velikost řetězce při zápisu na disk.

    Note

    Pole řetězců, která mají více bajtů, než určuje atribut, se při zápisu VBFixedString na disk zkrátí.

Binární režim

U souborů otevřených v Binary režimu platí většina Random pravidel režimu s některými výjimkami. Následující pravidla pro soubory otevřené v Binary režimu se liší od pravidel režimu Random :

  • Klauzule RecordLength ve FileOpen funkci nemá žádný vliv. FilePut zapíše všechny proměnné na disk souvisle, tj. bez odsazení mezi záznamy.

  • Pro libovolnou jinou matici než pole ve struktuře FilePut zapisuje pouze data. Žádný popisovač není napsán.

  • FilePut zapíše řetězce s proměnnou délkou, které nejsou prvky struktur bez popisovače dvoubajtů. Počet bajtů zapsaných se rovná počtu znaků v řetězci. Například následující příkazy zapisují 11 bajtů do souboru číslo 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Zápis do souboru pomocí FilePut funkce vyžaduje Write přístup z výčtu FileIOPermissionAccess .

Viz také

Platí pro

FilePut(Int32, Char, Int64)

Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb

Zapíše data z proměnné do souboru disku. Tato My funkce poskytuje lepší produktivitu a výkon při vstupně-výstupních operacích souborů než FilePut. Další informace najdete na webu FileSystem.

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

Parametry

FileNumber
Int32

Required. Libovolné platné číslo souboru.

Value
Char

Required. Platný název proměnné, který obsahuje data zapsaná na disk.

RecordNumber
Int64

Optional. Číslo záznamu (Random soubory v režimu) nebo bajtové číslo (Binary soubory režimu), na kterých začíná zápis.

Výjimky

RecordNumber < 1 a nerovná se -1.

Režim souboru je neplatný.

Příklady

Tento příklad používá funkci k zápisu FilePut dat do souboru. Do souboru je zapsáno pět záznamů struktury Person .

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Poznámky

FilePut je platný pouze v Random režimu a Binary v režimu.

Data zapsaná FilePut pomocí souboru se obvykle čtou ze souboru pomocí FileGet.

První záznam nebo bajt v souboru je na pozici 1, druhý záznam nebo bajt je na pozici 2 atd. Pokud vynecháte RecordNumber, další záznam nebo bajt za poslední FileGetFilePut nebo funkcí nebo odkazuje na poslední Seek funkci, je zapsán.

Argument StringIsFixedLength určuje, zda funkce interpretuje řetězce jako proměnnou nebo pevnou délku. FilePut nezapisuje popisovač délky, pokud je Trueargument . Pokud používáte s StringIsFixedLength = TrueFilePut , musíte provést totéž s FileGeta musíte se ujistit, že je řetězec inicializován na očekávanou délku.

Náhodný režim

Pro soubory otevřené v Random režimu platí následující pravidla:

  • Pokud je délka zapisovaných dat menší než délka zadaná v RecordLength klauzuli FileOpen funkce, FilePut zapíše následné záznamy o hranicích délky záznamů. Mezera mezi koncem jednoho záznamu a začátkem dalšího záznamu je vyplněna existujícím obsahem vyrovnávací paměti souboru. Vzhledem k tomu, že množství odsazení dat nelze určit s jistotou, je obecně vhodné, aby délka záznamu odpovídala délce zapisovaných dat. Pokud je délka zapisovaných dat větší než délka zadaná v RecordLength klauzuli FileOpen funkce, vyvolá se výjimka.

  • Pokud je zapisovaná proměnná řetězec, FilePut zapíše dvoubajtů popisovač obsahující délku řetězce a zapíše data, která do proměnné přejdou. Délka záznamu RecordLength určená klauzulí ve FileOpen funkci proto musí být alespoň dva bajty větší než skutečná délka řetězce.

  • Pokud je zapisovaná proměnná objekt obsahující číselný typ, FilePut zapíše dva bajty identifikující VarType objekt a pak zapíše proměnnou. Například při zápisu objektu, který obsahuje celé číslo, FilePut zapíše šest bajtů: dva bajty, které identifikují objekt jako VarType(3) (Integer) a čtyři bajty obsahující data. Délka záznamu RecordLength zadaná parametrem ve FileOpen funkci musí být alespoň dva bajty větší než skutečný počet bajtů potřebných k uložení proměnné.

  • Pokud je zapisovaná proměnná objekt, který obsahuje řetězec, FilePut zapíše dvoubajtů popisovač identifikující VarType(8) objekt, dvoubajtů popisovač označující délku řetězce a zapíše řetězcová data. Délka záznamu RecordLength zadaná parametrem ve FileOpen funkci musí být alespoň čtyři bajty větší než skutečná délka řetězce. Pokud chcete vložit řetězec bez popisovače, měli TrueStringIsFixedLength byste předat parametru a řetězec, do kterého jste načetli, by měl mít správnou délku.

  • Pokud je zapisovaná proměnná matice, máte na výběr, jestli chcete napsat popisovač pro velikost a rozměry pole. Visual Basic 6.0 a starších verzích zapisuje popisovač souboru pro dynamické pole, ale ne pro pole s pevnou velikostí. Visual Basic 2005 se ve výchozím nastavení nezapisuje popisovač. Chcete-li napsat popisovač, nastavte ArrayIsDynamic parametr na True. Při psaní pole musíte odpovídat způsobu, jakým bude pole přečteno; pokud se bude číst s popisovačem, musíte napsat popisovač. Popisovač určuje pořadí pole, velikost a dolní mez pro každé pořadí. Jeho délka se rovná 2 plus 8násobek počtu dimenzí: (2 + 8 * NumberOfDimensions). Délka záznamu RecordLength zadaná klauzulí ve FileOpen funkci musí být větší nebo rovna součtu všech bajtů požadovaných k zápisu dat pole a popisovače pole. Například následující deklarace pole vyžaduje při zápisu pole na disk 218 bajtů.

    Dim MyArray(4, 9) As Integer
    
  • Pokud je zapisovaná proměnná jiným typem proměnné (nikoli řetězcem s délkou proměnné nebo objektem), FilePut zapíše pouze data proměnných. Délka záznamu RecordLength zadaná klauzulí ve FileOpen funkci musí být větší nebo rovna délce zapisovaných dat.

  • FilePut zapisuje prvky struktur, jako by byly zapsány jednotlivě, s výjimkou odsazení mezi prvky. Atribut VBFixedString lze použít u řetězcových polí ve strukturách, které označují velikost řetězce při zápisu na disk.

    Note

    Pole řetězců, která mají více bajtů, než určuje atribut, se při zápisu VBFixedString na disk zkrátí.

Binární režim

U souborů otevřených v Binary režimu platí většina Random pravidel režimu s některými výjimkami. Následující pravidla pro soubory otevřené v Binary režimu se liší od pravidel režimu Random :

  • Klauzule RecordLength ve FileOpen funkci nemá žádný vliv. FilePut zapíše všechny proměnné na disk souvisle, tj. bez odsazení mezi záznamy.

  • Pro libovolnou jinou matici než pole ve struktuře FilePut zapisuje pouze data. Žádný popisovač není napsán.

  • FilePut zapíše řetězce s proměnnou délkou, které nejsou prvky struktur bez popisovače dvoubajtů. Počet bajtů zapsaných se rovná počtu znaků v řetězci. Například následující příkazy zapisují 11 bajtů do souboru číslo 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Zápis do souboru pomocí FilePut funkce vyžaduje Write přístup z výčtu FileIOPermissionAccess .

Viz také

Platí pro

FilePut(Int32, Byte, Int64)

Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb

Zapíše data z proměnné do souboru disku. Tato My funkce poskytuje lepší produktivitu a výkon při vstupně-výstupních operacích souborů než FilePut. Další informace najdete na webu FileSystem.

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

Parametry

FileNumber
Int32

Required. Libovolné platné číslo souboru.

Value
Byte

Required. Platný název proměnné, který obsahuje data zapsaná na disk.

RecordNumber
Int64

Optional. Číslo záznamu (Random soubory v režimu) nebo bajtové číslo (Binary soubory režimu), na kterých začíná zápis.

Výjimky

RecordNumber < 1 a nerovná se -1.

Režim souboru je neplatný.

Příklady

Tento příklad používá funkci k zápisu FilePut dat do souboru. Do souboru je zapsáno pět záznamů struktury Person .

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Poznámky

FilePut je platný pouze v Random režimu a Binary v režimu.

Data zapsaná FilePut pomocí souboru se obvykle čtou ze souboru pomocí FileGet.

První záznam nebo bajt v souboru je na pozici 1, druhý záznam nebo bajt je na pozici 2 atd. Pokud vynecháte RecordNumber, další záznam nebo bajt za poslední FileGetFilePut nebo funkcí nebo odkazuje na poslední Seek funkci, je zapsán.

Argument StringIsFixedLength určuje, zda funkce interpretuje řetězce jako proměnnou nebo pevnou délku. FilePut nezapisuje popisovač délky, pokud je Trueargument . Pokud používáte s StringIsFixedLength = TrueFilePut , musíte provést totéž s FileGeta musíte se ujistit, že je řetězec inicializován na očekávanou délku.

Náhodný režim

Pro soubory otevřené v Random režimu platí následující pravidla:

  • Pokud je délka zapisovaných dat menší než délka zadaná v RecordLength klauzuli FileOpen funkce, FilePut zapíše následné záznamy o hranicích délky záznamů. Mezera mezi koncem jednoho záznamu a začátkem dalšího záznamu je vyplněna existujícím obsahem vyrovnávací paměti souboru. Vzhledem k tomu, že množství odsazení dat nelze určit s jistotou, je obecně vhodné, aby délka záznamu odpovídala délce zapisovaných dat. Pokud je délka zapisovaných dat větší než délka zadaná v RecordLength klauzuli FileOpen funkce, vyvolá se výjimka.

  • Pokud je zapisovaná proměnná řetězec, FilePut zapíše dvoubajtů popisovač obsahující délku řetězce a zapíše data, která do proměnné přejdou. Délka záznamu RecordLength určená klauzulí ve FileOpen funkci proto musí být alespoň dva bajty větší než skutečná délka řetězce.

  • Pokud je zapisovaná proměnná objekt obsahující číselný typ, FilePut zapíše dva bajty identifikující VarType objekt a pak zapíše proměnnou. Například při zápisu objektu, který obsahuje celé číslo, FilePut zapíše šest bajtů: dva bajty, které identifikují objekt jako VarType(3) (Integer) a čtyři bajty obsahující data. Délka záznamu RecordLength zadaná parametrem ve FileOpen funkci musí být alespoň dva bajty větší než skutečný počet bajtů potřebných k uložení proměnné.

  • Pokud je zapisovaná proměnná objekt, který obsahuje řetězec, FilePut zapíše dvoubajtů popisovač identifikující VarType(8) objekt, dvoubajtů popisovač označující délku řetězce a zapíše řetězcová data. Délka záznamu RecordLength zadaná parametrem ve FileOpen funkci musí být alespoň čtyři bajty větší než skutečná délka řetězce. Pokud chcete vložit řetězec bez popisovače, měli TrueStringIsFixedLength byste předat parametru a řetězec, do kterého jste načetli, by měl mít správnou délku.

  • Pokud je zapisovaná proměnná matice, máte na výběr, jestli chcete napsat popisovač pro velikost a rozměry pole. Visual Basic 6.0 a starších verzích zapisuje popisovač souboru pro dynamické pole, ale ne pro pole s pevnou velikostí. Visual Basic 2005 se ve výchozím nastavení nezapisuje popisovač. Chcete-li napsat popisovač, nastavte ArrayIsDynamic parametr na True. Při psaní pole musíte odpovídat způsobu, jakým bude pole přečteno; pokud se bude číst s popisovačem, musíte napsat popisovač. Popisovač určuje pořadí pole, velikost a dolní mez pro každé pořadí. Jeho délka se rovná 2 plus 8násobek počtu dimenzí: (2 + 8 * NumberOfDimensions). Délka záznamu RecordLength zadaná klauzulí ve FileOpen funkci musí být větší nebo rovna součtu všech bajtů požadovaných k zápisu dat pole a popisovače pole. Například následující deklarace pole vyžaduje při zápisu pole na disk 218 bajtů.

    Dim MyArray(4, 9) As Integer
    
  • Pokud je zapisovaná proměnná jiným typem proměnné (nikoli řetězcem s délkou proměnné nebo objektem), FilePut zapíše pouze data proměnných. Délka záznamu RecordLength zadaná klauzulí ve FileOpen funkci musí být větší nebo rovna délce zapisovaných dat.

  • FilePut zapisuje prvky struktur, jako by byly zapsány jednotlivě, s výjimkou odsazení mezi prvky. Atribut VBFixedString lze použít u řetězcových polí ve strukturách, které označují velikost řetězce při zápisu na disk.

    Note

    Pole řetězců, která mají více bajtů, než určuje atribut, se při zápisu VBFixedString na disk zkrátí.

Binární režim

U souborů otevřených v Binary režimu platí většina Random pravidel režimu s některými výjimkami. Následující pravidla pro soubory otevřené v Binary režimu se liší od pravidel režimu Random :

  • Klauzule RecordLength ve FileOpen funkci nemá žádný vliv. FilePut zapíše všechny proměnné na disk souvisle, tj. bez odsazení mezi záznamy.

  • Pro libovolnou jinou matici než pole ve struktuře FilePut zapisuje pouze data. Žádný popisovač není napsán.

  • FilePut zapíše řetězce s proměnnou délkou, které nejsou prvky struktur bez popisovače dvoubajtů. Počet bajtů zapsaných se rovná počtu znaků v řetězci. Například následující příkazy zapisují 11 bajtů do souboru číslo 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Zápis do souboru pomocí FilePut funkce vyžaduje Write přístup z výčtu FileIOPermissionAccess .

Viz také

Platí pro

FilePut(Int32, Boolean, Int64)

Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb

Zapíše data z proměnné do souboru disku. Tato My funkce poskytuje lepší produktivitu a výkon při vstupně-výstupních operacích souborů než FilePut. Další informace najdete na webu FileSystem.

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

Parametry

FileNumber
Int32

Required. Libovolné platné číslo souboru.

Value
Boolean

Required. Platný název proměnné, který obsahuje data zapsaná na disk.

RecordNumber
Int64

Optional. Číslo záznamu (Random soubory v režimu) nebo bajtové číslo (Binary soubory režimu), na kterých začíná zápis.

Výjimky

RecordNumber < 1 a nerovná se -1.

Režim souboru je neplatný.

Příklady

Tento příklad používá funkci k zápisu FilePut dat do souboru. Do souboru je zapsáno pět záznamů struktury Person .

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Poznámky

FilePut je platný pouze v Random režimu a Binary v režimu.

Data zapsaná FilePut pomocí souboru se obvykle čtou ze souboru pomocí FileGet.

První záznam nebo bajt v souboru je na pozici 1, druhý záznam nebo bajt je na pozici 2 atd. Pokud vynecháte RecordNumber, další záznam nebo bajt za poslední FileGetFilePut nebo funkcí nebo odkazuje na poslední Seek funkci, je zapsán.

Argument StringIsFixedLength určuje, zda funkce interpretuje řetězce jako proměnnou nebo pevnou délku. FilePut nezapisuje popisovač délky, pokud je Trueargument . Pokud používáte s StringIsFixedLength = TrueFilePut , musíte provést totéž s FileGeta musíte se ujistit, že je řetězec inicializován na očekávanou délku.

Náhodný režim

Pro soubory otevřené v Random režimu platí následující pravidla:

  • Pokud je délka zapisovaných dat menší než délka zadaná v RecordLength klauzuli FileOpen funkce, FilePut zapíše následné záznamy o hranicích délky záznamů. Mezera mezi koncem jednoho záznamu a začátkem dalšího záznamu je vyplněna existujícím obsahem vyrovnávací paměti souboru. Vzhledem k tomu, že množství odsazení dat nelze určit s jistotou, je obecně vhodné, aby délka záznamu odpovídala délce zapisovaných dat. Pokud je délka zapisovaných dat větší než délka zadaná v RecordLength klauzuli FileOpen funkce, vyvolá se výjimka.

  • Pokud je zapisovaná proměnná řetězec, FilePut zapíše dvoubajtů popisovač obsahující délku řetězce a zapíše data, která do proměnné přejdou. Délka záznamu RecordLength určená klauzulí ve FileOpen funkci proto musí být alespoň dva bajty větší než skutečná délka řetězce.

  • Pokud je zapisovaná proměnná objekt obsahující číselný typ, FilePut zapíše dva bajty identifikující VarType objekt a pak zapíše proměnnou. Například při zápisu objektu, který obsahuje celé číslo, FilePut zapíše šest bajtů: dva bajty, které identifikují objekt jako VarType(3) (Integer) a čtyři bajty obsahující data. Délka záznamu RecordLength zadaná parametrem ve FileOpen funkci musí být alespoň dva bajty větší než skutečný počet bajtů potřebných k uložení proměnné.

  • Pokud je zapisovaná proměnná objekt, který obsahuje řetězec, FilePut zapíše dvoubajtů popisovač identifikující VarType(8) objekt, dvoubajtů popisovač označující délku řetězce a zapíše řetězcová data. Délka záznamu RecordLength zadaná parametrem ve FileOpen funkci musí být alespoň čtyři bajty větší než skutečná délka řetězce. Pokud chcete vložit řetězec bez popisovače, měli TrueStringIsFixedLength byste předat parametru a řetězec, do kterého jste načetli, by měl mít správnou délku.

  • Pokud je zapisovaná proměnná matice, máte na výběr, jestli chcete napsat popisovač pro velikost a rozměry pole. Visual Basic 6.0 a starších verzích zapisuje popisovač souboru pro dynamické pole, ale ne pro pole s pevnou velikostí. Visual Basic 2005 se ve výchozím nastavení nezapisuje popisovač. Chcete-li napsat popisovač, nastavte ArrayIsDynamic parametr na True. Při psaní pole musíte odpovídat způsobu, jakým bude pole přečteno; pokud se bude číst s popisovačem, musíte napsat popisovač. Popisovač určuje pořadí pole, velikost a dolní mez pro každé pořadí. Jeho délka se rovná 2 plus 8násobek počtu dimenzí: (2 + 8 * NumberOfDimensions). Délka záznamu RecordLength zadaná klauzulí ve FileOpen funkci musí být větší nebo rovna součtu všech bajtů požadovaných k zápisu dat pole a popisovače pole. Například následující deklarace pole vyžaduje při zápisu pole na disk 218 bajtů.

    Dim MyArray(4, 9) As Integer
    
  • Pokud je zapisovaná proměnná jiným typem proměnné (nikoli řetězcem s délkou proměnné nebo objektem), FilePut zapíše pouze data proměnných. Délka záznamu RecordLength zadaná klauzulí ve FileOpen funkci musí být větší nebo rovna délce zapisovaných dat.

  • FilePut zapisuje prvky struktur, jako by byly zapsány jednotlivě, s výjimkou odsazení mezi prvky. Atribut VBFixedString lze použít u řetězcových polí ve strukturách, které označují velikost řetězce při zápisu na disk.

    Note

    Pole řetězců, která mají více bajtů, než určuje atribut, se při zápisu VBFixedString na disk zkrátí.

Binární režim

U souborů otevřených v Binary režimu platí většina Random pravidel režimu s některými výjimkami. Následující pravidla pro soubory otevřené v Binary režimu se liší od pravidel režimu Random :

  • Klauzule RecordLength ve FileOpen funkci nemá žádný vliv. FilePut zapíše všechny proměnné na disk souvisle, tj. bez odsazení mezi záznamy.

  • Pro libovolnou jinou matici než pole ve struktuře FilePut zapisuje pouze data. Žádný popisovač není napsán.

  • FilePut zapíše řetězce s proměnnou délkou, které nejsou prvky struktur bez popisovače dvoubajtů. Počet bajtů zapsaných se rovná počtu znaků v řetězci. Například následující příkazy zapisují 11 bajtů do souboru číslo 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Zápis do souboru pomocí FilePut funkce vyžaduje Write přístup z výčtu FileIOPermissionAccess .

Viz také

Platí pro

FilePut(Int32, Int16, Int64)

Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb
Zdroj:
FileSystem.vb

Zapíše data z proměnné do souboru disku. Tato My funkce poskytuje lepší produktivitu a výkon při vstupně-výstupních operacích souborů než FilePut. Další informace najdete na webu FileSystem.

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

Parametry

FileNumber
Int32

Required. Libovolné platné číslo souboru.

Value
Int16

Required. Platný název proměnné, který obsahuje data zapsaná na disk.

RecordNumber
Int64

Optional. Číslo záznamu (Random soubory v režimu) nebo bajtové číslo (Binary soubory režimu), na kterých začíná zápis.

Výjimky

RecordNumber < 1 a nerovná se -1.

Režim souboru je neplatný.

Příklady

Tento příklad používá funkci k zápisu FilePut dat do souboru. Do souboru je zapsáno pět záznamů struktury Person .

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Poznámky

FilePut je platný pouze v Random režimu a Binary v režimu.

Data zapsaná FilePut pomocí souboru se obvykle čtou ze souboru pomocí FileGet.

První záznam nebo bajt v souboru je na pozici 1, druhý záznam nebo bajt je na pozici 2 atd. Pokud vynecháte RecordNumber, další záznam nebo bajt za poslední FileGetFilePut nebo funkcí nebo odkazuje na poslední Seek funkci, je zapsán.

Argument StringIsFixedLength určuje, zda funkce interpretuje řetězce jako proměnnou nebo pevnou délku. FilePut nezapisuje popisovač délky, pokud je Trueargument . Pokud používáte s StringIsFixedLength = TrueFilePut , musíte provést totéž s FileGeta musíte se ujistit, že je řetězec inicializován na očekávanou délku.

Náhodný režim

Pro soubory otevřené v Random režimu platí následující pravidla:

  • Pokud je délka zapisovaných dat menší než délka zadaná v RecordLength klauzuli FileOpen funkce, FilePut zapíše následné záznamy o hranicích délky záznamů. Mezera mezi koncem jednoho záznamu a začátkem dalšího záznamu je vyplněna existujícím obsahem vyrovnávací paměti souboru. Vzhledem k tomu, že množství odsazení dat nelze určit s jistotou, je obecně vhodné, aby délka záznamu odpovídala délce zapisovaných dat. Pokud je délka zapisovaných dat větší než délka zadaná v RecordLength klauzuli FileOpen funkce, vyvolá se výjimka.

  • Pokud je zapisovaná proměnná řetězec, FilePut zapíše dvoubajtů popisovač obsahující délku řetězce a zapíše data, která do proměnné přejdou. Délka záznamu RecordLength určená klauzulí ve FileOpen funkci proto musí být alespoň dva bajty větší než skutečná délka řetězce.

  • Pokud je zapisovaná proměnná objekt obsahující číselný typ, FilePut zapíše dva bajty identifikující VarType objekt a pak zapíše proměnnou. Například při zápisu objektu, který obsahuje celé číslo, FilePut zapíše šest bajtů: dva bajty, které identifikují objekt jako VarType(3) (Integer) a čtyři bajty obsahující data. Délka záznamu RecordLength zadaná parametrem ve FileOpen funkci musí být alespoň dva bajty větší než skutečný počet bajtů potřebných k uložení proměnné.

  • Pokud je zapisovaná proměnná objekt, který obsahuje řetězec, FilePut zapíše dvoubajtů popisovač identifikujícíVarType(8) objekt, dvoubajtů popisovač označující délku řetězce a zapíše řetězcová data. Délka záznamu RecordLength zadaná parametrem ve FileOpen funkci musí být alespoň čtyři bajty větší než skutečná délka řetězce. Pokud chcete vložit řetězec bez popisovače, měli TrueStringIsFixedLength byste předat parametru a řetězec, do kterého jste načetli, by měl mít správnou délku.

  • Pokud je zapisovaná proměnná matice, máte na výběr, jestli chcete napsat popisovač pro velikost a rozměry pole. Visual Basic 6.0 a starších verzích zapisuje popisovač souboru pro dynamické pole, ale ne pro pole s pevnou velikostí. Visual Basic 2005 se ve výchozím nastavení nezapisuje popisovač. Chcete-li napsat popisovač, nastavte ArrayIsDynamic parametr na True. Při psaní pole musíte odpovídat způsobu, jakým bude pole přečteno; pokud se bude číst s popisovačem, musíte napsat popisovač. Popisovač určuje pořadí pole, velikost a dolní mez pro každé pořadí. Jeho délka se rovná 2 plus 8násobek počtu dimenzí: (2 + 8 * NumberOfDimensions). Délka záznamu RecordLength zadaná klauzulí ve FileOpen funkci musí být větší nebo rovna součtu všech bajtů požadovaných k zápisu dat pole a popisovače pole. Například následující deklarace pole vyžaduje při zápisu pole na disk 218 bajtů.

    Dim MyArray(4, 9) As Integer
    
  • Pokud je zapisovaná proměnná jiným typem proměnné (nikoli řetězcem s délkou proměnné nebo objektem), FilePut zapíše pouze data proměnných. Délka záznamu RecordLength zadaná klauzulí ve FileOpen funkci musí být větší nebo rovna délce zapisovaných dat.

  • FilePut zapisuje prvky struktur, jako by byly zapsány jednotlivě, s výjimkou odsazení mezi prvky. Atribut VBFixedString lze použít u řetězcových polí ve strukturách, které označují velikost řetězce při zápisu na disk.

    Note

    Pole řetězců, která mají více bajtů, než určuje atribut, se při zápisu VBFixedString na disk zkrátí.

Binární režim

U souborů otevřených v Binary režimu platí většina Random pravidel režimu s některými výjimkami. Následující pravidla pro soubory otevřené v Binary režimu se liší od pravidel režimu Random :

  • Klauzule RecordLength ve FileOpen funkci nemá žádný vliv. FilePut zapíše všechny proměnné na disk souvisle, tj. bez odsazení mezi záznamy.

  • Pro libovolnou jinou matici než pole ve struktuře FilePut zapisuje pouze data. Žádný popisovač není napsán.

  • FilePut zapíše řetězce s proměnnou délkou, které nejsou prvky struktur bez popisovače dvoubajtů. Počet bajtů zapsaných se rovná počtu znaků v řetězci. Například následující příkazy zapisují 11 bajtů do souboru číslo 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Zápis do souboru pomocí FilePut funkce vyžaduje Write přístup z výčtu FileIOPermissionAccess .

Viz také

Platí pro