Foxtable(狐表)用户栏目专家坐堂 → 关于表达式求值出错


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

主题:关于表达式求值出错

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


加好友 发短信
等级:五尾狐 帖子:1015 积分:7119 威望:0 精华:0 注册:2008/9/1 22:34:00
关于表达式求值出错  发帖心情 Post By:2010/7/3 11:09:00 [只看该作者]

请问以下代码有问题吗?为什么我试了出错呢?

If e.KeyCode = Keys.Enter Then
    Dim s As String = e.Form.Controls("TextBox1").value
    dim s1 as Double =Eval(s)
    Tables(MainTable.Name).Current("数量") = s1 '单行写入的代码
   
End If

 


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


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

需要看错误提示才知道

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


加好友 发短信
等级:五尾狐 帖子:1015 积分:7119 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2010/7/3 11:36:00 [只看该作者]

 

现在变为这样的。

 

If e.KeyCode = Keys.Enter Then
    Dim s As String = e.Form.Controls("TextBox1").value
    For i As Integer = 0 To s.Length - 2 '这里这想将TextBox1的值在每个字符后面加空格(除了最后一个字符不加),不知这样写可否?比如用户输

                                                         入"1+2+3"时可以变为"1 + 2 + 3",因为Eval计算的时候是有空格的。但我这样写好像有问题。
        s=s & " "
    Next
    dim s1 as String =Eval(s)
    Tables(MainTable.Name).Current("数量") = s1 '单行写入的代码
   
End If

[此贴子已经被作者于2010-7-3 11:37:20编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1015 积分:7119 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2010/7/3 11:44:00 [只看该作者]

现在这样的代码,也出错!

 

If e.KeyCode = Keys.Enter Then
    Dim s As String = e.Form.Controls("TextBox1").value
    For i As Integer = 0 To s.Length - 1
        s=s & " "    
    Next
    s=s.Trim()
    dim s1 as String =Eval(s)
    Tables(MainTable.Name).Current("数量") = s1 '单行写入的代码
   
End If


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

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


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

做例子上来吧


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


加好友 发短信
等级:五尾狐 帖子:1015 积分:7119 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2010/7/3 11:58:00 [只看该作者]

搞定了,应该是样的:

If e.KeyCode = Keys.Enter Then
    Dim s As String = e.Form.Controls("TextBox1").text
    For i As Integer = 0 To s.Length - 1
        s=s & " "    
    Next
    s=s.Trim()
    dim s1 as String =Eval(s)
    Tables(MainTable.Name).Current("数量") = s1 '单行写入的代码
   
End If

 

[此贴子已经被作者于2010-7-3 11:58:38编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:858 积分:6071 威望:0 精华:19 注册:2008/9/1 9:13:00
  发帖心情 Post By:2010/7/3 13:18:00 [只看该作者]

Tables(MainTable.Name)

你可以替换成:MainTable

 

 


 回到顶部