回 帖 发 新 帖 刷新版面

主题:請問C++的break在QB上是什麼?

Wait_HIF1_obf()
{
    int waitloop,status;
    st=1;
    for (waitloop=1;waitloop<=20000;waitloop++)
    {
        status=inportb(0x64);
        if ((status&0x01)==1)
        {
            st=0; [color=FF0000]break[/color];
        }
    }
    return 1;
}

我轉成QB的語法,不知道break要打什麼

SUB WaitHIF1obf
   DIM waitloop AS INTEGER
   DIM status AS INTEGER
   st = 1
   FOR waitloop = 1 TO 20000
      status = INP(100)
      IF (status AND 1) = 1 THEN
         st = 0
      END IF
   NEXT waitloop
   RETURN 1
END SUB

回复列表 (共6个回复)

沙发

exit for

板凳

还有return 1有问题,
QB里的sub可以不返回值的,其实是编译器帮你做了,不用你再另外返回
如果是函数function,返回不用return,而是函数名=返回值。

3 楼

那如果break是用在C的SWICTH呢?
switch zzz
{
   case aaa:
      .....
      break;
   case bbb:
      .....
      break;
   default :
      .....
      break;

這裡的break要打啥?
還有他的default是相當於CASE ELSE嗎?

4 楼

switch v1{
case a1:语句1;break;
...
}
相当于
select case v1
case a1
语句1
...
end select
B里面不用break的
它会自动识别那一个语句块

那个对的,case else

另外select还有比条件语句写得方便的就是可以支持这样的写法:
select case i
case is>7
case 5,6,7
case 3 to 4
case 1 to 2,-1
case else
end select
VB里是这样的,不知QB里是不是一样,可以试试

5 楼

Wait_HIF1_obf()
{
    int waitloop,status;
    st=1;
    for (waitloop=1;waitloop<=20000;waitloop++)
    {
        status=inportb(0x64);
        if ((status&0x01)==1)
        {
            st=0; break;
        }
    }
    return 1;
}

我在C的主程序有一行是i=Wait_HIF1_obf
在QB裡要如何使用這樣的寫法,
就是直接i=函數名,
就可以把函數返回值放進i

6 楼

嗯。
VB里函数定义
[private/public] function 函数名(参数列表 as 每个参数的类型)as 函数返回值类型
函数体
函数名=表达式 '用以返回值
end function

调用时
变量名=函数名(参数列表)

其中的变量类型也可以是类,变量名也可以是对象

我来回复

您尚未登录,请登录后再回复。点此登录或注册