以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于Replace的一件怪事 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=12367) |
|
-- 作者:yangming -- 发布时间:2011/8/31 13:13:00 -- 关于Replace的一件怪事 这是一个替换的代码,在做的过程中,发现,如果这样设置,就不操作 Dim t1,t2,t3 As String t1=e.Form.Controls("TextBox1").text.Replace(t2,t3)
红字部分改成:t1=t1.Replace(t2,t3) 也不操作,只有改成下面蓝字这样才操作
e.Form.Controls("TextBox1").text = e.Form.Controls("TextBox1").text.Replace(t2,t3)
真是晕了,不明白为什么
|
|
-- 作者:狐哥 -- 发布时间:2011/8/31 13:28:00 -- 呀,还有这种方式,问下杨版.为什么要这样做? 前面已设置了T1的代码,后面再改一下,为何? 不好意思,我真不明白,解释一下如何. 试想一下,再设个T4不好吗?
我只是看这个有点怪,没有其它意思. |
|
-- 作者:blackzhu -- 发布时间:2011/8/31 13:30:00 -- 上次我碰到一个也是
|
|
-- 作者:yangming -- 发布时间:2011/8/31 13:32:00 -- 以下是引用狐哥在2011-8-31 13:28:00的发言:
呀,还有这种方式,问下杨版.为什么要这样做? 前面已设置了T1的代码,后面再改一下,为何? 不好意思,我真不明白,解释一下如何. 试想一下,再设个T4不好吗?
我只是看这个有点怪,没有其它意思. 我就是感觉奇怪啊,前面设了t1,但是后面如红字那样写就是不反应,非要如蓝字那样写才可以,呵,我设t1,t2,就是为了在最后一段代码短一点,不然就要好长了,呵 |
|
-- 作者:狐哥 -- 发布时间:2011/8/31 13:39:00 -- 哈哈,哪就再设个T4 |
|
-- 作者:yangming -- 发布时间:2011/8/31 13:50:00 -- 就是没搞明白,等贺老师来看看吧,到底是什么原因了 |
|
-- 作者:czy -- 发布时间:2011/8/31 13:54:00 -- 很简单啊,现在的t1只是个变量而已,其结果只能保存在变量中。 如果想写入TextBox1控件,肯定要后都才行了。 |
|
-- 作者:hhbb -- 发布时间:2011/8/31 14:23:00 -- 以下是引用yangming在2011-8-31 13:13:00的发言: 这是一个替换的代码,在做的过程中,发现,如果这样设置,就不操作 Dim t1,t2,t3 As String t1=e.Form.Controls("TextBox1").text.Replace(t2,t3)
红字部分改成:t1=t1.Replace(t2,t3) 也不操作,只有改成下面蓝字这样才操作
e.Form.Controls("TextBox1").text = e.Form.Controls("TextBox1").text.Replace(t2,t3) 其实已执行了!只不过你没见t1的值发生变化而已 t1= e.Form.Controls("TextBox1").text.Replace(t2,t3) \'代码意义:赋值 字符变量 t1为: t1.Replace(t2,t3) e.Form.Controls("TextBox1").text = e.Form.Controls("TextBox1").text.Replace(t2,t3) \'代码意义:把TextBox1的Text值 显示为 : t1.Replace(t2,t3)
|
|
-- 作者:yangming -- 发布时间:2011/8/31 14:27:00 -- 谢谢大家,呵呵,搞明白了! |
|
-- 作者:hhbb -- 发布时间:2011/8/31 14:29:00 -- 也就是说: e.Form.Controls("TextBox1").text在[=]前面或后面意义是不一样的
|