| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1889 人关注过本帖
标题:求大神解答如何用VB实现根据设备号自动匹配MAC地址
只看楼主 加入收藏
george860811
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-1-5
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
求大神解答如何用VB实现根据设备号自动匹配MAC地址
求各位大神帮我解答。
问题:我想用VB编个SecureCRT 5.1脚本,目的是在弹窗中输入设备号就能自动输入相对应的MAC地址。但是我自己编的脚本只在输入设备号为1时,自动输入相对应MAC:031001。但输入2或者3都直接报错 "错误的设备号,请核对" 。求大神解答
脚本如下:
程序代码:
# $language = "VBScript"
# $interface = "1.0"

 
Sub Main

 On Error Resume Next

 Const ForReading = 1, ForWriting = 2, ForAppending = 8

 Dim fso,MAC1,line,params

 Dim DeviceNo

 Set fso = CreateObject("Scripting.FileSystemObject")

 Set MAC1 = fso.OpenTextFile("c:\2.ini",Forreading, False)

 crt.Screen.Synchronous = True
     

 line = MAC1.ReadLine

 params = Split (line)

 

 crt.Screen.WaitForString "或批处理文件。" 

 DeviceNo = inputbox("请输入设备号","设备号输入对话框") 

 

 If DeviceNo = params(0) Then

 

 crt.Screen.Send params(1) & vbcr

 Else 
   MsgBox "错误的设备号,请核对" 

 
               End If 
    crt.Screen.Synchronous = False    
End Sub


2.ini文件中格式如下:
1 031001
2 031002
3 031003
搜索更多相关主题的帖子: 如何 
2016-01-05 00:49
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
收藏
得分:10 
If DeviceNo = params(0) Then
 
  crt.Screen.Send params(1) & vbcr
  Else
    MsgBox "错误的设备号,请核对"
  
                End If

params(0)是1输入别的都是"错误的设备号,请核对"

无知
2016-01-05 19:00
george860811
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-1-5
收藏
得分:0 
回复 2楼 Artless
没懂大神,请问如何解决
2016-01-05 20:02
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:10 
太久没用 FSO 了,都不记得了。

你程序里,只读了一行,然后针对这行进行判断,判断不对,就立即提示不对,而没有去读后面的行。

程序流程应该是:

打开文件
循环开始,条件是文件未结束
读一行
分解数据
比较,
  如果正确,设置值 跳出循环
  如果错误,不处理
循环结束
判断,如果设置了值,返回值 ,否则就提示错误,返回空。




授人于鱼,不如授人于渔
早已停用QQ了
2016-01-05 21:23
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
Sub Main
 On Error Resume Next
 Const ForReading = 1, ForWriting = 2, ForAppending = 8
 Dim fso,MAC1,line,params
 Dim DeviceNo
 Set fso = CreateObject("Scripting.FileSystemObject")
 Set MAC1 = fso.OpenTextFile("c:\2.ini",Forreading, False)

 DeviceNo = inputbox("请输入设备号","设备号输入对话框")
 
p=""
do while not mac1.atendofstream
   
 line = MAC1.ReadLine
 params = Split (line," ")
 If DeviceNo = params(0) Then
    p=params(1)
    exit do
 End If
loop

mac1.close

if p<>"" then
    msgbox p
' crt.Screen.Synchronous = True
' crt.Screen.WaitForString "或批处理文件。"
'     crt.Screen.Send p & vbcr
else
    msgbox "错误的设备号,请核对"
'    crt.Screen.Synchronous = False   
end if

End Sub

不正确的命令删,我用测试时用不了,就注释了。

授人于鱼,不如授人于渔
早已停用QQ了
2016-01-05 21:38
george860811
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-1-5
收藏
得分:0 
谢谢大神
2016-01-05 22:28
快速回复:求大神解答如何用VB实现根据设备号自动匹配MAC地址
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029413 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved