Foxtable(狐表)用户栏目专家坐堂 → 请教,有For ...Next.


  共有11803人关注过本帖树形打印复制链接

主题:请教,有For ...Next.

帅哥哟,离线,有人找我吗?
baoxyang
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3313 积分:23140 威望:0 精华:1 注册:2009/3/31 11:25:00
请教,有For ...Next.  发帖心情 Post By:2010/6/28 14:43:00 [只看该作者]

dim k as string = 20

for i as integer = 0 to k

    if  a > 10  then

        k = k -1

    end if

Next

 

目的是当遇a>10时,for ..... Next 循环次数减一次(少循环一次)

 

上面这样实现不了。请教,如何实现?先谢了!!!

[此贴子已经被作者于2010-6-28 14:43:52编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/6/28 14:47:00 [只看该作者]

dim k as string = 20

for i as integer = 0 to k

    if  a > 10  then

        i = i+1

    end if

Next


 回到顶部
帅哥哟,离线,有人找我吗?
baoxyang
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3313 积分:23140 威望:0 精华:1 注册:2009/3/31 11:25:00
  发帖心情 Post By:2010/6/28 14:55:00 [只看该作者]

以下是引用狐狸爸爸在2010-6-28 14:47:00的发言:

dim k as string = 20

for i as integer = 0 to k

    if  a > 10  then

        i = i+1

    end if

Next

目的是K是打印页数,打印页数会根据每行的内容多少,设定一定宽度,再根据宽度大小来增中页数。按上面的代码只会减少页数。我上面说错了,是

dim k as string = 20

for i as integer = 0 to k

    if  a > 10  then

        k = k +1

    end if

Next

 

目的是当遇a>10时,for ..... Next 循环次数增中一次

 

不好意思!图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
baoxyang
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3313 积分:23140 威望:0 精华:1 注册:2009/3/31 11:25:00
  发帖心情 Post By:2010/6/28 14:58:00 [只看该作者]

是否K这个变量的值是不能在for ..... Next 循环中变动的吗?

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/6/28 15:05:00 [只看该作者]

dim k as string = 20

 

应该是:

 

dim k As Integer

 

否则+1就成了201,不是21


 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/6/28 15:28:00 [只看该作者]

以下是引用狐狸爸爸在2010-6-28 15:05:00的发言:

dim k as string = 20 

应该是:

dim k As Integer 

否则+1就成了201,不是21

 ?????????


图片点击可在新窗口打开查看此主题相关图片如下:未命名1.jpg
图片点击可在新窗口打开查看

 

这样才是你说的结果: 


图片点击可在新窗口打开查看此主题相关图片如下:未命名2.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/6/28 15:37:00 [只看该作者]

图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/6/28 15:38:00 [只看该作者]

增加页数:

 

Dim k as Integer= 20

for i as integer = 0 to k

    if  a > 10  then

        i = i - 1

    end if

Next


 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/6/28 15:51:00 [只看该作者]

a 在循环时也变化吗? 如果不是的话应该这样吧:

dim k as integer = 20
dim a as integer = 变量
if  a > 10  then
    k = k +1   
end if
for i as integer = 0 to k
  ······
Next

 


 回到顶部
帅哥哟,离线,有人找我吗?
baoxyang
  10楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3313 积分:23140 威望:0 精华:1 注册:2009/3/31 11:25:00
  发帖心情 Post By:2010/6/28 16:02:00 [只看该作者]

好像都不行,现只能把K固定一个较大的值,然后根据每页的行数及表总行数进行判断退出循环。

For t as integer = 0 to 1000

  '中间的每页行数省略

    if a > 10 then

       j = j + 1

    end if

 if t < j then          
        Dim rm1 As prt.RenderEmpty
        rm1 = new prt.RenderEmpty '定义一个新的空对象
        rm1.BreakBefore = prt.BreakEnum.Page '打印前换页
        doc.Body.Children.Add(rm1)
   else
       exit for
   end if

Next

[此贴子已经被作者于2010-6-28 16:03:48编辑过]

 回到顶部