| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1231 人关注过本帖
标题:请帮忙纠正一下代码错误!
只看楼主 加入收藏
lianyicq
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:26
帖 子:737
专家分:3488
注 册:2013-1-26
收藏
得分:0 
你是每次取temp.txt的一行来搜索是否出现text1中的字符串,如果p不为0,则p为出现目标字符串的位置。然后就要赋text2的值。为什么要在mid前 & 一个text2和vbcrlf呢?

If p <> 0 Then Text2 =  Mid(s, p + Len(Text1.Text) + 1, 5)

我改了一下代码,没出现问题。
程序代码:
Private Sub Timer1_Timer()
Dim pId As Long, pHnd As Long
If Dir("C:\temp.txt") <> "" Then Kill "C:\temp.txt"
pId = Shell("cmd /c netstat -an>>C:\temp.txt", vbMinimizedFocus)
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, 0, pId)
Do
Call GetExitCodeProcess(hProcess, ExitCode)
DoEvents
Loop While ExitCode = STILL_ALIVE
Call CloseHandle(hProcess)
Text1.Text = ""
Open "c:\temp.txt" For Input As #1
Text1.Text = Input(LOF(1), 1)
Close #1

p = InStr(Text1.Text, "177") '在text1中输入查找关键字
If p <> 0 Then Text3.Text = Mid(Text1.Text, p + Len("177") + 1, 2)
If Text3.Text = "80" Then Form1.Caption = "已联接中"

End Sub



大开眼界
2015-02-09 17:23
renxiaoyao36
Rank: 9Rank: 9Rank: 9
来 自:七宝中学
等 级:贵宾
威 望:31
帖 子:347
专家分:1077
注 册:2014-9-18
收藏
得分:7 
我想我知道为什么了
因为你要查找的字符串中,不是用换行隔离的!!!而是用空格!
换行就属于不可见字符,它是有二进制码的,并且和空格的二进制码不同!
所以,把vbcelf去掉,变成 + " " +...
试试看

编程蛋疼的不是枯燥,而是辛辛苦苦编完几百行的代码,运行,“Runtime Error “xxx””。
2015-02-10 09:17
快速回复:请帮忙纠正一下代码错误!
数据加载中...
 
   



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

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