以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  关于表达式求值出错  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=7514)

--  作者:yankunhao
--  发布时间: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

 


--  作者:狐狸爸爸
--  发布时间:2010/7/3 11:21:00
--  
需要看错误提示才知道
--  作者:yankunhao
--  发布时间: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
--  发布时间: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
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2010/7/3 11:48:00
--  

做例子上来吧


--  作者:yankunhao
--  发布时间: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
--  发布时间:2010/7/3 13:18:00
--  

Tables(MainTable.Name)

你可以替换成:MainTable