以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- 请教,有For ...Next. (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=7477)
|
-- 作者:baoxyang
-- 发布时间:2010/6/28 14:43:00
-- 请教,有For ...Next.
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编辑过]
|
-- 作者:狐狸爸爸
-- 发布时间: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
-- 发布时间: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
-- 发布时间:2010/6/28 14:58:00
--
是否K这个变量的值是不能在for ..... Next 循环中变动的吗?
|
-- 作者:狐狸爸爸
-- 发布时间:2010/6/28 15:05:00
--
dim k as string = 20
应该是:
dim k As Integer
否则+1就成了201,不是21
|
-- 作者:mr725
-- 发布时间: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

|
-- 作者:狐狸爸爸
-- 发布时间:2010/6/28 15:37:00
--

|
-- 作者:狐狸爸爸
-- 发布时间: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
-- 发布时间: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
-- 发布时间: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编辑过]
|