以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [分享]cuiler狐表学习点滴(更新日期2008-9-6)  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=332)

--  作者:cuiler
--  发布时间:2008/9/7 13:37:00
--  [分享]cuiler狐表学习点滴(更新日期2008-9-6)
发现的问题(经实验证明)

1,自动计算功能。只对第一列起作用,且对横向也不起作用。
已解决:所有参与计算的列必须是数值型

2,
开发指南==>编程基础==>流程控制语句==>for...next语句

在循环过程中,如果提前退出循环,可以用Exit For语句,例如:

Dim Sum As Integer
Dim
i As Integer
For
i = 1 To 100
    Sum = Sum + i
    If i = 51
Then
        Exit
For
    End
If

Next

OutPut.Show(Sum)

上面的代码实际上只是求得1到50的累计值,因为在计数器变量i等于51的时候,,程序退出了循环。

实际执行结果为 1326, 是 1到51的累计值。



[此贴子已经被ylm于2008-9-10 10:51:42编辑过]

--  作者:抽烟男人
--  发布时间:2008/9/7 13:54:00
--  
1.我的可以计算出来
2 ,应该是一个笔误,1到50的累计值应该把次序倒一下就行了

Dim Sum As Integer
Dim
i As Integer
For
i = 1 To 100
    If i = 51
Then
        Exit
For
    End
If 
   Sum = Sum + i
Next

OutPut.Show(Sum)
[此贴子已经被作者于2008-9-7 13:54:19编辑过]

--  作者:狐狸爸爸
--  发布时间:2008/9/7 15:39:00
--  
谢谢,收藏
楼主继续。
[此贴子已经被作者于2008-9-7 15:39:05编辑过]

--  作者:cuiler
--  发布时间:2008/9/7 19:43:00
--  
以下是引用狐狸爸爸在2008-9-7 15:39:00的发言:
谢谢,收藏
楼主继续。
[此贴子已经被作者于2008-9-7 15:39:05编辑过]


持续学习中,发现问题,我会及时反馈的


--  作者:hbfnmxb
--  发布时间:2008/9/7 20:54:00
--  
真的不错,学习了
--  作者:cuiler
--  发布时间:2008/9/8 14:30:00
--  
3,开发指南==>编程基础==>流程控制语句==>do...loop语句

在循环过程中,如果提前退出循环,可以用Exit Do语句,例如:

Dim Sum As Integer
Dim
i As Integer = 1
Do
While i <= 100
    Sum = Sum + i
    i = i +
1
   
If i = 50
Then
        Exit
Do
    End
If
Loop

Output.Show(Sum)

上面的代码实际上只是求得1到50的累计值,因为在i等于50的时候退出了循环。

实际执行结果为 1225, 是 1到49的累计值。

4,开发指南==>编程基础==>流程控制语句==>Return语句
Return语句用于终止代码的执行。

例如:

Dim Sum As Integer

Dim i As Integer

For i = 1 To 100

    Sum = Sum + i

    If i = 51 Then   \'如果i等于51

        OutPut.Show(Sum)   \'显示结果

        Return   \'终止执行

    End If

Next

 

如文中所指,Return所谓“终止代码的执行“ 到底是什么意思?

是类似于结束本次循环的continue  do?    还是类似于退出循环的exit  do

而且经过验证,上面的代码执行后会出错


此主题相关图片如下:111.jpg
按此在新窗口浏览图片

[此贴子已经被作者于2008-9-8 14:32:36编辑过]

--  作者:lxl
--  发布时间:2008/9/8 14:41:00
--  

FoxTable里面大部分地方只用 Return就够了
 命令窗口例外


--  作者:cuiler
--  发布时间:2008/9/8 14:46:00
--  
以下是引用lxl在2008-9-8 14:41:00的发言:

FoxTable里面大部分地方只用 Return就够了
 命令窗口例外


听不懂?


--  作者:lxl
--  发布时间:2008/9/8 15:40:00
--  
以下是引用cuiler在2008-9-8 14:46:00的发言:


听不懂?

在所有能写代码的地方:
比如说在表属性、项目属性里面的所有事件中,
在窗口、菜单的控件(比如按钮)的事件中
以及计算代码中
可以用Return 中止代码:
例:


If CurrentTable = Nothing Then      ‘如果当前表为Nothing 也就是不存在
     Return                          ’那么直接返回,后面的代码都不用管了
End If
……                                    \'其他代码
……                                    \'其他代码
……                                    \'其他代码
 


但是唯一列外的是命令窗口必须用:
 Return  值 





--  作者:狐狸爸爸
--  发布时间:2008/9/8 16:01:00
--  
呵呵,谢了。
请楼主下载今天的更新。
这个问题在新的帮助文件中已经改了,并提示了。