
正文
vb.net标签未声明 vs2010未声明标识符
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
VB.NET 我在Class里面用Public关键词写的函数和变量为什么在窗体里面调用时被提示未声明?
猜想你使用时是用类名.方法名?
改成(new 类名()).方法名试试。
相关问答
Q1: 请问为什么我公司的vb.net源码到了我的电脑上运行就会显示好多未声明啊?
用API 函数GetVolumeInformation得到的不是硬盘的序列号!!!
BOOL GetVolumeInformation(
LPCTSTR lpRootPathName,
LPTSTR lpVolumeNameBuffer,
DWORD nVolumeNameSize,
LPDWORD lpVolumeSerialNumber,
LPDWORD lpMaximumComponentLength,
LPDWORD lpFileSystemFlags,
LPTSTR lpFileSystemNameBuffer,
DWORD nFileSystemNameSize
);
看看英文啊:VolumeSerialNumber!得到的只是卷区序列号!
硬盘的序列号应该是
Drive Model Number________________: WDC WD400EB-00CPF0
Drive Serial Number_______________: WD-WCAATF083586
Drive Controller Revision Number__: 06.04G06
Controller Buffer Size on Drive___: 2097152 bytes
Drive Type________________________: Fixed
Drive Size________________________: 40020664320 bytes
中:
Drive Serial Number_______________: WD-WCAATF083586 这才是硬盘Serial Number!!!!
这个号是不会因为你格式化硬盘而改动,也不是网上流传的修改工具能改的,(其实网上流传的修改工具的也不过是卷区号而已!)
建议用 DiskID.dll或DiskID32.dll来获取
用diskid.dll和disk32.dll获得硬盘序列号
1.调用diskid.dll实现:
Option Explicit
Private Declare Function IsWinNT Lib "DiskID.DLL" () As Long
Private Declare Function ReadPhysicalDrive9X Lib "DiskID.DLL" (driveID As Long, buffer As Long, bufLen As Long) As Long
Private Declare Function ReadPhysicalDriveInNT Lib "DiskID.DLL" (driveID As Long, buffer As Long, bufLen As Long) As Long
Private Type DRIVER_INFO_OK
ModalNumber(39) As Byte
SerialNumber(19) As Byte
ControlNum(7) As Byte
DriveType As Long
Cylinders As Long
Heads As Long
Sectors As Long
End Type
Private Sub Command1_Click()
Dim x As DRIVER_INFO_OK
Dim i As Long
If IsWinNT = 1 Then
i = ReadPhysicalDriveInNT(ByVal 0, ByVal VarPtr(x), ByVal 256)
Else
i = ReadPhysicalDrive9X(ByVal 0, ByVal VarPtr(x), ByVal 256)
End If
Dim s As String
s = StrConv(x.ModalNumber, vbUnicode)
s = Left(s, InStr(1, s, Chr(0)) - 1)
MsgBox "硬件厂商代码为:" + s
s = StrConv(x.SerialNumber, vbUnicode)
s = Left(s, InStr(1, s, Chr(0)) - 1)
MsgBox "硬盘序列号为:" + s
End Sub
2.调用diskid32.dll实现:
Option Explicit
Private Declare Function DiskID32 Lib "DiskID32.DLL" (ByRef DiskModel As Byte, ByRef DiskID As Byte) As Long
Private Sub Command1_Click()
Dim DiskModel(31) As Byte, DiskID(31) As Byte, i As Integer, Model As String, ID As String
If DiskID32(DiskModel(0), DiskID(0)) 1 Then
MsgBox "get diskid32 err"
Exit Sub
End If
For i = 0 To 31
If Chr(DiskModel(i)) Chr(0) Then
Model = Model Chr(DiskModel(i))
End If
If Chr(DiskID(i)) Chr(0) Then
ID = ID Chr(DiskID(i))
End If
Next
MsgBox "硬件产生代码为:" + Model
MsgBox "硬盘序列号为:" + ID
End Sub
说明:diskid.dll可从下载
diskid32.dll可从下载
Q2: vb编程中出现未声明Txet1 是什么意思
窗体上不存在 Text1 这个控件,所以出错。
通常文本框控件在VB6中默认是Text1,而在VB.NET中则是TextBox1,是不是这个错误?如果是,那么你可以把代码中的全部Text1改为TextBox1,或者把文本框控件的名称改为Text1也行。
Q3: vb6.0程序移植到VB.NET后提示“未声明变量“Vaptr””
讲vb.net标签未声明了一堆vb.net标签未声明,看的头晕vb.net标签未声明,勉强看懂了vb.net标签未声明,能不能好好表达自己的问题啊。废话一堆,其实有个标题就好了。vb.net不再使用VarPtr来返回变量的地址了,其实是net不提倡使用指针和地址。
net有了一个新的叫做托管的概念,建议了解一下,net里面的变量地址都是不确定的,生存周期也不确定,是由托管机制来管理内存,程序员不必再纠结于内存的管理而浪费精力。
解决方法vb.net标签未声明:可以使用byref声明为整型变量直接将变量地址传过去就好,不用声明为什么指针的。
或者可以试试下面这个:
GCHandle 类的 AddressOfPinnedHandle 方法可以提供类似的功能.
Q4: vb.net 中 未声明名称“instr” 是什么情况? 谢谢解答!!!
返回的Variant(长),指定一个字符串在另一个字符串在第一的位置。
语法
INSTR([开始]字符串1,字符串[比较])
InStr函数的语法有以下参数:
部分
启动可选参数。数值表达式,设置每次搜索的起点。如果从第一个字符的位置被删去。如果start包含Null,将发生错误。如果指定了compare参数,你必须有一个起始参数。
string1中所需的参数。接受搜索字符串表达式。
字符串所需的参数。搜索的字符串表达式。
比较可选参数。指定的字符串比较。如果比较是空的,就会发生错误。如果省略比较选项比较设置决定比较的类型。
集
比较参数设置:
恒定值说明
vbUseCompareOption -1用Option Compare语句设置为执行的比较。的执行0
描述vbBinaryCompare 0二进制比较。 / vbTextCompare 1进行比较,根据原来的。
vbDatabaseCompare 2仅适用于Microsoft Access中,根据数据库中的信息进行比较。
返回值
如果InStr返回
string1是零长度0
STRING1为Null空
字符串长度为零开始字符串是空空
字符串找不到
在string1中找到string2中找到位置
开始字符串0
描述
INSTRB功能作用于在字符串中包含的数据字节。因此INSTRB返回的字节位置,而不是字符位置。
INSTR函数示例
本示例使用InStr函数来找到一个字符串在另一个字符串中第一次出现的。
暗淡的searchstring SearchChar MyPos
搜寻字串=“XXpXXpXXPXXP”'被搜索的字符串。该,
SearchChar =“P”'要查找字符串“P”。
“从一开始的第四个字符,文本比较看。返回值是6(小写对)。
'小写p,大写的P在文字下是相同的。
MyPos = INSTR(4,搜寻字串,SearchChar 1),
“开放二进制比较从第一个字符找到。 9(大写P)的返回值。
'小写p和大写的P在二进制比较是不一样的。在,
MyPos = INSTR(1搜寻字串,SearchChar 0)
的默认,而不是二进制比较(最后一个参数可省略)。
MyPos = INSTR(搜寻字串SearchChar),返回到9。
MyPos = INSTR(1,搜寻字串,“W”)'返回0。
关于鹿养生的知识非常乐意与您分享
Q5: VB.NET里面的SerialPort1怎么用不了,未声明是什么意思
一般SerialPort1很少会有未声明vb.net标签未声明的vb.net标签未声明,没有看到vb.net标签未声明你的代码vb.net标签未声明我初步判定你可能没有添加SerialPort1这个控件
关于vb.net标签未声明和vs2010未声明标识符的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

![【电子书】[外文书籍] 《尼尔斯骑鹅旅行记(典藏版)(套装共2册)》[塞尔玛·拉格勒][epub+mobi+azw3] 【电子书】[外文书籍] 《尼尔斯骑鹅旅行记(典藏版)(套装共2册)》[塞尔玛·拉格勒][epub+mobi+azw3]](https://www.04ip.com/template/qe/style/noimg/5.jpg)
![【电子书】[科学技术] 《北洋夜行记》[金醉][epub+mobi] 【电子书】[科学技术] 《北洋夜行记》[金醉][epub+mobi]](https://www.04ip.com/template/qe/style/noimg/2.jpg)
![【电子书】[人文传记] 《笨狼的故事:笨狼旅行记 (20周年纪念版)》[汤素兰][epub+mobi+azw3] 【电子书】[人文传记] 《笨狼的故事:笨狼旅行记 (20周年纪念版)》[汤素兰][epub+mobi+azw3]](https://www.04ip.com/template/qe/style/noimg/8.jpg)



