FileSystem.FilePut Metódus

Definíció

Adatokat ír egy változóból egy lemezfájlba. A My funkció jobb hatékonyságot és teljesítményt biztosít a fájl I/O-műveletekben, mint FilePuta . F További információ: FileSystem.

Túlterhelések

Name Description
FilePut(Int32, Int64, Int64)

Adatokat ír egy változóból egy lemezfájlba. A My funkció jobb hatékonyságot és teljesítményt biztosít a fájl I/O-műveletekben, mint FilePuta . További információért lásd FileSystem.

FilePut(Int32, String, Int64, Boolean)

Adatokat ír egy változóból egy lemezfájlba. A My funkció jobb hatékonyságot és teljesítményt biztosít a fájl I/O-műveletekben, mint FilePuta . További információért lásd FileSystem.

FilePut(Object, Object, Object)
Elavult.
Elavult.
Elavult.

Adatokat ír egy változóból egy lemezfájlba. A My funkció jobb hatékonyságot és teljesítményt biztosít a fájl I/O-műveletekben, mint FilePuta . További információért lásd FileSystem.

FilePut(Int32, ValueType, Int64)

Adatokat ír egy változóból egy lemezfájlba. A My funkció jobb hatékonyságot és teljesítményt biztosít a fájl I/O-műveletekben, mint FilePuta . További információért lásd FileSystem.

FilePut(Int32, Single, Int64)

Adatokat ír egy változóból egy lemezfájlba. A My funkció jobb hatékonyságot és teljesítményt biztosít a fájl I/O-műveletekben, mint FilePuta . További információért lásd FileSystem.

FilePut(Int32, Int32, Int64)

Adatokat ír egy változóból egy lemezfájlba. A My funkció jobb hatékonyságot és teljesítményt biztosít a fájl I/O-műveletekben, mint FilePuta . További információért lásd FileSystem.

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

Adatokat ír egy változóból egy lemezfájlba. A My funkció jobb hatékonyságot és teljesítményt biztosít a fájl I/O-műveletekben, mint FilePuta . További információért lásd FileSystem.

FilePut(Int32, Double, Int64)

Adatokat ír egy változóból egy lemezfájlba. A My funkció jobb hatékonyságot és teljesítményt biztosít a fájl I/O-műveletekben, mint FilePuta . További információért lásd FileSystem.

FilePut(Int32, Decimal, Int64)

Adatokat ír egy változóból egy lemezfájlba. A My funkció jobb hatékonyságot és teljesítményt biztosít a fájl I/O-műveletekben, mint FilePuta . További információért lásd FileSystem.

FilePut(Int32, DateTime, Int64)

Adatokat ír egy változóból egy lemezfájlba. A My funkció jobb hatékonyságot és teljesítményt biztosít a fájl I/O-műveletekben, mint FilePuta . További információért lásd FileSystem.

FilePut(Int32, Char, Int64)

Adatokat ír egy változóból egy lemezfájlba. A My funkció jobb hatékonyságot és teljesítményt biztosít a fájl I/O-műveletekben, mint FilePuta . További információért lásd FileSystem.

FilePut(Int32, Byte, Int64)

Adatokat ír egy változóból egy lemezfájlba. A My funkció jobb hatékonyságot és teljesítményt biztosít a fájl I/O-műveletekben, mint FilePuta . További információért lásd FileSystem.

FilePut(Int32, Boolean, Int64)

Adatokat ír egy változóból egy lemezfájlba. A My funkció jobb hatékonyságot és teljesítményt biztosít a fájl I/O-műveletekben, mint FilePuta . További információért lásd FileSystem.

FilePut(Int32, Int16, Int64)

Adatokat ír egy változóból egy lemezfájlba. A My funkció jobb hatékonyságot és teljesítményt biztosít a fájl I/O-műveletekben, mint FilePuta . További információért lásd FileSystem.

FilePut(Int32, Int64, Int64)

Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb

Adatokat ír egy változóból egy lemezfájlba. A My funkció jobb hatékonyságot és teljesítményt biztosít a fájl I/O-műveletekben, mint FilePuta . További információért lásd 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)

Paraméterek

FileNumber
Int32

Kötelező. Bármely érvényes fájlszám.

Value
Int64

Kötelező. Érvényes változónév, amely lemezre írt adatokat tartalmaz.

RecordNumber
Int64

Optional. Rekordszám (Random módfájlok) vagy bájtszám (Binary módfájlok), amelyeknél az írás elindul.

Kivételek

RecordNumber < 1 és nem egyenlő -1-nek.

A fájlmód érvénytelen.

Példák

Ez a példa a függvény használatával FilePut ír adatokat egy fájlba. A rendszer öt rekordot ír a fájlba 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

Megjegyzések

FilePut csak és RandomBinary módban érvényes.

Az adatok írása FilePut általában egy fájlból történik a használatával FileGet.

A fájl első rekordja vagy bájtja az 1. pozícióban van, a második rekord vagy bájt a 2. pozícióban van stb. Ha kihagyja RecordNumbera következő rekordot vagy bájtot az utolsó FileGet vagy függvény után, FilePut vagy az utolsó Seek függvény mutat rá, meg lesz írva.

Az StringIsFixedLength argumentum azt határozza meg, hogy a függvény változóként vagy rögzített hosszként értelmezi-e a sztringeket. FilePutnem írja meg a hosszleírót, ha az argumentum .True Ha ezt StringIsFixedLengthhasználja = TrueFilePut, ugyanezt FileGetkell tennie, és meg kell győződnie arról, hogy a sztring inicializálva van a várt hosszúságra.

Véletlenszerű mód

A módban megnyitott Random fájlokra a következő szabályok vonatkoznak:

  • Ha a megírt adatok hossza kisebb, mint a függvény záradékában RecordLengthFileOpen megadott hossz, FilePut a rekordhossz határvonalán további rekordokat ír. Az egyik rekord vége és a következő rekord kezdete közötti térköz a fájlpuffer meglévő tartalmával van elválasztva. Mivel a kitöltési adatok mennyisége nem határozható meg bizonyossággal, általában jó ötlet, ha a rekord hossza megegyezik a megírt adatok hosszával. Ha a megírt adatok hossza nagyobb, mint a függvény záradékában RecordLengthFileOpen megadott hossz, kivételt ad a rendszer.

  • Ha a megírt változó egy sztring, FilePut írjon egy két bájtos leírót, amely tartalmazza a karakterlánc hosszát, majd megírja a változóba kerülő adatokat. Ezért a függvény záradékában RecordLength megadott FileOpen rekordhossznak legalább két bájttal nagyobbnak kell lennie, mint a sztring tényleges hossza.

  • Ha a megírt változó egy numerikus típust tartalmazó objektum, FilePut két bájtot ír, amely azonosítja az VarType objektumot, majd megírja a változót. Ha például egy egész számot tartalmazó objektumot ír, hat bájtot ír: két bájtot, FilePut amelyek () néven VarType(3)Integerazonosítják az objektumot, és négy bájtot, amelyek tartalmazzák az adatokat. A függvény paramétere RecordLength által FileOpen megadott rekordhossznak legalább két bájttal nagyobbnak kell lennie, mint a változó tárolásához szükséges bájtok tényleges száma.

  • Ha a megírt változó egy sztringet tartalmazó objektum, FilePut egy két bájtos leírót ír, amely azonosítja az VarType(8) objektumot, egy két bájtos leírót, amely a sztring hosszát jelzi, majd megírja a sztringadatokat. A függvény paramétere RecordLength által FileOpen megadott rekordhossznak legalább négy bájttal nagyobbnak kell lennie, mint a sztring tényleges hossza. Ha leíró nélkül szeretne sztringet elhelyezni, akkor a paraméternek True kell átadniaStringIsFixedLength, és a beolvasott sztringnek a megfelelő hosszúságúnak kell lennie.

  • Ha a megírt változó tömb, választhatja, hogy a tömb méretéhez és méretéhez írjon-e leírót. Visual Basic 6.0-s és korábbi verziók a fájlleírót dinamikus tömbhöz írják, rögzített méretű tömbhöz azonban nem. Visual Basic 2005 alapértelmezés szerint nem írja meg a leírót. A leíró írásához állítsa a paramétert a ArrayIsDynamic következőre True: . A tömb írásakor meg kell egyeznie a tömb olvasási módjával; ha a leíróval együtt olvassa, meg kell írnia a leírót. A leíró megadja a tömb rangját, méretét és alsó határát az egyes rangokhoz. Hossza 2 és 8-szorosa a méretek számának: (2 + 8 * NumberOfDimensions). A függvény záradéka RecordLength által FileOpen megadott rekordhossznak nagyobbnak vagy egyenlőnek kell lennie a tömbadatok és a tömbleíró írásához szükséges bájtok összegével. Az alábbi tömbdeklarációhoz például 218 bájt szükséges, amikor a tömb lemezre van írva.

    Dim MyArray(4, 9) As Integer
    
  • Ha a megírt változó bármilyen más típusú változó (nem változó hosszúságú sztring vagy objektum), FilePut csak a változó adatait írja. A függvény záradékában RecordLength megadott FileOpen rekordhossznak nagyobbnak vagy egyenlőnek kell lennie az írott adatok hosszánál.

  • FilePut úgy írja a struktúrák elemeit, mintha mindegyik külön-külön lett volna megírva, kivéve, hogy nincs párnázás az elemek között. Az VBFixedString attribútum a struktúrák sztringmezőire alkalmazható, hogy a lemezre írott sztring méretét jelezze.

    Note

    Az attribútum által VBFixedString megadottnál több bájttal rendelkező sztringmezők csonkulnak a lemezre írásakor,

Bináris mód

A módban megnyitott Binary fájlokra a Random legtöbb módszabály érvényes, néhány kivétellel. A módban megnyitott Binary fájlokra vonatkozó alábbi szabályok eltérnek a mód szabályaitól Random :

  • A RecordLength függvény záradékának FileOpen nincs hatása. FilePut Az összes változót egybefüggően, azaz a rekordok közötti kitöltés nélkül írja a lemezre.

  • A struktúra FilePut tömbön kívüli tömbjeihez csak az adatokat írja. Nincs leíró megírva.

  • FilePut Olyan változó hosszúságú sztringeket ír, amelyek nem a struktúrák elemei a két bájt hosszúságú leíró nélkül. A megírt bájtok száma megegyezik a sztringben szereplő karakterek számával. A következő utasítások például 11 bájtot írnak az 1-es fájlszámra:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • A függvény használatával FilePut fájlba történő íráshoz hozzáférésre van szükség Write az FileIOPermissionAccess enumerálásból.

Lásd még

A következőre érvényes:

FilePut(Int32, String, Int64, Boolean)

Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb

Adatokat ír egy változóból egy lemezfájlba. A My funkció jobb hatékonyságot és teljesítményt biztosít a fájl I/O-műveletekben, mint FilePuta . További információért lásd 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)

Paraméterek

FileNumber
Int32

Kötelező. Bármely érvényes fájlszám.

Value
String

Kötelező. Érvényes változónév, amely lemezre írt adatokat tartalmaz.

RecordNumber
Int64

Optional. Rekordszám (Random módfájlok) vagy bájtszám (Binary módfájlok), amelyeknél az írás elindul.

StringIsFixedLength
Boolean

Optional. Csak sztring írásakor érvényes. Megadja, hogy a sztringhez két bájt hosszúságú leírót írjon-e a fájlba. Az alapértelmezett érték a False.

Kivételek

RecordNumber < 1 és nem egyenlő -1-nek.

A fájlmód érvénytelen.

Példák

Ez a példa a függvény használatával FilePut ír adatokat egy fájlba. A rendszer öt rekordot ír a fájlba 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

Megjegyzések

FilePut csak és RandomBinary módban érvényes.

Az adatok írása FilePut általában egy fájlból történik a használatával FileGet.

A fájl első rekordja vagy bájtja az 1. pozícióban van, a második rekord vagy bájt a 2. pozícióban van stb. Ha kihagyja RecordNumbera következő rekordot vagy bájtot az utolsó FileGet vagy függvény után, FilePut vagy az utolsó Seek függvény mutat rá, meg lesz írva.

Az StringIsFixedLength argumentum azt határozza meg, hogy a függvény változóként vagy rögzített hosszként értelmezi-e a sztringeket. FilePutnem írja meg a hosszleírót, ha az argumentum .True Ha ezt StringIsFixedLengthhasználja = TrueFilePut, ugyanezt FileGetkell tennie, és meg kell győződnie arról, hogy a sztring inicializálva van a várt hosszúságra.

Véletlenszerű mód

A módban megnyitott Random fájlokra a következő szabályok vonatkoznak:

  • Ha a megírt adatok hossza kisebb, mint a függvény záradékában RecordLengthFileOpen megadott hossz, FilePut a rekordhossz határvonalán további rekordokat ír. Az egyik rekord vége és a következő rekord kezdete közötti térköz a fájlpuffer meglévő tartalmával van elválasztva. Mivel a kitöltési adatok mennyisége nem határozható meg bizonyossággal, általában jó ötlet, ha a rekord hossza megegyezik a megírt adatok hosszával. Ha a megírt adatok hossza nagyobb, mint a függvény záradékában RecordLengthFileOpen megadott hossz, kivételt ad a rendszer.

  • Ha a megírt változó egy sztring, FilePut írjon egy két bájtos leírót, amely tartalmazza a karakterlánc hosszát, majd megírja a változóba kerülő adatokat. Ezért a függvény záradékában RecordLength megadott FileOpen rekordhossznak legalább két bájttal nagyobbnak kell lennie, mint a sztring tényleges hossza.

  • Ha a megírt változó egy numerikus típust tartalmazó objektum, FilePut két bájtot ír, amely azonosítja az VarType objektumot, majd megírja a változót. Ha például egy egész számot tartalmazó objektumot ír, hat bájtot ír: két bájtot, FilePut amelyek () néven VarType(3)Integerazonosítják az objektumot, és négy bájtot, amelyek tartalmazzák az adatokat. A függvény paramétere RecordLength által FileOpen megadott rekordhossznak legalább két bájttal nagyobbnak kell lennie, mint a változó tárolásához szükséges bájtok tényleges száma.

  • Ha a megírt változó egy sztringet tartalmazó objektum, FilePut egy két bájtos leírót ír, amely azonosítja az VarType(8) objektumot, egy két bájtos leírót, amely a sztring hosszát jelzi, majd megírja a sztringadatokat. A függvény paramétere RecordLength által FileOpen megadott rekordhossznak legalább négy bájttal nagyobbnak kell lennie, mint a sztring tényleges hossza. Ha leíró nélkül szeretne sztringet elhelyezni, akkor a paraméternek True kell átadniaStringIsFixedLength, és a beolvasott sztringnek a megfelelő hosszúságúnak kell lennie.

  • Ha a megírt változó tömb, választhatja, hogy a tömb méretéhez és méretéhez írjon-e leírót. Visual Basic 6.0-s és korábbi verziók a fájlleírót dinamikus tömbhöz írják, rögzített méretű tömbhöz azonban nem. Visual Basic 2005 alapértelmezés szerint nem írja meg a leírót. A leíró írásához állítsa a paramétert a ArrayIsDynamic következőre True: . A tömb írásakor meg kell egyeznie a tömb olvasási módjával; ha a leíróval együtt olvassa, meg kell írnia a leírót. A leíró megadja a tömb rangját, méretét és alsó határát az egyes rangokhoz. Hossza 2 és 8-szorosa a méretek számának: (2 + 8 * NumberOfDimensions). A függvény záradéka RecordLength által FileOpen megadott rekordhossznak nagyobbnak vagy egyenlőnek kell lennie a tömbadatok és a tömbleíró írásához szükséges bájtok összegével. Az alábbi tömbdeklarációhoz például 218 bájt szükséges, amikor a tömb lemezre van írva.

    Dim MyArray(4, 9) As Integer
    
  • Ha a megírt változó bármilyen más típusú változó (nem változó hosszúságú sztring vagy objektum), FilePut csak a változó adatait írja. A függvény záradékában RecordLength megadott FileOpen rekordhossznak nagyobbnak vagy egyenlőnek kell lennie az írott adatok hosszánál.

  • FilePut úgy írja a struktúrák elemeit, mintha mindegyik külön-külön lett volna megírva, kivéve, hogy nincs párnázás az elemek között. Az VBFixedString attribútum a struktúrák sztringmezőire alkalmazható, hogy a lemezre írott sztring méretét jelezze.

    Note

    Az attribútum által VBFixedString megadottnál több bájttal rendelkező sztringmezők csonkulnak a lemezre írásakor,

Bináris mód

A módban megnyitott Binary fájlokra a Random legtöbb módszabály érvényes, néhány kivétellel. A módban megnyitott Binary fájlokra vonatkozó alábbi szabályok eltérnek a mód szabályaitól Random :

  • A RecordLength függvény záradékának FileOpen nincs hatása. FilePut Az összes változót egybefüggően, azaz a rekordok közötti kitöltés nélkül írja a lemezre.

  • A struktúra FilePut tömbön kívüli tömbjeihez csak az adatokat írja. Nincs leíró megírva.

  • FilePut Olyan változó hosszúságú sztringeket ír, amelyek nem a struktúrák elemei a két bájt hosszúságú leíró nélkül. A megírt bájtok száma megegyezik a sztringben szereplő karakterek számával. A következő utasítások például 11 bájtot írnak az 1-es fájlszámra:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • A függvény használatával FilePut fájlba történő íráshoz hozzáférésre van szükség Write az FileIOPermissionAccess enumerálásból.

Lásd még

A következőre érvényes:

FilePut(Object, Object, Object)

Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb

Figyelemfelhívás

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

Figyelemfelhívás

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

Figyelemfelhívás

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

Adatokat ír egy változóból egy lemezfájlba. A My funkció jobb hatékonyságot és teljesítményt biztosít a fájl I/O-műveletekben, mint FilePuta . További információért lásd 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)

Paraméterek

FileNumber
Object

Kötelező. Bármely érvényes fájlszám.

Value
Object

Kötelező. Érvényes változónév, amely lemezre írt adatokat tartalmaz.

RecordNumber
Object

Optional. Rekordszám (Random módfájlok) vagy bájtszám (Binary módfájlok), amelyeknél az írás elindul.

Attribútumok

Kivételek

RecordNumber < 1 és nem egyenlő -1-nek.

A fájlmód érvénytelen.

Lásd még

A következőre érvényes:

FilePut(Int32, ValueType, Int64)

Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb

Adatokat ír egy változóból egy lemezfájlba. A My funkció jobb hatékonyságot és teljesítményt biztosít a fájl I/O-műveletekben, mint FilePuta . További információért lásd 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)

Paraméterek

FileNumber
Int32

Kötelező. Bármely érvényes fájlszám.

Value
ValueType

Kötelező. Érvényes változónév, amely lemezre írt adatokat tartalmaz.

RecordNumber
Int64

Optional. Rekordszám (Random módfájlok) vagy bájtszám (Binary módfájlok), amelyeknél az írás elindul.

Attribútumok

Kivételek

RecordNumber < 1 és nem egyenlő -1-nek.

A fájlmód érvénytelen.

Példák

Ez a példa a függvény használatával FilePut ír adatokat egy fájlba. A rendszer öt rekordot ír a fájlba 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

Megjegyzések

FilePut csak és RandomBinary módban érvényes.

Az adatok írása FilePut általában egy fájlból történik a használatával FileGet.

A fájl első rekordja vagy bájtja az 1. pozícióban van, a második rekord vagy bájt a 2. pozícióban van stb. Ha kihagyja RecordNumbera következő rekordot vagy bájtot az utolsó FileGet vagy függvény után, FilePut vagy az utolsó Seek függvény mutat rá, meg lesz írva.

Az StringIsFixedLength argumentum azt határozza meg, hogy a függvény változóként vagy rögzített hosszként értelmezi-e a sztringeket. FilePutnem írja meg a hosszleírót, ha az argumentum .True Ha ezt StringIsFixedLengthhasználja = TrueFilePut, ugyanezt FileGetkell tennie, és meg kell győződnie arról, hogy a sztring inicializálva van a várt hosszúságra.

Véletlenszerű mód

A módban megnyitott Random fájlokra a következő szabályok vonatkoznak:

  • Ha a megírt adatok hossza kisebb, mint a függvény záradékábanRecordLengthFileOpen megadott hossz, FilePut a rekordhossz határvonalán további rekordokat ír. Az egyik rekord vége és a következő rekord kezdete közötti térköz a fájlpuffer meglévő tartalmával van elválasztva. Mivel a kitöltési adatok mennyisége nem határozható meg bizonyossággal, általában jó ötlet, ha a rekord hossza megegyezik a megírt adatok hosszával. Ha a megírt adatok hossza nagyobb, mint a függvény záradékában RecordLengthFileOpen megadott hossz, kivételt ad a rendszer.

  • Ha a megírt változó egy sztring, FilePut írjon egy két bájtos leírót, amely tartalmazza a karakterlánc hosszát, majd megírja a változóba kerülő adatokat. Ezért a függvény záradékában RecordLength megadott FileOpen rekordhossznak legalább két bájttal nagyobbnak kell lennie, mint a sztring tényleges hossza.

  • Ha a megírt változó egy numerikus típust tartalmazó objektum, FilePut két bájtot ír, amely azonosítja az VarType objektumot, majd megírja a változót. Ha például egy egész számot tartalmazó objektumot ír, hat bájtot ír: két bájtot, FilePut amelyek () néven VarType(3)Integerazonosítják az objektumot, és négy bájtot, amelyek tartalmazzák az adatokat. A függvény paramétere RecordLength által FileOpen megadott rekordhossznak legalább két bájttal nagyobbnak kell lennie, mint a változó tárolásához szükséges bájtok tényleges száma.

  • Ha a megírt változó egy sztringet tartalmazó objektum, FilePut egy két bájtos leírót ír, amely azonosítja az VarType(8) objektumot, egy két bájtos leírót, amely a sztring hosszát jelzi, majd megírja a sztringadatokat. A függvény paramétere RecordLength által FileOpen megadott rekordhossznak legalább négy bájttal nagyobbnak kell lennie, mint a sztring tényleges hossza. Ha leíró nélkül szeretne sztringet elhelyezni, akkor a paraméternek True kell átadniaStringIsFixedLength, és a beolvasott sztringnek a megfelelő hosszúságúnak kell lennie.

  • Ha a megírt változó tömb, választhatja, hogy a tömb méretéhez és méretéhez írjon-e leírót. Visual Basic 6.0-s és korábbi verziók a fájlleírót dinamikus tömbhöz írják, rögzített méretű tömbhöz azonban nem. Visual Basic 2005 alapértelmezés szerint nem írja meg a leírót. A leíró írásához állítsa a paramétert a ArrayIsDynamic következőre True: . A tömb írásakor meg kell egyeznie a tömb olvasási módjával; ha a leíróval együtt olvassa, meg kell írnia a leírót. A leíró megadja a tömb rangját, méretét és alsó határát az egyes rangokhoz. Hossza 2 és 8-szorosa a méretek számának: (2 + 8 * NumberOfDimensions). A függvény záradéka RecordLength által FileOpen megadott rekordhossznak nagyobbnak vagy egyenlőnek kell lennie a tömbadatok és a tömbleíró írásához szükséges bájtok összegével. Az alábbi tömbdeklarációhoz például 218 bájt szükséges, amikor a tömb lemezre van írva.

    Dim MyArray(4, 9) As Integer
    
  • Ha a megírt változó bármilyen más típusú változó (nem változó hosszúságú sztring vagy objektum), FilePut csak a változó adatait írja. A függvény záradékában RecordLength megadott FileOpen rekordhossznak nagyobbnak vagy egyenlőnek kell lennie az írott adatok hosszánál.

  • FilePut úgy írja a struktúrák elemeit, mintha mindegyik külön-külön lett volna megírva, kivéve, hogy nincs párnázás az elemek között. Az VBFixedString attribútum a struktúrák sztringmezőire alkalmazható, hogy a lemezre írott sztring méretét jelezze.

    Note

    Az attribútum által VBFixedString megadottnál több bájttal rendelkező sztringmezők csonkulnak a lemezre írásakor,

Bináris mód

A módban megnyitott Binary fájlokra a Random legtöbb módszabály érvényes, néhány kivétellel. A módban megnyitott Binary fájlokra vonatkozó alábbi szabályok eltérnek a mód szabályaitól Random :

  • A RecordLength függvény záradékának FileOpen nincs hatása. FilePut Az összes változót egybefüggően, azaz a rekordok közötti kitöltés nélkül írja a lemezre.

  • A struktúra FilePut tömbön kívüli tömbjeihez csak az adatokat írja. Nincs leíró megírva.

  • FilePut Olyan változó hosszúságú sztringeket ír, amelyek nem a struktúrák elemei a két bájt hosszúságú leíró nélkül. A megírt bájtok száma megegyezik a sztringben szereplő karakterek számával. A következő utasítások például 11 bájtot írnak az 1-es fájlszámra:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • A függvény használatával FilePut fájlba történő íráshoz hozzáférésre van szükség Write az FileIOPermissionAccess enumerálásból.

Lásd még

A következőre érvényes:

FilePut(Int32, Single, Int64)

Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb

Adatokat ír egy változóból egy lemezfájlba. A My funkció jobb hatékonyságot és teljesítményt biztosít a fájl I/O-műveletekben, mint FilePuta . További információért lásd 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)

Paraméterek

FileNumber
Int32

Kötelező. Bármely érvényes fájlszám.

Value
Single

Kötelező. Érvényes változónév, amely lemezre írt adatokat tartalmaz.

RecordNumber
Int64

Optional. Rekordszám (Random módfájlok) vagy bájtszám (Binary módfájlok), amelyeknél az írás elindul.

Kivételek

RecordNumber < 1 és nem egyenlő -1-nek.

A fájlmód érvénytelen.

Példák

Ez a példa a függvény használatával FilePut ír adatokat egy fájlba. A rendszer öt rekordot ír a fájlba 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

Megjegyzések

FilePut csak és RandomBinary módban érvényes.

Az adatok írása FilePut általában egy fájlból történik a használatával FileGet.

A fájl első rekordja vagy bájtja az 1. pozícióban van, a második rekord vagy bájt a 2. pozícióban van stb. Ha kihagyja RecordNumbera következő rekordot vagy bájtot az utolsó FileGet vagy függvény után, FilePut vagy az utolsó Seek függvény mutat rá, meg lesz írva.

Az StringIsFixedLength argumentum azt határozza meg, hogy a függvény változóként vagy rögzített hosszként értelmezi-e a sztringeket. FilePutnem írja meg a hosszleírót, ha az argumentum .True Ha ezt StringIsFixedLengthhasználja = TrueFilePut, ugyanezt FileGetkell tennie, és meg kell győződnie arról, hogy a sztring inicializálva van a várt hosszúságra.

Véletlenszerű mód

A módban megnyitott Random fájlokra a következő szabályok vonatkoznak:

  • Ha a megírt adatok hossza kisebb, mint a függvény záradékában RecordLengthFileOpen megadott hossz, FilePut a rekordhossz határvonalán további rekordokat ír. Az egyik rekord vége és a következő rekord kezdete közötti térköz a fájlpuffer meglévő tartalmával van elválasztva. Mivel a kitöltési adatok mennyisége nem határozható meg bizonyossággal, általában jó ötlet, ha a rekord hossza megegyezik a megírt adatok hosszával. Ha a megírt adatok hossza nagyobb, mint a függvény záradékában RecordLengthFileOpen megadott hossz, kivételt ad a rendszer.

  • Ha a megírt változó egy sztring, FilePut írjon egy két bájtos leírót, amely tartalmazza a karakterlánc hosszát, majd megírja a változóba kerülő adatokat. Ezért a függvény záradékában RecordLength megadott FileOpen rekordhossznak legalább két bájttal nagyobbnak kell lennie, mint a sztring tényleges hossza.

  • Ha a megírt változó egy numerikus típust tartalmazó objektum, FilePut két bájtot ír, amely azonosítja az VarType objektumot, majd megírja a változót. Ha például egy egész számot tartalmazó objektumot ír, hat bájtot ír: két bájtot, FilePut amelyek () néven VarType(3)Integerazonosítják az objektumot, és négy bájtot, amelyek tartalmazzák az adatokat. A függvény paramétere RecordLength által FileOpen megadott rekordhossznak legalább két bájttal nagyobbnak kell lennie, mint a változó tárolásához szükséges bájtok tényleges száma.

  • Ha a megírt változó egy sztringet tartalmazó objektum, FilePut egy két bájtos leírót ír, amely azonosítja az VarType(8) objektumot, egy két bájtos leírót, amely a sztring hosszát jelzi, majd megírja a sztringadatokat. A függvény paramétere RecordLength által FileOpen megadott rekordhossznak legalább négy bájttal nagyobbnak kell lennie, mint a sztring tényleges hossza. Ha leíró nélkül szeretne sztringet elhelyezni, akkor a paraméternek True kell átadniaStringIsFixedLength, és a beolvasott sztringnek a megfelelő hosszúságúnak kell lennie.

  • Ha a megírt változó tömb, választhatja, hogy a tömb méretéhez és méretéhez írjon-e leírót. Visual Basic 6.0-s és korábbi verziók a fájlleírót dinamikus tömbhöz írják, rögzített méretű tömbhöz azonban nem. Visual Basic 2005 alapértelmezés szerint nem írja meg a leírót. A leíró írásához állítsa a paramétert a ArrayIsDynamic következőre True: . A tömb írásakor meg kell egyeznie a tömb olvasási módjával; ha a leíróval együtt olvassa, meg kell írnia a leírót. A leíró megadja a tömb rangját, méretét és alsó határát az egyes rangokhoz. Hossza 2 és 8-szorosa a méretek számának: (2 + 8 * NumberOfDimensions). A függvény záradéka RecordLength által FileOpen megadott rekordhossznak nagyobbnak vagy egyenlőnek kell lennie a tömbadatok és a tömbleíró írásához szükséges bájtok összegével. Az alábbi tömbdeklarációhoz például 218 bájt szükséges, amikor a tömb lemezre van írva.

    Dim MyArray(4, 9) As Integer
    
  • Ha a megírt változó bármilyen más típusú változó (nem változó hosszúságú sztring vagy objektum), FilePut csak a változó adatait írja. A függvény záradékában RecordLength megadott FileOpen rekordhossznak nagyobbnak vagy egyenlőnek kell lennie az írott adatok hosszánál.

  • FilePut úgy írja a struktúrák elemeit, mintha mindegyik külön-külön lett volna megírva, kivéve, hogy nincs párnázás az elemek között. Az VBFixedString attribútum a struktúrák sztringmezőire alkalmazható, hogy a lemezre írott sztring méretét jelezze.

    Note

    Az attribútum által VBFixedString megadottnál több bájttal rendelkező sztringmezők csonkulnak a lemezre írásakor,

Bináris mód

A módban megnyitott Binary fájlokra a Random legtöbb módszabály érvényes, néhány kivétellel. A módban megnyitott Binary fájlokra vonatkozó alábbi szabályok eltérnek a mód szabályaitól Random :

  • A RecordLength függvény záradékának FileOpen nincs hatása. FilePut Az összes változót egybefüggően, azaz a rekordok közötti kitöltés nélkül írja a lemezre.

  • A struktúra FilePut tömbön kívüli tömbjeihez csak az adatokat írja. Nincs leíró megírva.

  • FilePut Olyan változó hosszúságú sztringeket ír, amelyek nem a struktúrák elemei a két bájt hosszúságú leíró nélkül. A megírt bájtok száma megegyezik a sztringben szereplő karakterek számával. A következő utasítások például 11 bájtot írnak az 1-es fájlszámra:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • A függvény használatával FilePut fájlba történő íráshoz hozzáférésre van szükség Write az FileIOPermissionAccess enumerálásból.

Lásd még

A következőre érvényes:

FilePut(Int32, Int32, Int64)

Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb

Adatokat ír egy változóból egy lemezfájlba. A My funkció jobb hatékonyságot és teljesítményt biztosít a fájl I/O-műveletekben, mint FilePuta . További információért lásd 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)

Paraméterek

FileNumber
Int32

Kötelező. Bármely érvényes fájlszám.

Value
Int32

Kötelező. Érvényes változónév, amely lemezre írt adatokat tartalmaz.

RecordNumber
Int64

Optional. Rekordszám (Random módfájlok) vagy bájtszám (Binary módfájlok), amelyeknél az írás elindul.

Kivételek

RecordNumber < 1 és nem egyenlő -1-nek.

A fájlmód érvénytelen.

Példák

Ez a példa a függvény használatával FilePut ír adatokat egy fájlba. A rendszer öt rekordot ír a fájlba 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

Megjegyzések

FilePut csak és RandomBinary módban érvényes.

Az adatok írása FilePut általában egy fájlból történik a használatával FileGet.

A fájl első rekordja vagy bájtja az 1. pozícióban van, a második rekord vagy bájt a 2. pozícióban van stb. Ha kihagyja RecordNumbera következő rekordot vagy bájtot az utolsó FileGet vagy függvény után, FilePut vagy az utolsó Seek függvény mutat rá, meg lesz írva.

Az StringIsFixedLength argumentum azt határozza meg, hogy a függvény változóként vagy rögzített hosszként értelmezi-e a sztringeket. FilePutnem írja meg a hosszleírót, ha az argumentum .True Ha ezt StringIsFixedLengthhasználja = TrueFilePut, ugyanezt FileGetkell tennie, és meg kell győződnie arról, hogy a sztring inicializálva van a várt hosszúságra.

Véletlenszerű mód

A módban megnyitott Random fájlokra a következő szabályok vonatkoznak:

  • Ha a megírt adatok hossza kisebb, mint a függvény záradékában RecordLengthFileOpen megadott hossz, FilePut a rekordhossz határvonalán további rekordokat ír. Az egyik rekord vége és a következő rekord kezdete közötti térköz a fájlpuffer meglévő tartalmával van elválasztva. Mivel a kitöltési adatok mennyisége nem határozható meg bizonyossággal, általában jó ötlet, ha a rekord hossza megegyezik a megírt adatok hosszával. Ha a megírt adatok hossza nagyobb, mint a függvény záradékában RecordLengthFileOpen megadott hossz, kivételt ad a rendszer.

  • Ha a megírt változó egy sztring, FilePut írjon egy két bájtos leírót, amely tartalmazza a karakterlánc hosszát, majd megírja a változóba kerülő adatokat. Ezért a függvény záradékában RecordLength megadott FileOpen rekordhossznak legalább két bájttal nagyobbnak kell lennie, mint a sztring tényleges hossza.

  • Ha a megírt változó egy numerikus típust tartalmazó objektum, FilePut két bájtot ír, amely azonosítja az VarType objektumot, majd megírja a változót. Ha például egy egész számot tartalmazó objektumot ír, hat bájtot ír: két bájtot, FilePut amelyek () néven VarType(3)Integerazonosítják az objektumot, és négy bájtot, amelyek tartalmazzák az adatokat. A függvény paramétere RecordLength által FileOpen megadott rekordhossznak legalább két bájttal nagyobbnak kell lennie, mint a változó tárolásához szükséges bájtok tényleges száma.

  • Ha a megírt változó egy sztringet tartalmazó objektum, FilePut egy két bájtos leírót ír, amely azonosítja az VarType(8) objektumot, egy két bájtos leírót, amely a sztring hosszát jelzi, majd megírja a sztringadatokat. A függvény paramétere RecordLength által FileOpen megadott rekordhossznak legalább négy bájttal nagyobbnak kell lennie, mint a sztring tényleges hossza. Ha leíró nélkül szeretne sztringet elhelyezni, akkor a paraméternek True kell átadniaStringIsFixedLength, és a beolvasott sztringnek a megfelelő hosszúságúnak kell lennie.

  • Ha a megírt változó tömb, választhatja, hogy a tömb méretéhez és méretéhez írjon-e leírót. Visual Basic 6.0-s és korábbi verziók a fájlleírót dinamikus tömbhöz írják, rögzített méretű tömbhöz azonban nem. Visual Basic 2005 alapértelmezés szerint nem írja meg a leírót. A leíró írásához állítsa a paramétert a ArrayIsDynamic következőre True: . A tömb írásakor meg kell egyeznie a tömb olvasási módjával; ha a leíróval együtt olvassa, meg kell írnia a leírót. A leíró megadja a tömb rangját, méretét és alsó határát az egyes rangokhoz. Hossza 2 és 8-szorosa a méretek számának: (2 + 8 * NumberOfDimensions). A függvény záradéka RecordLength által FileOpen megadott rekordhossznak nagyobbnak vagy egyenlőnek kell lennie a tömbadatok és a tömbleíró írásához szükséges bájtok összegével. Az alábbi tömbdeklarációhoz például 218 bájt szükséges, amikor a tömb lemezre van írva.

    Dim MyArray(4, 9) As Integer
    
  • Ha a megírt változó bármilyen más típusú változó (nem változó hosszúságú sztring vagy objektum), FilePut csak a változó adatait írja. A függvény záradékában RecordLength megadott FileOpen rekordhossznak nagyobbnak vagy egyenlőnek kell lennie az írott adatok hosszánál.

  • FilePut úgy írja a struktúrák elemeit, mintha mindegyik külön-külön lett volna megírva, kivéve, hogy nincs párnázás az elemek között. Az VBFixedString attribútum a struktúrák sztringmezőire alkalmazható, hogy a lemezre írott sztring méretét jelezze.

    Note

    Az attribútum által VBFixedString megadottnál több bájttal rendelkező sztringmezők csonkulnak a lemezre írásakor,

Bináris mód

A módban megnyitott Binary fájlokra a Random legtöbb módszabály érvényes, néhány kivétellel. A módban megnyitott Binary fájlokra vonatkozó alábbi szabályok eltérnek a mód szabályaitól Random :

  • A RecordLength függvény záradékának FileOpen nincs hatása. FilePut Az összes változót egybefüggően, azaz a rekordok közötti kitöltés nélkül írja a lemezre.

  • A struktúra FilePut tömbön kívüli tömbjeihez csak az adatokat írja. Nincs leíró megírva.

  • FilePut Olyan változó hosszúságú sztringeket ír, amelyek nem a struktúrák elemei a két bájt hosszúságú leíró nélkül. A megírt bájtok száma megegyezik a sztringben szereplő karakterek számával. A következő utasítások például 11 bájtot írnak az 1-es fájlszámra:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • A függvény használatával FilePut fájlba történő íráshoz hozzáférésre van szükség Write az FileIOPermissionAccess enumerálásból.

Lásd még

A következőre érvényes:

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

Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb

Adatokat ír egy változóból egy lemezfájlba. A My funkció jobb hatékonyságot és teljesítményt biztosít a fájl I/O-műveletekben, mint FilePuta . További információért lásd 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)

Paraméterek

FileNumber
Int32

Kötelező. Bármely érvényes fájlszám.

Value
Array

Kötelező. Érvényes változónév, amely lemezre írt adatokat tartalmaz.

RecordNumber
Int64

Optional. Rekordszám (Random módfájlok) vagy bájtszám (Binary módfájlok), amelyeknél az írás elindul.

ArrayIsDynamic
Boolean

Optional. Csak tömb írásakor alkalmazható. Megadja, hogy a tömböt dinamikusként kell-e kezelni, és hogy a hosszt leíró sztringhez kíván-e tömbleírót írni.

StringIsFixedLength
Boolean

Optional. Csak sztring írásakor érvényes. Megadja, hogy a sztringhez két bájt hosszúságú leírót írjon-e a fájlba. Az alapértelmezett érték a False.

Attribútumok

Kivételek

RecordNumber < 1 és nem egyenlő -1-nek.

A fájlmód érvénytelen.

Példák

Ez a példa a függvény használatával FilePut ír adatokat egy fájlba. A rendszer öt rekordot ír a fájlba 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

Megjegyzések

FilePut csak és RandomBinary módban érvényes.

Az adatok írása FilePut általában egy fájlból történik a használatával FileGet.

A fájl első rekordja vagy bájtja az 1. pozícióban van, a második rekord vagy bájt a 2. pozícióban van stb. Ha kihagyja RecordNumbera következő rekordot vagy bájtot az utolsó FileGet vagy függvény után, FilePut vagy az utolsó Seek függvény mutat rá, meg lesz írva.

Az StringIsFixedLength argumentum azt határozza meg, hogy a függvény változóként vagy rögzített hosszként értelmezi-e a sztringeket. FilePutnem írja meg a hosszleírót, ha az argumentum .True Ha ezt StringIsFixedLengthhasználja = TrueFilePut, ugyanezt FileGetkell tennie, és meg kell győződnie arról, hogy a sztring inicializálva van a várt hosszúságra.

Véletlenszerű mód

A módban megnyitott Random fájlokra a következő szabályok vonatkoznak:

  • Ha a megírt adatok hossza kisebb, mint a függvény záradékában RecordLengthFileOpen megadott hossz, FilePut a rekordhossz határvonalán további rekordokat ír. Az egyik rekord vége és a következő rekord kezdete közötti térköz a fájlpuffer meglévő tartalmával van elválasztva. Mivel a kitöltési adatok mennyisége nem határozható meg bizonyossággal, általában jó ötlet, ha a rekord hossza megegyezik a megírt adatok hosszával. Ha a megírt adatok hossza nagyobb, mint a függvény záradékában RecordLengthFileOpen megadott hossz, kivételt ad a rendszer.

  • Ha a megírt változó egy sztring, FilePut írjon egy két bájtos leírót, amely tartalmazza a karakterlánc hosszát, majd megírja a változóba kerülő adatokat. Ezért a függvény záradékában RecordLength megadott FileOpen rekordhossznak legalább két bájttal nagyobbnak kell lennie, mint a sztring tényleges hossza.

  • Ha a megírt változó egy numerikus típust tartalmazó objektum, FilePut két bájtot ír, amely azonosítja az VarType objektumot, majd megírja a változót. Ha például egy egész számot tartalmazó objektumot ír, hat bájtot ír: két bájtot, FilePut amelyek () néven VarType(3)Integerazonosítják az objektumot, és négy bájtot, amelyek tartalmazzák az adatokat. A függvény paramétere RecordLength által FileOpen megadott rekordhossznak legalább két bájttal nagyobbnak kell lennie, mint a változó tárolásához szükséges bájtok tényleges száma.

  • Ha a megírt változó egy sztringet tartalmazó objektum, FilePut egy két bájtos leírót ír, amely azonosítja az VarType(8) objektumot, egy két bájtos leírót, amely a sztring hosszát jelzi, majd megírja a sztringadatokat. A függvény paramétere RecordLength által FileOpen megadott rekordhossznak legalább négy bájttal nagyobbnak kell lennie, mint a sztring tényleges hossza. Ha leíró nélkül szeretne sztringet elhelyezni, akkor a paraméternek True kell átadniaStringIsFixedLength, és a beolvasott sztringnek a megfelelő hosszúságúnak kell lennie.

  • Ha a megírt változó tömb, választhatja, hogy a tömb méretéhez és méretéhez írjon-e leírót. Visual Basic 6.0-s és korábbi verziók a fájlleírót dinamikus tömbhöz írják, rögzített méretű tömbhöz azonban nem. Visual Basic 2005 alapértelmezés szerint nem írja meg a leírót. A leíró írásához állítsa a paramétert a ArrayIsDynamic következőre True: . A tömb írásakor meg kell egyeznie a tömb olvasási módjával; ha a leíróval együtt olvassa, meg kell írnia a leírót. A leíró megadja a tömb rangját, méretét és alsó határát az egyes rangokhoz. Hossza 2 és 8-szorosa a méretek számának: (2 + 8 * NumberOfDimensions). A függvény záradéka RecordLength által FileOpen megadott rekordhossznak nagyobbnak vagy egyenlőnek kell lennie a tömbadatok és a tömbleíró írásához szükséges bájtok összegével. Az alábbi tömbdeklarációhoz például 218 bájt szükséges, amikor a tömb lemezre van írva.

    Dim MyArray(4, 9) As Integer
    
  • Ha a megírt változó bármilyen más típusú változó (nem változó hosszúságú sztring vagy objektum), FilePut csak a változó adatait írja. A függvény záradékában RecordLength megadott FileOpen rekordhossznak nagyobbnak vagy egyenlőnek kell lennie az írott adatok hosszánál.

  • FilePut úgy írja a struktúrák elemeit, mintha mindegyik külön-külön lett volna megírva, kivéve, hogy nincs párnázás az elemek között. Az VBFixedString attribútum a struktúrák sztringmezőire alkalmazható, hogy a lemezre írott sztring méretét jelezze.

    Note

    Az attribútum által VBFixedString megadottnál több bájttal rendelkező sztringmezők csonkulnak a lemezre írásakor,

Bináris mód

A módban megnyitott Binary fájlokra a Random legtöbb módszabály érvényes, néhány kivétellel. A módban megnyitott Binary fájlokra vonatkozó alábbi szabályok eltérnek a mód szabályaitól Random :

  • A RecordLength függvény záradékának FileOpen nincs hatása. FilePut Az összes változót egybefüggően, azaz a rekordok közötti kitöltés nélkül írja a lemezre.

  • A struktúra FilePut tömbön kívüli tömbjeihez csak az adatokat írja. Nincs leíró megírva.

  • FilePut Olyan változó hosszúságú sztringeket ír, amelyek nem a struktúrák elemei a két bájt hosszúságú leíró nélkül. A megírt bájtok száma megegyezik a sztringben szereplő karakterek számával. A következő utasítások például 11 bájtot írnak az 1-es fájlszámra:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • A függvény használatával FilePut fájlba történő íráshoz hozzáférésre van szükség Write az FileIOPermissionAccess enumerálásból.

Lásd még

A következőre érvényes:

FilePut(Int32, Double, Int64)

Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb

Adatokat ír egy változóból egy lemezfájlba. A My funkció jobb hatékonyságot és teljesítményt biztosít a fájl I/O-műveletekben, mint FilePuta . További információért lásd 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)

Paraméterek

FileNumber
Int32

Kötelező. Bármely érvényes fájlszám.

Value
Double

Kötelező. Érvényes változónév, amely lemezre írt adatokat tartalmaz.

RecordNumber
Int64

Optional. Rekordszám (Random módfájlok) vagy bájtszám (Binary módfájlok), amelyeknél az írás elindul.

Kivételek

RecordNumber < 1 és nem egyenlő -1-nek.

A fájlmód érvénytelen.

Példák

Ez a példa a függvény használatával FilePut ír adatokat egy fájlba. A rendszer öt rekordot ír a fájlba 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

Megjegyzések

FilePut csak és RandomBinary módban érvényes.

Az adatok írása FilePut általában egy fájlból történik a használatával FileGet.

A fájl első rekordja vagy bájtja az 1. pozícióban van, a második rekord vagy bájt a 2. pozícióban van stb. Ha kihagyja RecordNumbera következő rekordot vagy bájtot az utolsó FileGet vagy függvény után, FilePut vagy az utolsó Seek függvény mutat rá, meg lesz írva.

Az StringIsFixedLength argumentum azt határozza meg, hogy a függvény változóként vagy rögzített hosszként értelmezi-e a sztringeket. FilePutnem írja meg a hosszleírót, ha az argumentum .True Ha ezt StringIsFixedLengthhasználja = TrueFilePut, ugyanezt FileGetkell tennie, és meg kell győződnie arról, hogy a sztring inicializálva van a várt hosszúságra.

Véletlenszerű mód

A módban megnyitott Random fájlokra a következő szabályok vonatkoznak:

  • Ha a megírt adatok hossza kisebb, mint a függvény záradékában RecordLengthFileOpen megadott hossz, FilePut a rekordhossz határvonalán további rekordokat ír. Az egyik rekord vége és a következő rekord kezdete közötti térköz a fájlpuffer meglévő tartalmával van elválasztva. Mivel a kitöltési adatok mennyisége nem határozható meg bizonyossággal, általában jó ötlet, ha a rekord hossza megegyezik a megírt adatok hosszával. Ha a megírt adatok hossza nagyobb, mint a függvény záradékában RecordLengthFileOpen megadott hossz, kivételt ad a rendszer.

  • Ha a megírt változó egy sztring, FilePut írjon egy két bájtos leírót, amely tartalmazza a karakterlánc hosszát, majd megírja a változóba kerülő adatokat. Ezért a függvény záradékában RecordLength megadott FileOpen rekordhossznak legalább két bájttal nagyobbnak kell lennie, mint a sztring tényleges hossza.

  • Ha a megírt változó egy numerikus típust tartalmazó objektum, FilePut két bájtot ír, amely azonosítja az VarType objektumot, majd megírja a változót. Ha például egy egész számot tartalmazó objektumot ír, hat bájtot ír: két bájtot, FilePut amelyek () néven VarType(3)Integerazonosítják az objektumot, és négy bájtot, amelyek tartalmazzák az adatokat. A függvény paramétere RecordLength által FileOpen megadott rekordhossznak legalább két bájttal nagyobbnak kell lennie, mint a változó tárolásához szükséges bájtok tényleges száma.

  • Ha a megírt változó egy sztringet tartalmazó objektum, FilePut egy két bájtos leírót ír, amely azonosítja az VarType(8) objektumot, egy két bájtos leírót, amely a sztring hosszát jelzi, majd megírja a sztringadatokat. A függvény paramétere RecordLength által FileOpen megadott rekordhossznak legalább négy bájttal nagyobbnak kell lennie, mint a sztring tényleges hossza. Ha leíró nélkül szeretne sztringet elhelyezni, akkor a paraméternek True kell átadniaStringIsFixedLength, és a beolvasott sztringnek a megfelelő hosszúságúnak kell lennie.

  • Ha a megírt változó tömb, választhatja, hogy a tömb méretéhez és méretéhez írjon-e leírót. Visual Basic 6.0-s és korábbi verziók a fájlleírót dinamikus tömbhöz írják, rögzített méretű tömbhöz azonban nem. Visual Basic 2005 alapértelmezés szerint nem írja meg a leírót. A leíró írásához állítsa a paramétert a ArrayIsDynamic következőre True: . A tömb írásakor meg kell egyeznie a tömb olvasási módjával; ha a leíróval együtt olvassa, meg kell írnia a leírót. A leíró megadja a tömb rangját, méretét és alsó határát az egyes rangokhoz. Hossza 2 és 8-szorosa a méretek számának: (2 + 8 * NumberOfDimensions). A függvény záradéka RecordLength által FileOpen megadott rekordhossznak nagyobbnak vagy egyenlőnek kell lennie a tömbadatok és a tömbleíró írásához szükséges bájtok összegével. Az alábbi tömbdeklarációhoz például 218 bájt szükséges, amikor a tömb lemezre van írva.

    Dim MyArray(4, 9) As Integer
    
  • Ha a megírt változó bármilyen más típusú változó (nem változó hosszúságú sztring vagy objektum), FilePut csak a változó adatait írja. A függvény záradékában RecordLength megadott FileOpen rekordhossznak nagyobbnak vagy egyenlőnek kell lennie az írott adatok hosszánál.

  • FilePut úgy írja a struktúrák elemeit, mintha mindegyik külön-külön lett volna megírva, kivéve, hogy nincs párnázás az elemek között. Az VBFixedString attribútum a struktúrák sztringmezőire alkalmazható, hogy a lemezre írott sztring méretét jelezze.

    Note

    Az attribútum által VBFixedString megadottnál több bájttal rendelkező sztringmezők csonkulnak a lemezre írásakor,

Bináris mód

A módban megnyitott Binary fájlokra a Random legtöbb módszabály érvényes, néhány kivétellel. A módban megnyitott Binary fájlokra vonatkozó alábbi szabályok eltérnek a mód szabályaitól Random :

  • A RecordLength függvény záradékának FileOpen nincs hatása. FilePut Az összes változót egybefüggően, azaz a rekordok közötti kitöltés nélkül írja a lemezre.

  • A struktúra FilePut tömbön kívüli tömbjeihez csak az adatokat írja. Nincs leíró megírva.

  • FilePut Olyan változó hosszúságú sztringeket ír, amelyek nem a struktúrák elemei a két bájt hosszúságú leíró nélkül. A megírt bájtok száma megegyezik a sztringben szereplő karakterek számával. A következő utasítások például 11 bájtot írnak az 1-es fájlszámra:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • A függvény használatával FilePut fájlba történő íráshoz hozzáférésre van szükség Write az FileIOPermissionAccess enumerálásból.

Lásd még

A következőre érvényes:

FilePut(Int32, Decimal, Int64)

Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb

Adatokat ír egy változóból egy lemezfájlba. A My funkció jobb hatékonyságot és teljesítményt biztosít a fájl I/O-műveletekben, mint FilePuta . További információért lásd 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)

Paraméterek

FileNumber
Int32

Kötelező. Bármely érvényes fájlszám.

Value
Decimal

Kötelező. Érvényes változónév, amely lemezre írt adatokat tartalmaz.

RecordNumber
Int64

Optional. Rekordszám (Random módfájlok) vagy bájtszám (Binary módfájlok), amelyeknél az írás elindul.

Kivételek

RecordNumber < 1 és nem egyenlő -1-nek.

A fájlmód érvénytelen.

Példák

Ez a példa a függvény használatával FilePut ír adatokat egy fájlba. A rendszer öt rekordot ír a fájlba 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

Megjegyzések

FilePut csak és RandomBinary módban érvényes.

Az adatok írása FilePut általában egy fájlból történik a használatával FileGet.

A fájl első rekordja vagy bájtja az 1. pozícióban van, a második rekord vagy bájt a 2. pozícióban van stb. Ha kihagyja RecordNumbera következő rekordot vagy bájtot az utolsó FileGet vagy függvény után, FilePut vagy az utolsó Seek függvény mutat rá, meg lesz írva.

Az StringIsFixedLength argumentum azt határozza meg, hogy a függvény változóként vagy rögzített hosszként értelmezi-e a sztringeket. FilePutnem írja meg a hosszleírót, ha az argumentum .True Ha ezt StringIsFixedLengthhasználja = TrueFilePut, ugyanezt FileGetkell tennie, és meg kell győződnie arról, hogy a sztring inicializálva van a várt hosszúságra.

Véletlenszerű mód

A módban megnyitott Random fájlokra a következő szabályok vonatkoznak:

  • Ha a megírt adatok hossza kisebb, mint a függvény záradékában RecordLengthFileOpen megadott hossz, FilePut a rekordhossz határvonalán további rekordokat ír. Az egyik rekord vége és a következő rekord kezdete közötti térköz a fájlpuffer meglévő tartalmával van elválasztva. Mivel a kitöltési adatok mennyisége nem határozható meg bizonyossággal, általában jó ötlet, ha a rekord hossza megegyezik a megírt adatok hosszával. Ha a megírt adatok hossza nagyobb, mint a függvény záradékában RecordLengthFileOpen megadott hossz, kivételt ad a rendszer.

  • Ha a megírt változó egy sztring, FilePut írjon egy két bájtos leírót, amely tartalmazza a karakterlánc hosszát, majd megírja a változóba kerülő adatokat. Ezért a függvény záradékában RecordLength megadott FileOpen rekordhossznak legalább két bájttal nagyobbnak kell lennie, mint a sztring tényleges hossza.

  • Ha a megírt változó egy numerikus típust tartalmazó objektum, FilePut két bájtot ír, amely azonosítja az VarType objektumot, majd megírja a változót. Ha például egy egész számot tartalmazó objektumot ír, hat bájtot ír: két bájtot, FilePut amelyek () néven VarType(3)Integerazonosítják az objektumot, és négy bájtot, amelyek tartalmazzák az adatokat. A függvény paramétere RecordLength által FileOpen megadott rekordhossznak legalább két bájttal nagyobbnak kell lennie, mint a változó tárolásához szükséges bájtok tényleges száma.

  • Ha a megírt változó egy sztringet tartalmazó objektum, FilePut egy két bájtos leírót ír, amely azonosítja az VarType(8) objektumot, egy két bájtos leírót, amely a sztring hosszát jelzi, majd megírja a sztringadatokat. A függvény paramétere RecordLength által FileOpen megadott rekordhossznak legalább négy bájttal nagyobbnak kell lennie, mint a sztring tényleges hossza. Ha leíró nélkül szeretne sztringet elhelyezni, akkor a paraméternek True kell átadniaStringIsFixedLength, és a beolvasott sztringnek a megfelelő hosszúságúnak kell lennie.

  • Ha a megírt változó tömb, választhatja, hogy a tömb méretéhez és méretéhez írjon-e leírót. Visual Basic 6.0-s és korábbi verziók a fájlleírót dinamikus tömbhöz írják, rögzített méretű tömbhöz azonban nem. Visual Basic 2005 alapértelmezés szerint nem írja meg a leírót. A leíró írásához állítsa a paramétert a ArrayIsDynamic következőre True: . A tömb írásakor meg kell egyeznie a tömb olvasási módjával; ha a leíróval együtt olvassa, meg kell írnia a leírót. A leíró megadja a tömb rangját, méretét és alsó határát az egyes rangokhoz. Hossza 2 és 8-szorosa a méretek számának: (2 + 8 * NumberOfDimensions). A függvény záradéka RecordLength által FileOpen megadott rekordhossznak nagyobbnak vagy egyenlőnek kell lennie a tömbadatok és a tömbleíró írásához szükséges bájtok összegével. Az alábbi tömbdeklarációhoz például 218 bájt szükséges, amikor a tömb lemezre van írva.

    Dim MyArray(4, 9) As Integer
    
  • Ha a megírt változó bármilyen más típusú változó (nem változó hosszúságú sztring vagy objektum), FilePut csak a változó adatait írja. A függvény záradékában RecordLength megadott FileOpen rekordhossznak nagyobbnak vagy egyenlőnek kell lennie az írott adatok hosszánál.

  • FilePut úgy írja a struktúrák elemeit, mintha mindegyik külön-külön lett volna megírva, kivéve, hogy nincs párnázás az elemek között. Az VBFixedString attribútum a struktúrák sztringmezőire alkalmazható, hogy a lemezre írott sztring méretét jelezze.

    Note

    Az attribútum által VBFixedString megadottnál több bájttal rendelkező sztringmezők csonkulnak a lemezre írásakor,

Bináris mód

A módban megnyitott Binary fájlokra a Random legtöbb módszabály érvényes, néhány kivétellel. A módban megnyitott Binary fájlokra vonatkozó alábbi szabályok eltérnek a mód szabályaitól Random :

  • A RecordLength függvény záradékának FileOpen nincs hatása. FilePut Az összes változót egybefüggően, azaz a rekordok közötti kitöltés nélkül írja a lemezre.

  • A struktúra FilePut tömbön kívüli tömbjeihez csak az adatokat írja. Nincs leíró megírva.

  • FilePut Olyan változó hosszúságú sztringeket ír, amelyek nem a struktúrák elemei a két bájt hosszúságú leíró nélkül. A megírt bájtok száma megegyezik a sztringben szereplő karakterek számával. A következő utasítások például 11 bájtot írnak az 1-es fájlszámra:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • A függvény használatával FilePut fájlba történő íráshoz hozzáférésre van szükség Write az FileIOPermissionAccess enumerálásból.

Lásd még

A következőre érvényes:

FilePut(Int32, DateTime, Int64)

Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb

Adatokat ír egy változóból egy lemezfájlba. A My funkció jobb hatékonyságot és teljesítményt biztosít a fájl I/O-műveletekben, mint FilePuta . További információért lásd 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)

Paraméterek

FileNumber
Int32

Kötelező. Bármely érvényes fájlszám.

Value
DateTime

Kötelező. Érvényes változónév, amely lemezre írt adatokat tartalmaz.

RecordNumber
Int64

Optional. Rekordszám (Random módfájlok) vagy bájtszám (Binary módfájlok), amelyeknél az írás elindul.

Kivételek

RecordNumber < 1 és nem egyenlő -1-nek.

A fájlmód érvénytelen.

Példák

Ez a példa a függvény használatával FilePut ír adatokat egy fájlba. A rendszer öt rekordot ír a fájlba 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

Megjegyzések

FilePut csak és RandomBinary módban érvényes.

Az adatok írása FilePut általában egy fájlból történik a használatával FileGet.

A fájl első rekordja vagy bájtja az 1. pozícióban van, a második rekord vagy bájt a 2. pozícióban van stb. Ha kihagyja RecordNumbera következő rekordot vagy bájtot az utolsó FileGet vagy függvény után, FilePut vagy az utolsó Seek függvény mutat rá, meg lesz írva.

Az StringIsFixedLength argumentum azt határozza meg, hogy a függvény változóként vagy rögzített hosszként értelmezi-e a sztringeket. FilePutnem írja meg a hosszleírót, ha az argumentum .True Ha ezt StringIsFixedLengthhasználja = TrueFilePut, ugyanezt FileGetkell tennie, és meg kell győződnie arról, hogy a sztring inicializálva van a várt hosszúságra.

Véletlenszerű mód

A módban megnyitott Random fájlokra a következő szabályok vonatkoznak:

  • Ha a megírt adatok hossza kisebb, mint a függvény záradékában RecordLengthFileOpen megadott hossz, FilePut a rekordhossz határvonalán további rekordokat ír. Az egyik rekord vége és a következő rekord kezdete közötti térköz a fájlpuffer meglévő tartalmával van elválasztva. Mivel a kitöltési adatok mennyisége nem határozható meg bizonyossággal, általában jó ötlet, ha a rekord hossza megegyezik a megírt adatok hosszával. Ha a megírt adatok hossza nagyobb, mint a függvény záradékában RecordLengthFileOpen megadott hossz, kivételt ad a rendszer.

  • Ha a megírt változó egy sztring, FilePut írjon egy két bájtos leírót, amely tartalmazza a karakterlánc hosszát, majd megírja a változóba kerülő adatokat. Ezért a függvény záradékában RecordLength megadott FileOpen rekordhossznak legalább két bájttal nagyobbnak kell lennie, mint a sztring tényleges hossza.

  • Ha a megírt változó egy numerikus típust tartalmazó objektum, FilePut két bájtot ír, amely azonosítja az VarType objektumot, majd megírja a változót. Ha például egy egész számot tartalmazó objektumot ír, hat bájtot ír: két bájtot, FilePut amelyek () néven VarType(3)Integerazonosítják az objektumot, és négy bájtot, amelyek tartalmazzák az adatokat. A függvény paramétere RecordLength által FileOpen megadott rekordhossznak legalább két bájttal nagyobbnak kell lennie, mint a változó tárolásához szükséges bájtok tényleges száma.

  • Ha a megírt változó egy sztringet tartalmazó objektum, FilePut egy két bájtos leírót ír, amely azonosítja az VarType(8) objektumot, egy két bájtos leírót, amely a sztring hosszát jelzi, majd megírja a sztringadatokat. A függvény paramétere RecordLength által FileOpen megadott rekordhossznak legalább négy bájttal nagyobbnak kell lennie, mint a sztring tényleges hossza. Ha leíró nélkül szeretne sztringet elhelyezni, akkor a paraméternek True kell átadniaStringIsFixedLength, és a beolvasott sztringnek a megfelelő hosszúságúnak kell lennie.

  • Ha a megírt változó tömb, választhatja, hogy a tömb méretéhez és méretéhez írjon-e leírót. Visual Basic 6.0-s és korábbi verziók a fájlleírót dinamikus tömbhöz írják, rögzített méretű tömbhöz azonban nem. Visual Basic 2005 alapértelmezés szerint nem írja meg a leírót. A leíró írásához állítsa a paramétert a ArrayIsDynamic következőre True: . A tömb írásakor meg kell egyeznie a tömb olvasási módjával; ha a leíróval együtt olvassa, meg kell írnia a leírót. A leíró megadja a tömb rangját, méretét és alsó határát az egyes rangokhoz. Hossza 2 és 8-szorosa a méretek számának: (2 + 8 * NumberOfDimensions). A függvény záradéka RecordLength által FileOpen megadott rekordhossznak nagyobbnak vagy egyenlőnek kell lennie a tömbadatok és a tömbleíró írásához szükséges bájtok összegével. Az alábbi tömbdeklarációhoz például 218 bájt szükséges, amikor a tömb lemezre van írva.

    Dim MyArray(4, 9) As Integer
    
  • Ha a megírt változó bármilyen más típusú változó (nem változó hosszúságú sztring vagy objektum), FilePut csak a változó adatait írja. A függvény záradékában RecordLength megadott FileOpen rekordhossznak nagyobbnak vagy egyenlőnek kell lennie az írott adatok hosszánál.

  • FilePut úgy írja a struktúrák elemeit, mintha mindegyik külön-külön lett volna megírva, kivéve, hogy nincs párnázás az elemek között. Az VBFixedString attribútum a struktúrák sztringmezőire alkalmazható, hogy a lemezre írott sztring méretét jelezze.

    Note

    Az attribútum által VBFixedString megadottnál több bájttal rendelkező sztringmezők csonkulnak a lemezre írásakor,

Bináris mód

A módban megnyitott Binary fájlokra a Random legtöbb módszabály érvényes, néhány kivétellel. A módban megnyitott Binary fájlokra vonatkozó alábbi szabályok eltérnek a mód szabályaitól Random :

  • A RecordLength függvény záradékának FileOpen nincs hatása. FilePut Az összes változót egybefüggően, azaz a rekordok közötti kitöltés nélkül írja a lemezre.

  • A struktúra FilePut tömbön kívüli tömbjeihez csak az adatokat írja. Nincs leíró megírva.

  • FilePut Olyan változó hosszúságú sztringeket ír, amelyek nem a struktúrák elemei a két bájt hosszúságú leíró nélkül. A megírt bájtok száma megegyezik a sztringben szereplő karakterek számával. A következő utasítások például 11 bájtot írnak az 1-es fájlszámra:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • A függvény használatával FilePut fájlba történő íráshoz hozzáférésre van szükség Write az FileIOPermissionAccess enumerálásból.

Lásd még

A következőre érvényes:

FilePut(Int32, Char, Int64)

Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb

Adatokat ír egy változóból egy lemezfájlba. A My funkció jobb hatékonyságot és teljesítményt biztosít a fájl I/O-műveletekben, mint FilePuta . További információért lásd 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)

Paraméterek

FileNumber
Int32

Kötelező. Bármely érvényes fájlszám.

Value
Char

Kötelező. Érvényes változónév, amely lemezre írt adatokat tartalmaz.

RecordNumber
Int64

Optional. Rekordszám (Random módfájlok) vagy bájtszám (Binary módfájlok), amelyeknél az írás elindul.

Kivételek

RecordNumber < 1 és nem egyenlő -1-nek.

A fájlmód érvénytelen.

Példák

Ez a példa a függvény használatával FilePut ír adatokat egy fájlba. A rendszer öt rekordot ír a fájlba 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

Megjegyzések

FilePut csak és RandomBinary módban érvényes.

Az adatok írása FilePut általában egy fájlból történik a használatával FileGet.

A fájl első rekordja vagy bájtja az 1. pozícióban van, a második rekord vagy bájt a 2. pozícióban van stb. Ha kihagyja RecordNumbera következő rekordot vagy bájtot az utolsó FileGet vagy függvény után, FilePut vagy az utolsó Seek függvény mutat rá, meg lesz írva.

Az StringIsFixedLength argumentum azt határozza meg, hogy a függvény változóként vagy rögzített hosszként értelmezi-e a sztringeket. FilePutnem írja meg a hosszleírót, ha az argumentum .True Ha ezt StringIsFixedLengthhasználja = TrueFilePut, ugyanezt FileGetkell tennie, és meg kell győződnie arról, hogy a sztring inicializálva van a várt hosszúságra.

Véletlenszerű mód

A módban megnyitott Random fájlokra a következő szabályok vonatkoznak:

  • Ha a megírt adatok hossza kisebb, mint a függvény záradékában RecordLengthFileOpen megadott hossz, FilePut a rekordhossz határvonalán további rekordokat ír. Az egyik rekord vége és a következő rekord kezdete közötti térköz a fájlpuffer meglévő tartalmával van elválasztva. Mivel a kitöltési adatok mennyisége nem határozható meg bizonyossággal, általában jó ötlet, ha a rekord hossza megegyezik a megírt adatok hosszával. Ha a megírt adatok hossza nagyobb, mint a függvény záradékában RecordLengthFileOpen megadott hossz, kivételt ad a rendszer.

  • Ha a megírt változó egy sztring, FilePut írjon egy két bájtos leírót, amely tartalmazza a karakterlánc hosszát, majd megírja a változóba kerülő adatokat. Ezért a függvény záradékában RecordLength megadott FileOpen rekordhossznak legalább két bájttal nagyobbnak kell lennie, mint a sztring tényleges hossza.

  • Ha a megírt változó egy numerikus típust tartalmazó objektum, FilePut két bájtot ír, amely azonosítja az VarType objektumot, majd megírja a változót. Ha például egy egész számot tartalmazó objektumot ír, hat bájtot ír: két bájtot, FilePut amelyek () néven VarType(3)Integerazonosítják az objektumot, és négy bájtot, amelyek tartalmazzák az adatokat. A függvény paramétere RecordLength által FileOpen megadott rekordhossznak legalább két bájttal nagyobbnak kell lennie, mint a változó tárolásához szükséges bájtok tényleges száma.

  • Ha a megírt változó egy sztringet tartalmazó objektum, FilePut egy két bájtos leírót ír, amely azonosítja az VarType(8) objektumot, egy két bájtos leírót, amely a sztring hosszát jelzi, majd megírja a sztringadatokat. A függvény paramétere RecordLength által FileOpen megadott rekordhossznak legalább négy bájttal nagyobbnak kell lennie, mint a sztring tényleges hossza. Ha leíró nélkül szeretne sztringet elhelyezni, akkor a paraméternek True kell átadniaStringIsFixedLength, és a beolvasott sztringnek a megfelelő hosszúságúnak kell lennie.

  • Ha a megírt változó tömb, választhatja, hogy a tömb méretéhez és méretéhez írjon-e leírót. Visual Basic 6.0-s és korábbi verziók a fájlleírót dinamikus tömbhöz írják, rögzített méretű tömbhöz azonban nem. Visual Basic 2005 alapértelmezés szerint nem írja meg a leírót. A leíró írásához állítsa a paramétert a ArrayIsDynamic következőre True: . A tömb írásakor meg kell egyeznie a tömb olvasási módjával; ha a leíróval együtt olvassa, meg kell írnia a leírót. A leíró megadja a tömb rangját, méretét és alsó határát az egyes rangokhoz. Hossza 2 és 8-szorosa a méretek számának: (2 + 8 * NumberOfDimensions). A függvény záradéka RecordLength által FileOpen megadott rekordhossznak nagyobbnak vagy egyenlőnek kell lennie a tömbadatok és a tömbleíró írásához szükséges bájtok összegével. Az alábbi tömbdeklarációhoz például 218 bájt szükséges, amikor a tömb lemezre van írva.

    Dim MyArray(4, 9) As Integer
    
  • Ha a megírt változó bármilyen más típusú változó (nem változó hosszúságú sztring vagy objektum), FilePut csak a változó adatait írja. A függvény záradékában RecordLength megadott FileOpen rekordhossznak nagyobbnak vagy egyenlőnek kell lennie az írott adatok hosszánál.

  • FilePut úgy írja a struktúrák elemeit, mintha mindegyik külön-külön lett volna megírva, kivéve, hogy nincs párnázás az elemek között. Az VBFixedString attribútum a struktúrák sztringmezőire alkalmazható, hogy a lemezre írott sztring méretét jelezze.

    Note

    Az attribútum által VBFixedString megadottnál több bájttal rendelkező sztringmezők csonkulnak a lemezre írásakor,

Bináris mód

A módban megnyitott Binary fájlokra a Random legtöbb módszabály érvényes, néhány kivétellel. A módban megnyitott Binary fájlokra vonatkozó alábbi szabályok eltérnek a mód szabályaitól Random :

  • A RecordLength függvény záradékának FileOpen nincs hatása. FilePut Az összes változót egybefüggően, azaz a rekordok közötti kitöltés nélkül írja a lemezre.

  • A struktúra FilePut tömbön kívüli tömbjeihez csak az adatokat írja. Nincs leíró megírva.

  • FilePut Olyan változó hosszúságú sztringeket ír, amelyek nem a struktúrák elemei a két bájt hosszúságú leíró nélkül. A megírt bájtok száma megegyezik a sztringben szereplő karakterek számával. A következő utasítások például 11 bájtot írnak az 1-es fájlszámra:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • A függvény használatával FilePut fájlba történő íráshoz hozzáférésre van szükség Write az FileIOPermissionAccess enumerálásból.

Lásd még

A következőre érvényes:

FilePut(Int32, Byte, Int64)

Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb

Adatokat ír egy változóból egy lemezfájlba. A My funkció jobb hatékonyságot és teljesítményt biztosít a fájl I/O-műveletekben, mint FilePuta . További információért lásd 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)

Paraméterek

FileNumber
Int32

Kötelező. Bármely érvényes fájlszám.

Value
Byte

Kötelező. Érvényes változónév, amely lemezre írt adatokat tartalmaz.

RecordNumber
Int64

Optional. Rekordszám (Random módfájlok) vagy bájtszám (Binary módfájlok), amelyeknél az írás elindul.

Kivételek

RecordNumber < 1 és nem egyenlő -1-nek.

A fájlmód érvénytelen.

Példák

Ez a példa a függvény használatával FilePut ír adatokat egy fájlba. A rendszer öt rekordot ír a fájlba 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

Megjegyzések

FilePut csak és RandomBinary módban érvényes.

Az adatok írása FilePut általában egy fájlból történik a használatával FileGet.

A fájl első rekordja vagy bájtja az 1. pozícióban van, a második rekord vagy bájt a 2. pozícióban van stb. Ha kihagyja RecordNumbera következő rekordot vagy bájtot az utolsó FileGet vagy függvény után, FilePut vagy az utolsó Seek függvény mutat rá, meg lesz írva.

Az StringIsFixedLength argumentum azt határozza meg, hogy a függvény változóként vagy rögzített hosszként értelmezi-e a sztringeket. FilePutnem írja meg a hosszleírót, ha az argumentum .True Ha ezt StringIsFixedLengthhasználja = TrueFilePut, ugyanezt FileGetkell tennie, és meg kell győződnie arról, hogy a sztring inicializálva van a várt hosszúságra.

Véletlenszerű mód

A módban megnyitott Random fájlokra a következő szabályok vonatkoznak:

  • Ha a megírt adatok hossza kisebb, mint a függvény záradékában RecordLengthFileOpen megadott hossz, FilePut a rekordhossz határvonalán további rekordokat ír. Az egyik rekord vége és a következő rekord kezdete közötti térköz a fájlpuffer meglévő tartalmával van elválasztva. Mivel a kitöltési adatok mennyisége nem határozható meg bizonyossággal, általában jó ötlet, ha a rekord hossza megegyezik a megírt adatok hosszával. Ha a megírt adatok hossza nagyobb, mint a függvény záradékában RecordLengthFileOpen megadott hossz, kivételt ad a rendszer.

  • Ha a megírt változó egy sztring, FilePut írjon egy két bájtos leírót, amely tartalmazza a karakterlánc hosszát, majd megírja a változóba kerülő adatokat. Ezért a függvény záradékában RecordLength megadott FileOpen rekordhossznak legalább két bájttal nagyobbnak kell lennie, mint a sztring tényleges hossza.

  • Ha a megírt változó egy numerikus típust tartalmazó objektum, FilePut két bájtot ír, amely azonosítja az VarType objektumot, majd megírja a változót. Ha például egy egész számot tartalmazó objektumot ír, hat bájtot ír: két bájtot, FilePut amelyek () néven VarType(3)Integerazonosítják az objektumot, és négy bájtot, amelyek tartalmazzák az adatokat. A függvény paramétere RecordLength által FileOpen megadott rekordhossznak legalább két bájttal nagyobbnak kell lennie, mint a változó tárolásához szükséges bájtok tényleges száma.

  • Ha a megírt változó egy sztringet tartalmazó objektum, FilePut egy két bájtos leírót ír, amely azonosítja az VarType(8) objektumot, egy két bájtos leírót, amely a sztring hosszát jelzi, majd megírja a sztringadatokat. A függvény paramétere RecordLength által FileOpen megadott rekordhossznak legalább négy bájttal nagyobbnak kell lennie, mint a sztring tényleges hossza. Ha leíró nélkül szeretne sztringet elhelyezni, akkor a paraméternek True kell átadniaStringIsFixedLength, és a beolvasott sztringnek a megfelelő hosszúságúnak kell lennie.

  • Ha a megírt változó tömb, választhatja, hogy a tömb méretéhez és méretéhez írjon-e leírót. Visual Basic 6.0-s és korábbi verziók a fájlleírót dinamikus tömbhöz írják, rögzített méretű tömbhöz azonban nem. Visual Basic 2005 alapértelmezés szerint nem írja meg a leírót. A leíró írásához állítsa a paramétert a ArrayIsDynamic következőre True: . A tömb írásakor meg kell egyeznie a tömb olvasási módjával; ha a leíróval együtt olvassa, meg kell írnia a leírót. A leíró megadja a tömb rangját, méretét és alsó határát az egyes rangokhoz. Hossza 2 és 8-szorosa a méretek számának: (2 + 8 * NumberOfDimensions). A függvény záradéka RecordLength által FileOpen megadott rekordhossznak nagyobbnak vagy egyenlőnek kell lennie a tömbadatok és a tömbleíró írásához szükséges bájtok összegével. Az alábbi tömbdeklarációhoz például 218 bájt szükséges, amikor a tömb lemezre van írva.

    Dim MyArray(4, 9) As Integer
    
  • Ha a megírt változó bármilyen más típusú változó (nem változó hosszúságú sztring vagy objektum), FilePut csak a változó adatait írja. A függvény záradékában RecordLength megadott FileOpen rekordhossznak nagyobbnak vagy egyenlőnek kell lennie az írott adatok hosszánál.

  • FilePut úgy írja a struktúrák elemeit, mintha mindegyik külön-külön lett volna megírva, kivéve, hogy nincs párnázás az elemek között. Az VBFixedString attribútum a struktúrák sztringmezőire alkalmazható, hogy a lemezre írott sztring méretét jelezze.

    Note

    Az attribútum által VBFixedString megadottnál több bájttal rendelkező sztringmezők csonkulnak a lemezre írásakor,

Bináris mód

A módban megnyitott Binary fájlokra a Random legtöbb módszabály érvényes, néhány kivétellel. A módban megnyitott Binary fájlokra vonatkozó alábbi szabályok eltérnek a mód szabályaitól Random :

  • A RecordLength függvény záradékának FileOpen nincs hatása. FilePut Az összes változót egybefüggően, azaz a rekordok közötti kitöltés nélkül írja a lemezre.

  • A struktúra FilePut tömbön kívüli tömbjeihez csak az adatokat írja. Nincs leíró megírva.

  • FilePut Olyan változó hosszúságú sztringeket ír, amelyek nem a struktúrák elemei a két bájt hosszúságú leíró nélkül. A megírt bájtok száma megegyezik a sztringben szereplő karakterek számával. A következő utasítások például 11 bájtot írnak az 1-es fájlszámra:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • A függvény használatával FilePut fájlba történő íráshoz hozzáférésre van szükség Write az FileIOPermissionAccess enumerálásból.

Lásd még

A következőre érvényes:

FilePut(Int32, Boolean, Int64)

Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb

Adatokat ír egy változóból egy lemezfájlba. A My funkció jobb hatékonyságot és teljesítményt biztosít a fájl I/O-műveletekben, mint FilePuta . További információért lásd 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)

Paraméterek

FileNumber
Int32

Kötelező. Bármely érvényes fájlszám.

Value
Boolean

Kötelező. Érvényes változónév, amely lemezre írt adatokat tartalmaz.

RecordNumber
Int64

Optional. Rekordszám (Random módfájlok) vagy bájtszám (Binary módfájlok), amelyeknél az írás elindul.

Kivételek

RecordNumber < 1 és nem egyenlő -1-nek.

A fájlmód érvénytelen.

Példák

Ez a példa a függvény használatával FilePut ír adatokat egy fájlba. A rendszer öt rekordot ír a fájlba 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

Megjegyzések

FilePut csak és RandomBinary módban érvényes.

Az adatok írása FilePut általában egy fájlból történik a használatával FileGet.

A fájl első rekordja vagy bájtja az 1. pozícióban van, a második rekord vagy bájt a 2. pozícióban van stb. Ha kihagyja RecordNumbera következő rekordot vagy bájtot az utolsó FileGet vagy függvény után, FilePut vagy az utolsó Seek függvény mutat rá, meg lesz írva.

Az StringIsFixedLength argumentum azt határozza meg, hogy a függvény változóként vagy rögzített hosszként értelmezi-e a sztringeket. FilePutnem írja meg a hosszleírót, ha az argumentum .True Ha ezt StringIsFixedLengthhasználja = TrueFilePut, ugyanezt FileGetkell tennie, és meg kell győződnie arról, hogy a sztring inicializálva van a várt hosszúságra.

Véletlenszerű mód

A módban megnyitott Random fájlokra a következő szabályok vonatkoznak:

  • Ha a megírt adatok hossza kisebb, mint a függvény záradékában RecordLengthFileOpen megadott hossz, FilePut a rekordhossz határvonalán további rekordokat ír. Az egyik rekord vége és a következő rekord kezdete közötti térköz a fájlpuffer meglévő tartalmával van elválasztva. Mivel a kitöltési adatok mennyisége nem határozható meg bizonyossággal, általában jó ötlet, ha a rekord hossza megegyezik a megírt adatok hosszával. Ha a megírt adatok hossza nagyobb, mint a függvény záradékában RecordLengthFileOpen megadott hossz, kivételt ad a rendszer.

  • Ha a megírt változó egy sztring, FilePut írjon egy két bájtos leírót, amely tartalmazza a karakterlánc hosszát, majd megírja a változóba kerülő adatokat. Ezért a függvény záradékában RecordLength megadott FileOpen rekordhossznak legalább két bájttal nagyobbnak kell lennie, mint a sztring tényleges hossza.

  • Ha a megírt változó egy numerikus típust tartalmazó objektum, FilePut két bájtot ír, amely azonosítja az VarType objektumot, majd megírja a változót. Ha például egy egész számot tartalmazó objektumot ír, hat bájtot ír: két bájtot, FilePut amelyek () néven VarType(3)Integerazonosítják az objektumot, és négy bájtot, amelyek tartalmazzák az adatokat. A függvény paramétere RecordLength által FileOpen megadott rekordhossznak legalább két bájttal nagyobbnak kell lennie, mint a változó tárolásához szükséges bájtok tényleges száma.

  • Ha a megírt változó egy sztringet tartalmazó objektum, FilePut egy két bájtos leírót ír, amely azonosítja az VarType(8) objektumot, egy két bájtos leírót, amely a sztring hosszát jelzi, majd megírja a sztringadatokat. A függvény paramétere RecordLength által FileOpen megadott rekordhossznak legalább négy bájttal nagyobbnak kell lennie, mint a sztring tényleges hossza. Ha leíró nélkül szeretne sztringet elhelyezni, akkor a paraméternek True kell átadniaStringIsFixedLength, és a beolvasott sztringnek a megfelelő hosszúságúnak kell lennie.

  • Ha a megírt változó tömb, választhatja, hogy a tömb méretéhez és méretéhez írjon-e leírót. Visual Basic 6.0-s és korábbi verziók a fájlleírót dinamikus tömbhöz írják, rögzített méretű tömbhöz azonban nem. Visual Basic 2005 alapértelmezés szerint nem írja meg a leírót. A leíró írásához állítsa a paramétert a ArrayIsDynamic következőre True: . A tömb írásakor meg kell egyeznie a tömb olvasási módjával; ha a leíróval együtt olvassa, meg kell írnia a leírót. A leíró megadja a tömb rangját, méretét és alsó határát az egyes rangokhoz. Hossza 2 és 8-szorosa a méretek számának: (2 + 8 * NumberOfDimensions). A függvény záradéka RecordLength által FileOpen megadott rekordhossznak nagyobbnak vagy egyenlőnek kell lennie a tömbadatok és a tömbleíró írásához szükséges bájtok összegével. Az alábbi tömbdeklarációhoz például 218 bájt szükséges, amikor a tömb lemezre van írva.

    Dim MyArray(4, 9) As Integer
    
  • Ha a megírt változó bármilyen más típusú változó (nem változó hosszúságú sztring vagy objektum), FilePut csak a változó adatait írja. A függvény záradékában RecordLength megadott FileOpen rekordhossznak nagyobbnak vagy egyenlőnek kell lennie az írott adatok hosszánál.

  • FilePut úgy írja a struktúrák elemeit, mintha mindegyik külön-külön lett volna megírva, kivéve, hogy nincs párnázás az elemek között. Az VBFixedString attribútum a struktúrák sztringmezőire alkalmazható, hogy a lemezre írott sztring méretét jelezze.

    Note

    Az attribútum által VBFixedString megadottnál több bájttal rendelkező sztringmezők csonkulnak a lemezre írásakor,

Bináris mód

A módban megnyitott Binary fájlokra a Random legtöbb módszabály érvényes, néhány kivétellel. A módban megnyitott Binary fájlokra vonatkozó alábbi szabályok eltérnek a mód szabályaitól Random :

  • A RecordLength függvény záradékának FileOpen nincs hatása. FilePut Az összes változót egybefüggően, azaz a rekordok közötti kitöltés nélkül írja a lemezre.

  • A struktúra FilePut tömbön kívüli tömbjeihez csak az adatokat írja. Nincs leíró megírva.

  • FilePut Olyan változó hosszúságú sztringeket ír, amelyek nem a struktúrák elemei a két bájt hosszúságú leíró nélkül. A megírt bájtok száma megegyezik a sztringben szereplő karakterek számával. A következő utasítások például 11 bájtot írnak az 1-es fájlszámra:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • A függvény használatával FilePut fájlba történő íráshoz hozzáférésre van szükség Write az FileIOPermissionAccess enumerálásból.

Lásd még

A következőre érvényes:

FilePut(Int32, Int16, Int64)

Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb
Forrás:
FileSystem.vb

Adatokat ír egy változóból egy lemezfájlba. A My funkció jobb hatékonyságot és teljesítményt biztosít a fájl I/O-műveletekben, mint FilePuta . További információért lásd 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)

Paraméterek

FileNumber
Int32

Kötelező. Bármely érvényes fájlszám.

Value
Int16

Kötelező. Érvényes változónév, amely lemezre írt adatokat tartalmaz.

RecordNumber
Int64

Optional. Rekordszám (Random módfájlok) vagy bájtszám (Binary módfájlok), amelyeknél az írás elindul.

Kivételek

RecordNumber < 1 és nem egyenlő -1-nek.

A fájlmód érvénytelen.

Példák

Ez a példa a függvény használatával FilePut ír adatokat egy fájlba. A rendszer öt rekordot ír a fájlba 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

Megjegyzések

FilePut csak és RandomBinary módban érvényes.

Az adatok írása FilePut általában egy fájlból történik a használatával FileGet.

A fájl első rekordja vagy bájtja az 1. pozícióban van, a második rekord vagy bájt a 2. pozícióban van stb. Ha kihagyja RecordNumbera következő rekordot vagy bájtot az utolsó FileGet vagy függvény után, FilePut vagy az utolsó Seek függvény mutat rá, meg lesz írva.

Az StringIsFixedLength argumentum azt határozza meg, hogy a függvény változóként vagy rögzített hosszként értelmezi-e a sztringeket. FilePutnem írja meg a hosszleírót, ha az argumentum .True Ha ezt StringIsFixedLengthhasználja = TrueFilePut, ugyanezt FileGetkell tennie, és meg kell győződnie arról, hogy a sztring inicializálva van a várt hosszúságra.

Véletlenszerű mód

A módban megnyitott Random fájlokra a következő szabályok vonatkoznak:

  • Ha a megírt adatok hossza kisebb, mint a függvény záradékában RecordLengthFileOpen megadott hossz, FilePut a rekordhossz határvonalán további rekordokat ír. Az egyik rekord vége és a következő rekord kezdete közötti térköz a fájlpuffer meglévő tartalmával van elválasztva. Mivel a kitöltési adatok mennyisége nem határozható meg bizonyossággal, általában jó ötlet, ha a rekord hossza megegyezik a megírt adatok hosszával. Ha a megírt adatok hossza nagyobb, mint a függvény záradékában RecordLengthFileOpen megadott hossz, kivételt ad a rendszer.

  • Ha a megírt változó egy sztring, FilePut írjon egy két bájtos leírót, amely tartalmazza a karakterlánc hosszát, majd megírja a változóba kerülő adatokat. Ezért a függvény záradékában RecordLength megadott FileOpen rekordhossznak legalább két bájttal nagyobbnak kell lennie, mint a sztring tényleges hossza.

  • Ha a megírt változó egy numerikus típust tartalmazó objektum, FilePut két bájtot ír, amely azonosítja az VarType objektumot, majd megírja a változót. Ha például egy egész számot tartalmazó objektumot ír, hat bájtot ír: két bájtot, FilePut amelyek () néven VarType(3)Integerazonosítják az objektumot, és négy bájtot, amelyek tartalmazzák az adatokat. A függvény paramétere RecordLength által FileOpen megadott rekordhossznak legalább két bájttal nagyobbnak kell lennie, mint a változó tárolásához szükséges bájtok tényleges száma.

  • Ha a megírt változó egy sztringet tartalmazó objektum, FilePut egy két bájtos leírót ír, amely azonosítja azVarType(8) objektumot, egy két bájtos leírót, amely a sztring hosszát jelzi, majd megírja a sztringadatokat. A függvény paramétere RecordLength által FileOpen megadott rekordhossznak legalább négy bájttal nagyobbnak kell lennie, mint a sztring tényleges hossza. Ha leíró nélkül szeretne sztringet elhelyezni, akkor a paraméternek True kell átadniaStringIsFixedLength, és a beolvasott sztringnek a megfelelő hosszúságúnak kell lennie.

  • Ha a megírt változó tömb, választhatja, hogy a tömb méretéhez és méretéhez írjon-e leírót. Visual Basic 6.0-s és korábbi verziók a fájlleírót dinamikus tömbhöz írják, rögzített méretű tömbhöz azonban nem. Visual Basic 2005 alapértelmezés szerint nem írja meg a leírót. A leíró írásához állítsa a paramétert a ArrayIsDynamic következőre True: . A tömb írásakor meg kell egyeznie a tömb olvasási módjával; ha a leíróval együtt olvassa, meg kell írnia a leírót. A leíró megadja a tömb rangját, méretét és alsó határát az egyes rangokhoz. Hossza 2 és 8-szorosa a méretek számának: (2 + 8 * NumberOfDimensions). A függvény záradéka RecordLength által FileOpen megadott rekordhossznak nagyobbnak vagy egyenlőnek kell lennie a tömbadatok és a tömbleíró írásához szükséges bájtok összegével. Az alábbi tömbdeklarációhoz például 218 bájt szükséges, amikor a tömb lemezre van írva.

    Dim MyArray(4, 9) As Integer
    
  • Ha a megírt változó bármilyen más típusú változó (nem változó hosszúságú sztring vagy objektum), FilePut csak a változó adatait írja. A függvény záradékában RecordLength megadott FileOpen rekordhossznak nagyobbnak vagy egyenlőnek kell lennie az írott adatok hosszánál.

  • FilePut úgy írja a struktúrák elemeit, mintha mindegyik külön-külön lett volna megírva, kivéve, hogy nincs párnázás az elemek között. Az VBFixedString attribútum a struktúrák sztringmezőire alkalmazható, hogy a lemezre írott sztring méretét jelezze.

    Note

    Az attribútum által VBFixedString megadottnál több bájttal rendelkező sztringmezők csonkulnak a lemezre írásakor,

Bináris mód

A módban megnyitott Binary fájlokra a Random legtöbb módszabály érvényes, néhány kivétellel. A módban megnyitott Binary fájlokra vonatkozó alábbi szabályok eltérnek a mód szabályaitól Random :

  • A RecordLength függvény záradékának FileOpen nincs hatása. FilePut Az összes változót egybefüggően, azaz a rekordok közötti kitöltés nélkül írja a lemezre.

  • A struktúra FilePut tömbön kívüli tömbjeihez csak az adatokat írja. Nincs leíró megírva.

  • FilePut Olyan változó hosszúságú sztringeket ír, amelyek nem a struktúrák elemei a két bájt hosszúságú leíró nélkül. A megírt bájtok száma megegyezik a sztringben szereplő karakterek számával. A következő utasítások például 11 bájtot írnak az 1-es fájlszámra:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • A függvény használatával FilePut fájlba történő íráshoz hozzáférésre van szükség Write az FileIOPermissionAccess enumerálásból.

Lásd még

A következőre érvényes: