VBFixedString Attribute |
Microsoft.VisualBasic.VBFixedStringAttribute
Field
Defines a fixed-length string. It is the rough equivalent of the VB 6 declaration:
Dim s As String * length
It can be used to define fixed-length strings within structures, particularly structures that are to be passed to Win32 API functions, as well as to define fixed length strings to be written to and read from random access files.
New( length )
The length of the string
Read-only. The length of the string. Its value is set by the length parameter in the class constructor.
The example creates a random access file, which must contain fixed-length records, and uses the <VBFixedString> attribute to create a fixed-length string of 10 characters . This ensures that all records will be a uniform length. Without the <VBFixedString> attribute, the example an IOException exception because of bad record length.
Option Strict Off Imports Microsoft.VisualBasic Imports System Module modMain Structure Person <vbFixedString(10)> Public Name As String Public Age As Short End Structure Public Sub Main Dim APerson As New Person( ) Dim fr As Integer = FreeFile( ) FileOpen(fr, ".\person.txt", OpenMode.Random, OpenAccess.ReadWrite, _ OpenShare.Default, len(aperson)) APerson.Name = "John" APerson.Age = 31 FilePut(fr, APerson, 1) APerson.Name = "Jane" APerson.Age = 27 FilePut(fr, APerson, 2) FileGet(fr, APerson, 2) Console.WriteLine(Trim(APerson.Name) & " is " & APerson.Age) FileClose(fr) End Sub End Module