vb.net定长字符串 vb字符串长度代码

vb.net怎样定义定长字符串?急?。。。。?/h2>摘自帮助文档,我也不是很理解
估计只有在Visual Basic 文件输入和输出才有用
示例
Visual Basic复制代码
Structure Person
Public ID As Integer
Public MonthlySalary As Decimal
Public LastReviewDate As Long
VBFixedString(15) Public FirstName As String
VBFixedString(15) Public LastName As String
VBFixedString(15) Public Title As String
VBFixedString(150) Public ReviewComments As String
End Structure
注意
VBFixedStringAttribute 是信息性vb.net定长字符串的属性vb.net定长字符串,不能用于将可变长度字符串转换为固定长度字符串 。此属性的作用是修改那些识别 VBFixedStringAttribute 的方法或 API 调用(如 Len 和 FilePut 函数)使用结构中的字符串以及非局部变量的方式 。请记?。?此属性不会更改字符串本身的实际长度 。
备注
默认情况下,Visual Basic 字符串为可变长度的字符串 。在使用 Visual Basic 文件输入和输出函数(如需要固定长度字符串的 FileGet 和 FilePut)时 , 该属性非常有用 。
注意
VBFixedStringAttribute 属性以字节而不是字符为单位指定字符串长度 。
vb.net怎样定义定长字符串?急?。。。。∩钲?/h2>摘自帮助文档,我也不是很理解
估计只有在Visual Basic 文件输入和输出才有用
示例
Visual Basic复制代码
Structure Person
Public ID As Integer
Public MonthlySalary As Decimal
Public LastReviewDate As Long
VBFixedString(15) Public FirstName As String
VBFixedString(15) Public LastName As String
VBFixedString(15) Public Title As String
VBFixedString(150) Public ReviewComments As String
End Structure
注意
VBFixedStringAttribute 是信息性的属性,不能用于将可变长度字符串转换为固定长度字符串 。此属性的作用是修改那些识别 VBFixedStringAttribute 的方法或 API 调用(如 Len 和 FilePut 函数)使用结构中的字符串以及非局部变量的方式 。请记?。?此属性不会更改字符串本身的实际长度 。
备注
默认情况下 , Visual Basic 字符串为可变长度的字符串 。在使用 Visual Basic 文件输入和输出函数(如需要固定长度字符串的 FileGet 和 FilePut)时,该属性非常有用 。
注意
VBFixedStringAttribute 属性以字节而不是字符为单位指定字符串长度 。

VB.NET网络传输数组和字符串解决方法:
1.字符串内容设置为定长,或者定义一个结束符(或字符串 , 如连续2个0xFF)附加在字符串尾部 , 程序以此方式先以文本方式读取字符串数据 。
2.字符串内容也按照二进制方式发送 。
3.在传输的字符串和二进制数据前附加N字节的标识字节,其中存储发送的字符串和二进制字符串长度 。
方法很多 。
vb.net 定长字符串,如何加载资源中指定语言种类的字符串 。其中每16个连续(stringid连续)vb.net定长字符串的字符串存为一个RT_STRING资源 。在内存中表示为16个变长结构体 。
structrt_string_block{unsignedshortcch;
wchar_tstr[0];};下面这段代码可以加载指定语言的字符串 。返值为0时vb.net定长字符串,表示失败;大于零vb.net定长字符串,结果为字符串的长度(以宽字符记) 。如果vb.net定长字符串你需要ANSI字符串vb.net定长字符串,请使用WideCharToMultiByte来进行转换 。
VB.net将结构体定长字符串转字节数组时怎么丢了一位呢??你搞错了一点:Unicode字符规定 , 每个字符占用两个字节,包括英文和数字,所以你只需将:
MarshalAs(UnmanagedType.ByValTStr, sizeconst:=3) Public s As String
改成:
MarshalAs(UnmanagedType.ByValTStr, sizeconst:=6) Public s As String
即可!
vb6.0 定长字符串问题???DllImport("kernel32.dll", SetLastError:=True) _
Public Shared Function WritePrivateProfileString(ByVal lpAppName As String, _
ByVal lpKeyName As String, _
ByVal lpString As String, _
ByVal lpFileName As String) As Boolean
End Function
DllImport("kernel32.dll", SetLastError:=True) _
Public Shared Function GetPrivateProfileString(ByVal lpAppName As String, _
ByVal lpKeyName As String, _
ByVal lpDefault As String, _
ByVal lpReturnedString As StringBuilder, _
ByVal nSize As Integer, _
ByVal lpFileName As String) As Integer
End Function
把这两个API函数重新声明了再用 。记得加上下面的引用
Imports System.Text
Imports System.Runtime.InteropServices
Dim v =New StringBuilder(20) '你可以当它是特殊的定长字符串(只限于在作为API函数的参数时)
GetPrivateProfileString( "Golbal", "v", "", v, v.Capacity, "E:\22.INI")
Label1.Caption = v.ToString();
【vb.net定长字符串 vb字符串长度代码】关于vb.net定长字符串和vb字符串长度代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读