帮忙修改个多线程程序,谢谢各位!

manbu16 2008-09-23 11:03:11
我做的这个程序现在不能多线程,多线程我不懂哈,自己看教程调试了好几次都不行啊,所以现在请会的老兄帮忙我修改一下成多线程的。大概需求如下:

1、使用里面的“批量获取”按钮使程序不会卡死,而且当点击这个按钮的时候程序有序的进行工作。
2、文本框的内容会随字符串的增多而向下滚动。
3、如果不闲麻烦帮忙增加个进度条哈。

嘿嘿,100分哦!!谢谢各位帮忙咯。

我打包的地址放我的空间里:http://www.xnbird.cn/help.rar
小弟保证没有毒!虚心求教!谢谢咯!
...全文
187 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
oo渣渣oo 2008-09-25
  • 打赏
  • 举报
回复
告诉你两个方法,自己研究(我用的是VS2003):

第一种,如果你不需要带参数启动新线程,那就可以这样用:

Private Sub StartNewThread()
Dim thdBank As Threading.Thread
thdBank = New Threading.Thread(AddressOf ConnectToMidBase)
thdBank.Name = "连接进程"
thdBank.Start()
End Sub

Private Sub ConnectToMidBase()
'你要运行的代码写在这里,例如:
MsgBox ("测试测试")
End Sub


第二种,用线程池,一般是需要带参数启动的线程我才用这种方法,但是注意只能带一个参数:

Private Sub StartNewThread()
ThreadPool.QueueUserWorkItem(New Threading.WaitCallback(AddressOf StartCounterProcessing), intIndex)
End Sub

Private Sub StartCounterProcessing(ByVal objIndex As Object)
Dim intIndex As Integer = CInt(objIndex)
......
End Sub

manbu16 2008-09-25
  • 打赏
  • 举报
回复
都快沉了,再顶一下,请懂的朋友帮忙一下咯
brallow 2008-09-24
  • 打赏
  • 举报
回复
你的代码似乎是从某个地址下载文件,然后对其进行分析的一个软件。

试着添加如下代码:

Public Sub MThread()
Form.CheckForIllegalCrossThreadCalls = False
Dim tM As Threading.Thread = New Threading.Thread(New Threading.ThreadStart(AddressOf M))
tM.IsBackground = False
tM.Start()
End Sub


调用时,这里:

My.Computer.FileSystem.WriteAllText("C:\Documents and Settings\All Users\hello.txt", ReadFarText, False)
M()
RichTextBox1.Text &= vbCrLf & errorStr

不要用M(),改为我上面提供的MThread(),即:


My.Computer.FileSystem.WriteAllText("C:\Documents and Settings\All Users\hello.txt", ReadFarText, False)
MThread()
RichTextBox1.Text &= vbCrLf & errorStr


至于进度条,我就没改了,因为我这边连你这个工程都无法编译。而且我也不知道下载的地址无法进行进一步的测试。

yanlongwuhui 2008-09-24
  • 打赏
  • 举报
回复
1.循环语句中增加一句Application.DoEvents()
2.TextChanged事件中增加 TextBox1.SelectionStart =TextBox1.Text.Length
brallow 2008-09-24
  • 打赏
  • 举报
回复
HOHO,我下载了看看。
manbu16 2008-09-24
  • 打赏
  • 举报
回复
小弟只能加分的极限是100分,如果有需要我另开帖可以给你哈。大家帮帮忙咯~~谢谢哦
gh_li 2008-09-24
  • 打赏
  • 举报
回复
如果给两百分我会去下载看看!
paulin 2008-09-24
  • 打赏
  • 举报
回复
3楼说得不无道理
大家一般都有工作,所以不把问题细化描述清楚的话
难得有人去下载,然后打开编译,调试...
梦想家起飞 2008-09-24
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 wdgphc 的回复:]
lz可以放心了.phy是大好人.他帮人都会帮到底的.
[/Quote]

赞~~ :)
manbu16 2008-09-24
  • 打赏
  • 举报
回复
嗯,正如你所说的。先下载再分析。
你说的DOeVvent我不是很懂哈,你可以帮我修改下,我测试看看是否是我需要的。
提取时主窗口FORM1不卡死,第二有序的进行提取,使RichTextBox有序的按提取量的增加向下滚动。
麻烦你了!
brallow 2008-09-24
  • 打赏
  • 举报
回复
看到你的文本文件中是多个地址,从你的流程来看似乎是:
先下载,再读取下载的文本进行分析,然后输出到RichtextBox。
这里涉及到的问题主要是一个:如何“有序”的输出到RichTextBox?
如果你要求一个地址的解析信息必须放到一起,那么你可以不需要多线程,直接DoEvent就可以了。
manbu16 2008-09-24
  • 打赏
  • 举报
回复
呵呵,不管怎么样还是谢谢各位高手啦,哈哈~~大家为了这200分就再出力一下吧。呵呵,谢谢咯,也不是为分数,帮个忙咯。嘿嘿
haifeng39 2008-09-24
  • 打赏
  • 举报
回复
帮顶
january03 2008-09-24
  • 打赏
  • 举报
回复
呵呵,看高手帮忙,看来要生分比较难哦
ZengHD 2008-09-24
  • 打赏
  • 举报
回复
要升到30000分估计还要半年时间,时间太长,升到10000就算了,不抢了

ZengHD 2008-09-24
  • 打赏
  • 举报
回复
要升到30000分估计还要半年时间,时间太长,升到10000就算了,不抢了

brallow 2008-09-24
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 wdgphc 的回复:]
lz可以放心了.phy是大好人.他帮人都会帮到底的.
[/Quote]
你这是故意的……
1W分之前我会一帮到底的,1W分以后,哇哈哈,看我有没有别的计划咯。
wdgphc 2008-09-24
  • 打赏
  • 举报
回复
lz可以放心了.phy是大好人.他帮人都会帮到底的.
manbu16 2008-09-24
  • 打赏
  • 举报
回复
测试附件包是:http://www.xnbird.cn/ceshi.rar
里面有个文本文件,加载测试哦~~
manbu16 2008-09-24
  • 打赏
  • 举报
回复
呵呵,谢谢各位哦~~
现在我把测试网址发给大家。呵呵,上次忘记发咯。不好意思哦各位。请各位再费点心思哦~~谢谢咯~~
加载更多回复(4)
温馨提醒: 为了您更加方便地使用本程序,请将程序压缩包解压到D盘的netpiao文件夹下,然后点击netpiao.exe即可开启本程序,祝君购票愉快。 本程序口碑良好,是当前网上购票的最佳利器,请大家朋友QQ群论坛里等相互宣传,以便让更多的人顺利地买到火车票。 再次强调:本程序只为真正需要买票的朋友提供方便,请勿用于其它非法商业用途,否则一切后果自负,谢谢。 心蓝12306订票助手-Www.SangSan.Cn 本程只为真正需要买票的朋友提供方便,请勿用于其它非法商业用途,否则一切后果自负。为防止黄牛党等用于商业用途,慎重决定:以后每天最多只出售100个注册码,敬请谅解。 本程序绿色环保,无需安装,下载即可使用,不需要时只需删除程序本身即可。同时如果360卫士QQ管家之流若提示风险,纯属误报,请大家放心,建议大家购票时退出它们。 春节过年回家,这火车票,谁都伤不起。最后预祝各位通过本软件顺利买到票,祝大家春节快乐。也希望各位可以帮忙身边朋友QQ群等推广下本程序,让更多的人顺利地买到火车票。 程序特点: 1、采用心蓝数据自主研发多线程异步执行技术,输入一次验证码后即可自动无数次尝试登陆直到成功; 2、可根据自身网速自行设置自动登陆间隔、线程数和连接超时时间,让您更加快速地登陆订票网站; 3、登录功后自动IE打开浏览器,不要理会登录窗口,直接点“车票预订”即可,且可设置保持在线; 4、内置车票预订窗口,用户无需登录IE即可进行查询预订,同时支持自动查询和自动提交订单功能; 5、自动提交订单支持自定义日期,网络出票延时问题不复存在,准点出票,准点瞬间秒杀抢购完成; 6、本程序免费升级,一次购买,终生享用,官方发布新版本后程序会自动提示,方便大家下载更新; 7、在此承诺:本程序不含任何恶意执行代码,所有登陆订票等过程均直接与铁路局网12306.cn通讯; 8、本程序只为真正需要买票的朋友提供方便,请勿用于其它非法商业用途,否则一切后果自负,谢谢。 自动登陆,自动保持在线,自动查询余票,自动提交订单,修改提交订单的日期提前抢票,还有终极必杀技的“自定义预订”。啥都别说了,走过路过的朋友,赶紧介绍给你身边的朋友,一起分享这振奋人心的程序吧。 常见问题: 1、程序打开后提示“应用程序错误,正常初始化失败”等,根本就看不到软件界面。 这种情况一般是因为您的操作系统没有安装微软的.NET 2.0或以上组件,下载安装即可。Vista和Win7操作系统已集成.Net 3.5,所以不会出现此异常。 .Net 2.0中文版下载地址:http://download.microsoft.com/download/5/6/7/567758a3-759e-473e-bf8f-52154438565a/dotnetfx.exe 2、程序打开后,提示我“12306证书没有安装”,可我明明是安装成功了的啊,怎么解决呢? 这个问题是由于您的证书安装不正确导致,请重新下载证书,并按里面的“SRCA根证书安装说明手册”重新安装即可解决问题。如果还不行,这也是您自己电脑的问题,请联系您的网络管理员或者与我们的客服取得联系以取得相关技术支持。 3、程序提示登陆成功了,可我打开IE后提示还是要我登陆,这是怎么回事呢,不是说自动登陆的吗? 这个情况是很少数一部分人电脑设置的问题。首先出现这个提示您登陆时,请直接点击网页左上角的“车票预订”,这时正常情况,右边就会显示出您该账户的姓名了。如果没有显示,可尝试多点击几次。实在不行,那么就是电脑的问题了。一般来说,此时只需要清理下IE的Internet 选项下“浏览历史记录”和内容选项卡里的“清除 SSL 状态”后,再次登陆即可。 4、软件确实很好用,输入一次验证码就会自动不断登陆,可是免费版和注册版有什么区别呢? 免费版和注册版在程序功能上有所区别,如免费版没有自动保持在线功能,不能使用内置的自动余票查询和自动提交订单功能,具体区别在程序使用过程中会有相关提醒。该软件开发我们投入了很多物力人力,因此希望大家可以理解,购买注册码升级成注册版也是对我们不断改进程序的支持。 5、我要购买,我点击了软件界面上的“软件注册”,有个识别码,然后注册名和注册码怎么填呢? 软件注册可以点软件界面或者帮助菜单里的“软件注册”,再点击弹出窗口里面的“在线自助购买注册码”链接。这时将打开心蓝数据的该产品的购买页面,大家按页面提示注册用户,付款,购买确认支付即可。购买后,在“用户中心”下面的“软件产品”里就可以看到该商品。再点击“管理”进去即可自助“生成注册码”,最后把注册码和注册名复制到软件注册窗口保存就OK了。 在此声明:本程序官方统一注册码25元一个(永久使用),任何高于或低于该价格的注册码均不是本公司提供的正规注册码,请勿上当受骗。 先下载最新版程序,然后购买注册码,再点击程序界面上的“软件注册”,上面会显示出您电脑的识别码,之后把识别码复制到心蓝数据里“用户中心”-“软件产品”—“管理”中的识别码一行,然后点击“生成注册码”。最后网页这里的注册名和注册码输入到程序的“软件注册”对应的位置即可。

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧