Foxtable(狐表)用户栏目专家坐堂 → 问个小函数如何描述。。。。。


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

主题:问个小函数如何描述。。。。。

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


加好友 发短信
等级:童狐 帖子:271 积分:1892 威望:0 精华:0 注册:2011/10/31 12:57:00
问个小函数如何描述。。。。。  发帖心情 Post By:2014/4/29 15:20:00 [只看该作者]

Dim Val As String
    If InputValue(Val, "请输入名称", "请输入名称:") Then
       If Val >"" Then
         Functions.Execute("tblName",Val)  '函数没写好.
  end if
   end if
.........
.........
.........

'函数 ,这个归递要如何写? 输入文字之前检测一下是否存在同名表.
如果存在继续跳出inputValues,直到输入 DataTables.Contains(Val) = False
Dim Val As String = Args(1)
If DataTables.Contains(Val) = True Then
    If InputValue(Val, "请输入名称", "请输入名称:") Then
        Functions.Execute("tblName",Val)
        Return Nothing
    End If
End If

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/4/29 15:24:00 [只看该作者]

不用写递归,用 WHile循环即可


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/29 15:27:00 [只看该作者]

 即便用递归,测试没什么问题。

 

Dim Val As String = Args(0)
If DataTables.Contains(Val) = True Then
    If InputValue(Val, "请输入名称", "请输入名称:") Then
        Functions.Execute("tblName",Val)
        Return Nothing
    End If
End If

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/4/29 15:30:00 [只看该作者]

Dim Val As String = Args(1)
Do
 While DataTables.Contains(Val) = false
    
If InputValue(Val, "请输入名称", "请输入名称:") Then
        
    End If
Loop

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


加好友 发短信
等级:童狐 帖子:271 积分:1892 威望:0 精华:0 注册:2011/10/31 12:57:00
  发帖心情 Post By:2014/4/29 15:32:00 [只看该作者]

我用我写的那个,去测试会提示超出数姐。
我还以为是datatable输入新名本来会自动检测的。所以代码同复了。。提示错误呢。谢谢上面的大侠


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


加好友 发短信
等级:童狐 帖子:271 积分:1892 威望:0 精华:0 注册:2011/10/31 12:57:00
回复版版  发帖心情 Post By:2014/4/29 15:34:00 [只看该作者]

真的???怎么我测试就过不了。会提示错误。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/29 15:45:00 [只看该作者]

以下是引用ido在2014-4-29 15:34:00的发言:
真的???怎么我测试就过不了。会提示错误。

 

这句代码

 

Dim Val As String = Args(0)


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2014/4/29 15:48:00 [只看该作者]

Dim Val As String = Args(0)
If DataTables.Contains(Val) = False Then
    If InputValue(Val, "请输入名称", "请输入名称:") Then
        Functions.Execute("tblName",Val)
        Return Nothing
    End If
Else
    msgbox("已经存在相同表名")
End If

甜版的可以执行

但是甜版的应该这边写错了

If DataTables.Contains(Val) = True  应该为False
[此贴子已经被作者于2014-4-29 15:49:15编辑过]

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


加好友 发短信
等级:童狐 帖子:271 积分:1892 威望:0 精华:0 注册:2011/10/31 12:57:00
  发帖心情 Post By:2014/4/29 17:58:00 [只看该作者]

 Dim Val As String
    If InputValue(Val,"输入临时表名!!","请输入:")  Then
        If Val >"" Then    '输入:“表A”   表A已存在
            Functions.Execute("tblgetName",Val)  '函数发现同名,再输入:表B 传递.结果Val的值是:“表B”

            msgbox(Val &"1")  '这里最后的结果,还是第一次输入的“表A”。。
            Dim dtb As New DataTableBuilder(Val)           '生成临时表
            dtb.AddDef("No",Gettype(Integer))
            dtb.AddDef("Name",Gettype(String))
            dtb.AddDef("Name1", Gettype(String))
            dtb.AddDef("Control", Gettype(Boolean))
            dtb.Build()
    end if
end if

'---发现问题了,值不传递。
Dim Val As String = Args(0)
If DataTables.Contains(Val) Then
    msgbox("已经存在相同表名!!!!!")
    If InputValue(Val, "请输入名称", "请输入名称:") Then        ‘输入:“表B”
        Functions.Execute("tblgetName",Val)  
        Return Nothing    
    End If
End If
msgbox(Val) ‘传递出来的值还是"表B"


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/29 18:03:00 [只看该作者]

呃,你的返回参数

 

Dim Val As String = Args(0)
If DataTables.Contains(Val) = False Then
    If InputValue(Val, "请输入名称", "请输入名称:") Then
        return Functions.Execute("tblName",Val)
    End If
Else
    return val
End If
 
----------------------
 
调用
 
val = Functions.Execute("tblName",Val)
msgbox(val)

 回到顶部
总数 12 1 2 下一页