这段程序的运行结果是什么,求高手指点,真看不懂的博客这段程序

求高手,VC6.0写的程序运行不了(程序没错误)
[问题点数:20分,结帖人XSL1990]
求高手,VC6.0写的程序运行不了(程序没错误)
[问题点数:20分,结帖人XSL1990]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
2011年 总版技术专家分年内排行榜第三2010年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第五
2011年 总版技术专家分年内排行榜第三2010年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第五
本帖子已过去太久远了,不再提供回复功能。查看: 1272|回复: 9|
在线时间0 小时经验25 威望0 性别男最后登录注册时间阅读权限20UID23286积分75帖子精华0分享0
EH初级, 积分 75, 距离下一级还需 275 积分
积分排行3000+帖子精华0微积分0
Private Sub Command1_Click()
Dim xlApp As Excel.Application, xlBook As Excel.Workbook, xlSheet As Excel.Worksheet
Dim i as long
dim j as long
'打开Excel文件,选择工作表
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("C:\My Documents\vbtest.XLS")
Set xlSheet = xlBook.Worksheets("20SL")
xlsheet.cells(3456
for i=1 to 3000
for j=1 to 200
if xlsheet.cells(i,j)=123456 then
'关闭并释放对Excel对象的引用
xlApp.Quit
Set xlSheet = Nothing
Set xlBook = Nothing
此段程序在执行过程中等待很长时间后出现对话框“部件要求挂起,由于其他应用程序忙,不能执行该操作,选择‘切换到’按钮以激活忙的应用程序并纠正该错误”
我把所有在执行的软件都停止了也还是这样。在这个EXCEL表中在搜索的范围内都是有数据的。而且电脑是PIV 1.7G,速度肯定是没问题!请问这是怎么回事啊!如果我要加一段减负程序,让其他程序先停止后台运行或者让本程序缓慢运行以便减小CPU的一次性压力,该怎么编写啊!谢谢高手指教了!!
猜你喜欢看
在线时间0 小时经验262 威望0 性别男最后登录注册时间阅读权限20UID20464积分262帖子精华0分享0
EH初级, 积分 262, 距离下一级还需 88 积分
积分排行4808帖子精华0微积分0
程序应该说没有什么错,但是你的循环次数太多了,少一点就可以。你把
xlsheet.cells(3456
for i=1 to 3000
for j=1 to 200
xlsheet.cells(5,2)=123456
for i=1 to 5
for j=1 to 2
能说说你要做什么吗?
在线时间0 小时经验25 威望0 性别男最后登录注册时间阅读权限20UID23286积分75帖子精华0分享0
EH初级, 积分 75, 距离下一级还需 275 积分
积分排行3000+帖子精华0微积分0
谢谢你的指点啊!但我的这些循环没法减少的,我是有一个excel文件里有这么多的数据,这些数据没什么特征的,当我需要一个数据的时候要去里面找,如果找到就不要输入,如果找不到就要输入进去!请问我该怎么样才能实现啊!
在线时间0 小时经验262 威望0 性别男最后登录注册时间阅读权限20UID20464积分262帖子精华0分享0
EH初级, 积分 262, 距离下一级还需 88 积分
积分排行4808帖子精华0微积分0
应该可以的
http://club.excelhome.net/dispbbs.asp?boardID=2&ID=23831
看看这个帖子上我给出的例程,我想应该比你的方式要快多了.好的的话请顶一下这个帖子http://club.excelhome.net/dispbbs.asp?boardID=2&ID=23470,要发句话哦!
在线时间0 小时经验25 威望0 性别男最后登录注册时间阅读权限20UID23286积分75帖子精华0分享0
EH初级, 积分 75, 距离下一级还需 275 积分
积分排行3000+帖子精华0微积分0
4楼的朋友,我是想在VB程序中实现,但你的程序好象不是很适用,能指教一下在VB中怎么有效的实现吗!你的程序是很不错哦!所以值得顶一下!
在线时间0 小时经验262 威望0 性别男最后登录注册时间阅读权限20UID20464积分262帖子精华0分享0
EH初级, 积分 262, 距离下一级还需 88 积分
积分排行4808帖子精华0微积分0
有空了我给你看看,不一定行哦.
如果你成了,告诉我一声,省得我再费劲好吗?
在线时间0 小时经验262 威望0 性别男最后登录注册时间阅读权限20UID20464积分262帖子精华0分享0
EH初级, 积分 262, 距离下一级还需 88 积分
积分排行4808帖子精华0微积分0
下面这段代码,我试了一下是可以的,你看看吧
Dim oxl As Excel.Application
Dim owb As Excel.Workbook
Private Sub Command1_Click()
On Error GoTo Err
x = Me.Text1.Text
owb.ActiveSheet.Cells.Find(What:=x, After:=ActiveCell, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False).Activate
MsgBox "找到了,在第" + Str(ActiveCell.Row) + "行", vbInformation, "提示"
If Err = 91 Then
MsgBox "没有找到", vbInformation, "提示"
MsgBox "" & vbCrLf & vbCrLf & Err.Description, vbCritical, "错误提示"
Private Sub Form_Load()
On Error GoTo Err
If Dir("d:\book1.xls")
Set oxl = CreateObject("Excel.Application")
oxl.Visible = False
Set owb = oxl.Workbooks.Open("d:\book1.xls")
owb.Sheets(1).Select
ActiveSheet.Range("a1").Select
MsgBox "" & vbCrLf & vbCrLf & Err.Description, vbCritical, "错误提示"
Private Sub Form_Unload(Cancel As Integer)
Set owb = Nothing
Set oxl = Nothing
在线时间0 小时经验25 威望0 性别男最后登录注册时间阅读权限20UID23286积分75帖子精华0分享0
EH初级, 积分 75, 距离下一级还需 275 积分
积分排行3000+帖子精华0微积分0
好象还可以,速度有提高,但还是比较慢,谢谢楼上的朋友!
在线时间12 小时经验55 威望0 性别男最后登录注册时间阅读权限20UID3909积分55帖子精华0分享0
EH初级, 积分 55, 距离下一级还需 295 积分
积分排行3000+帖子精华0微积分0
看你的循环,起码有600000的数据量了,EXCEL很难提高速度了,你可以试试将数据转到ACCESS,用EXCEL做前台,并用ADO连接数据库,数据可以大幅度提高哦,怎样连接可以看看以前的帖子哦
在线时间0 小时经验1060 威望0 性别男最后登录注册时间阅读权限50UID17926积分1110帖子精华0分享0
EH高级, 积分 1110, 距离下一级还需 890 积分
积分排行982帖子精华0微积分0
是否在ACCESS中无65536数据量限制?
关注我们,与您相约微信公众平台!
Copyright 1999 - 2017 Excel Home. All Rights Reserved.本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!
Powered by
本站特聘法律顾问:徐怀玉律师 李志群律师 &&一个简单的java程序,输运行结果看不懂,高手指点下。_百度知道
一个简单的java程序,输运行结果看不懂,高手指点下。
new Thread(st)下面是我练习时写的一小段java代码;
new Thread(st);
new Thread(st).
sell tickets.start().start():
&quot.currentThread();0)
System:class TicketsSystem{ public static void main(String[] args) {
SellThread st=new SellThread().start().getName()+
&+tickets); public void run() {
while(true)
if (tickets&
new Thread(st);
tickets--.start().println(T }}class SellThread implements Runnable{ int tickets=100
baidu用tickets--控制之后。刚开始是/zhidao/wh%3D600%2C800/sign=bd3848fd5edf8db1bc7bc/d439bca.baidu://b,为什么会在96后还出现100.baidu://b.com/zhidao/pic//zhidao/wh%3D450%2C600/sign=a80cee530ec3d86eeb0b4/d439bca.jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src="http://b.hiphotos.hiphotos。94之后直接就到92.jpg" esrc="http。<a href="http
提问者采纳
}}class SellThread implements Runnable{ int tickets=100.start()Java中Runnable接口实现多线程;}
System.start(),但最后会出现票数为负的情况;0)
{try{Thread.out.sleep(300).currentThread().println(T+tickets);}catch(InterruptedException e){e,加入延迟操作!.getName()+
sell tickets,另一个线程也得到这个票数;
new Thread(st),线程可并发操作.start(),这个程序可能就是这个线程得到票数;}
} }}仅供参考;tickets--,还没有进行减票操作:
& public void run() {
while(true)synchronized(this){
if (tickets&
new Thread(st)!.start();
new Thread(st):class bnm{ public static void main(String[] args) {
SellThread st=new SellThread().printStackTrace(),所以这时还要加入同步;
new Thread(st),代码可改成如下
提问者评价
其他类似问题
您可能关注的推广回答者:
java程序的相关知识
其他3条回答
一直循环知道程序结束,所以每个线程得到运行的机会是均等的,当线程0被线程1抢到资源并运行时就会重新将tickets赋值为100,而每个线程的优先级又都是一样的,又重新赋值再来一次输出的数值是在类之中的,是局部变量,直到另一个线程得到机会运行
线程1运行了int tickets=100;线程0就一直在运行等到线程1再运行System.out.println(Thread.currentThread().getName()+
sell tickets:
&+tickets);输出当然就是100了。没有同步,这种情况是不可预测的。
线程同步的问题
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁这段代码我看不懂 高手指点 分数我有的是
这段代码我看不懂 高手指点 分数我有的是
#include "drv_comm.h"#include "adc_channel.h"#include "bmt.h"
#ifndef __CUST_NEW__const kal_uint8 ADC_VBAT = 0;const kal_uint8 ADC_VISENSE = 1;const kal_uint8 ADC_VBATTMP = 0const kal_uint8 ADC_VCHARGER = 0const kal_uint8 ADC_ACCESSORYID = 5;//tmp solution, maybe SA will add this const kal_uint8 ADC_PCBTMP = 4; // allen #if defined(__CHARGER_USB_DETECT_WIHT_ONE_EINT__)const kal_uint8 ADC_CHR_USB = 6;& // adc to distinguish between charger with usb allen#endif
#endif /* __CUST_NEW__ */kal_uint8 custom_adc_get_channel(adc_channel_type type){&& switch(type)&& {&&&&& case vbat_adc_channel:&&&&&&&& return ((kal_uint8)ADC_VBAT);&&&&& case visense_adc_channel:&&&&&&&& return ((kal_uint8)ADC_VISENSE);&&&&& case vbattmp_adc_channel:&&&&&&&& return ((kal_uint8)ADC_VBATTMP);&&&& &&&&& case aux_adc_channel:&&&&&&&& return ((kal_uint8)ADC_ACCESSORYID);&&&&& case vcharger_adc_channel:&&&&&&&& return ((kal_uint8)ADC_VCHARGER);&&&&& case pcbtmp_adc_channel:&&&&&&&& return ((kal_uint8)ADC_PCBTMP);#if defined(__CHARGER_USB_DETECT_WIHT_ONE_EINT__)&&&&&&& &&&&& case chr_usb_adc_channel:&&&&&&&& return ((kal_uint8)ADC_CHR_USB);&&&&&&& #endif&&&&&&& &&&&& default:&&&&&&&& ASSERT(0);&&&&&&&& return 100;&& }
我很菜的 最好把每一行的意思给我解释明白 我有很多分!!!
不区分大小写匿名
分数有的是干嘛不多给点
#include "drv_comm.h"&&//1.加载头文件#include "adc_channel.h"#include "bmt.h"
#ifndef __CUST_NEW__&&//2.条件编译 如果前面定义了 _CUST_NEW_ 则 编译以下代码const kal_uint8 ADC_VBAT = 0;&&//3.常量定义 定义 一个 kal_uint8& 类型的常量 ADC_VBAT 并赋值 0const kal_uint8 ADC_VISENSE = 1;&const kal_uint8 ADC_VBATTMP = 0&const kal_uint8 ADC_VCHARGER = 0&const kal_uint8 ADC_ACCESSORYID = 5;//tmp solution, maybe SA will add this const kal_uint8 ADC_PCBTMP = 4; // allen #if defined(__CHARGER_USB_DETECT_WIHT_ONE_EINT__)& //同理 2const kal_uint8 ADC_CHR_USB = 6;& // adc to distinguish between charger with usb allen#endif
#endif /* __CUST_NEW__ */& //条件编译结束kal_uint8 custom_adc_get_channel(adc_channel_type type)& //定义返回 kal_uint8 类型值 的函数{&& switch(type)&&&&&&//开关语句&& {&&&&& case vbat_adc_channel:&&&&//4.如果 type 的值为 vbat_adc_channel 则返回 ADC_VBAT的值&&&&&&&& return ((kal_uint8)ADC_VBAT);&&&&& case visense_adc_channel:&&&&&&&& return ((kal_uint8)ADC_VISENSE);&&&&& case vbattmp_adc_channel:&&&&//同理 4&&&&&&&& return ((kal_uint8)ADC_VBATTMP);&&&& &&&&& case aux_adc_channel:&&&&&&&& return ((kal_uint8)ADC_ACCESSORYID);&&&&& case vcharger_adc_channel:&&&&&&&& return ((kal_uint8)ADC_VCHARGER);&&&&& case pcbtmp_adc_channel:&&&&&&&& return ((kal_uint8)ADC_PCBTMP);#if defined(__CHARGER_USB_DETECT_WIHT_ONE_EINT__)&&&&& //同理 2& &&&&& case chr_usb_adc_channel:&&&&&&&& return ((kal_uint8)ADC_CHR_USB);&&&&&&& #endif&&&&&&& &&&&& default:&&&&&&//如果type 的值不在 case所列出的范围内,则执行 ASSERT(0); 并返回100&&&&&&&& ASSERT(0);&&&&&&&& return 100;&& }
kal_uint8& 类型&&& 是什么类型?能解释的再清楚一点吗?const kal_uint8 ADC_VBATTMP = 0&&&& “0xff”是什么意思?“kal_uint8 custom_adc_get_channel(adc_channel_type type)& //定义返回 kal_uint8 类型值 的函数 ”
这个函数是什么函数?具体解释一下。& 与上边的常量定义有什么联系??
“&case vbat_adc_channel:&&&&//4.如果 type 的值为 vbat_adc_channel 则返回 ADC_VBAT的值”
返回值是什么意思 为什么要返回值呢?
我是初次接触这个 不能从整体上把握它&& 如果你能给我讲明白& 让我理解它&& 我躲给你分!!
kal_uint8& 类型&&& 是什么类型?能解释的再清楚一点吗?
这个类型的定义在加载的头文件中。具体我也不清楚,你打开头文件找找
const kal_uint8 ADC_VBATTMP = 0&&&& “0xff”是什么意思?
OX开头表示这个数是16进制的,,表示十六进制的FF 转为10进制是255如果二进制就是
“kal_uint8 custom_adc_get_channel(adc_channel_type type)& //定义返回 kal_uint8 类型值 的函数 ”
这个函数的功能是按照 输入参数 type 的值不同而返回不同的值,或执行ASSERT(0)
以下是函数体,也就是这个函数需要干什么。
{&& switch(type)&&&&& //开关语句&& {&&&&& case vbat_adc_channel:&&& //如果 type 的值为 vbat_adc_channel 则返回 ADC_VBAT的值&&&&&&&& return ((kal_uint8)ADC_VBAT);
&&&&& case visense_adc_channel: //如果 type 的值为 visense_adc_channel 则返回 ADC_VISENSE的值&&&&&&&& return ((kal_uint8)ADC_VISENSE);
&&&&& case vbattmp_adc_channel: //如果 type 的值为 vbattmp_adc_channel 则返回 ADC_VBATTMP的值&&&&&&&& return ((kal_uint8)ADC_VBATTMP);& && &&&&& case aux_adc_channel:&//如果 type 的值为 aux_adc_channel 则返回 ADC_ACCESSORYID的值&&&&&&&& return ((kal_uint8)ADC_ACCESSORYID);
&&&&& case vcharger_adc_channel://如果 type 的值为 vcharger_adc_channel 则返回 ADC_VCHARGER的值&&&&&&&& return ((kal_uint8)ADC_VCHARGER);
&&&&& case pcbtmp_adc_channel:&//如果 type 的值为 pcbtmp_adc_channel 则返回 ADC_PCBTMP的值&&&&&&&& return ((kal_uint8)ADC_PCBTMP);
#if defined(__CHARGER_USB_DETECT_WIHT_ONE_EINT__)&&&&& &//条件编译 如果前面定义了 _CUST_NEW_ 则 编译以下代码&&&&& case chr_usb_adc_channel:&&&&//如果 type 的值为 chr_usb_adc_channel 则返回 ADC_CHR_USB的值&&&&&&&& return ((kal_uint8)ADC_CHR_USB);&&&&&&& &#endif&&&&&&& &&&&&&//条件编译结束
&&&&& default:&&&&& &&//如果type 的值不在 case所列出的范围内,则执行 ASSERT(0); 并返回100&&&&&&&& ASSERT(0);&&&&&&&& return 100;&& }
具体请查看 switch 的用法。
4.与上边的常量定义有什么联系??
这个函数体 要返回的值 都是&类开始的时候 事先定义并赋值的。不事先声明,电脑那里知道ADC_VBAT是什么东西,应该返回些什么。
5.返回值是什么意思 为什么要返回值呢?。。。。。。。。。。。。。。。。。
这个我怎么说。。。。
int i ;这个是声明对吧
i=1;这个是定义对吧
getValue();这个是不带参数的函数对吧
getValue(int i);这个是带参数的函数对吧
i=getValue(); 这个是将 不带参数的函数 执行后 返回的值 赋值给i。
i=getValue(int i); 这个是将带参数的函数 执行后 返回的值 赋值给i
带参数、有返回值的函数
TAG: 带参数、有返回值的函数, 函数, 程序?
TEXT:这类函数的定义格式如下:
返回值类型符 函数名称(形式参数列表)
&&定义部分;
&执行语句部分
&http://www./cxsj/pointchart/c7/Page4.html
最前面是一些常数定义
整个函数是一个分枝结构,
根据传数的参数不同,返回不同的值,就这样!
当传入的参数是 case 后面的值是,则返回这个case 下面那行里的值,
如果传入的参数没有个case 的值与之匹配,就运行 default:下面的语句,ASSERT(0);&return 100;
const kal_uint8 ADC_VBATTMP = 0&&&& “0xff”是什么意思?这些值是什么 ?& 有什么用呀?& 再深刻的说一下&& 谢谢了!我想一次搞明白!
似是而非的感觉不好!
0xFF & 是16进制数,大小就是 & F & * & 16 & + & F, & & 16进制数排列依次是 & 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & A & B & C & D & E & F & & 以10进制来看 & F大小就是 & 15。
你可以这样理解,const a =5
那么a和5在程序中是一样的意义.a就是5,5就是a!
不过a可不是变量,是一个常量,就代表5!常数!
你可以看一下书上的基础,变量与常量那块!
我只知道switch和case语句,呵呵,别的我也不会了,我也才学。
哦& 那你可以帮忙请教一下老师 同学 同事喽& 正好你也可以学到知识呀!我现在不能采纳你的回答& 等我的问题解决了 我可以选两个最佳答案的& 我保证!&
如果你能帮我解决就更好了&&& 你不是北大青鸟的吗?那里面的老师很牛的& 你可以去请教他们的。
那我在这里先谢谢你了&&& 我给你50分& 可以吧。
赶紧哟& 我很急的。
#包括“ drv_comm.h ” #包括“ adc_channel.h ” #包括“ bmt.h ” # ifndef __CUST_NEW__ 常量kal_uint8 ADC_VBAT = 0 ; 常量kal_uint8 ADC_VISENSE = 1 ; 常量kal_uint8 ADC_VBATTMP = 0 常量kal_uint8 ADC_VCHARGER = 0 常量kal_uint8 ADC_ACCESSORYID = 5 ; / / tmp的解决办法,也许这个公司将增加 常量kal_uint8 ADC_PCBTMP = 4 ; / /阿伦 #如果定义( __CHARGER_USB_DETECT_WIHT_ONE_EINT__ ) 常量kal_uint8 ADC_CHR_USB = 6 ; / /模数转换器区分阿伦与USB充电器 # endif # endif / * __CUST_NEW__ * / kal_uint8 custom_adc_get_channel ( adc_channel_type型) ( &&&开关(型) &&& ( &&&&&&案件vbat_adc_channel : &&&&&&&&&返回( ( kal_uint8 ) ADC_VBAT ) ; &&&&&&案件visense_adc_channel : &&&&&&&&&返回( ( kal_uint8 ) ADC_VISENSE ) ; &&&&&&案件vbattmp_adc_channel : &&&&&&&&&返回( ( kal_uint8 ) ADC_VBATTMP ) ; &&&&&&案件aux_adc_channel : &&&&&&&&&返回( ( kal_uint8 ) ADC_ACCESSORYID ) ; &&&&&&案件vcharger_adc_channel : &&&&&&&&&返回( ( kal_uint8 ) ADC_VCHARGER ) ; &&&&&&案件pcbtmp_adc_channel : &&&&&&&&&返回( ( kal_uint8 ) ADC_PCBTMP ) ; #如果定义( __CHARGER_USB_DETECT_WIHT_ONE_EINT__ ) &&&&&&案件chr_usb_adc_channel : &&&&&&&&&返回( ( kal_uint8 ) ADC_CHR_USB ) ; # endif &&&&&&默认: &&&&&&&&&断言( 0 ) ; &&&&&&&&&返回100 ; 我翻译过来的啦& 其实我也不太懂 呵呵 祝你好运~
相关知识等待您来回答
编程领域专家工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *最后登录: *
把每一步的意思多告诉我,谢谢。[ 此贴被fyx-06-21 20:44重新编辑 ]
索马里海盗
级别: 家园常客
发帖数量: 614 个
工控威望: 845 点
下载积分: 638 分
在线时间: 379(小时)
注册时间: 最后登录:
是私服程式。& 意思就是让马达跑那个位置&
什么速度。看看QD75的资料里面的BUFFER MEMORY就知道了&
U0 是QD75模块的槽位。
互相交流&&互相学习 互相帮助&&
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *最后登录: *
第二步不知道请指教
级别: 略有小成
发帖数量: 1072 个
工控威望: 351 点
下载积分: 1379 分
在线时间: 54(小时)
注册时间: 最后登录:
┏^ǒ^*★*^ǒ^*☆*^ǒ^*★*^ǒ^*☆*^ǒ^★*^ǒ*^^★*^ǒ┓ ┃╭の╮┏┯┓┏┯┓ ┏┯┓┏┯┓┏┯┓ ╭の╮┃*┃ ╲╱& 工┠控Lǒ の人 の 家┨┠园┨& ╲╱ ┃* ┃┗戀┛┗┷┛┗┷┛ ┗┷┛ ┗┷┛┗┷┛┗戀┛┃*┗^ǒ^*★*^ǒ^*☆*^ǒ^*★*^ǒ^*☆*^ǒ^★*^ǒ^★★*^ǒ┛
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *最后登录: *
=600) window.open('/attachment/Mon_18_876da54ade0c9b4.jpg');" onload="if(this.width>'600')this.width='600';if(this.height>'3000')this.height='3000';" >
qiwenmyson
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *最后登录: *
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *最后登录: *
如果图看不清可以双击图片会弹出一个清晰的图片尤其是第二步MOVP H100 U0\G2180请给我详细的解释

我要回帖

更多关于 真看不懂的博客 的文章

 

随机推荐