ANTKD 发表于 2010-1-7 00:47:44

关于控件文件的读取

本帖最后由 ANTKD 于 2010-1-10 02:41 编辑

请教各位大哥一个忙.
我的问题是:
读取完一个控件里面已有的两行字,现在再向控件里面写入两行文字,然后重新读取控件里面的文本,但我想之前有的那两行,不再读取.就取之后加进去的两行文本.要怎么做呢???
例如 控件1 里面有两行字,分别为:
123456
aaaaaa
先读取完后.....
再向控件里面加入两行字.就就成下面这样.
123456
aaaaaa
567890
bbbbbb
现在就是要读取控件里面后加入的这两行文件的内容.(567890bbbbbbb).

具体怎么操作呢?请知道的指教一下.想了好久都没头绪.在此先谢了!!!!

59123608 发表于 2010-1-7 09:06:43

ControlGetText ( "窗口标题", "窗口文本", 控件ID);读文本
ControlSetText ( "窗口标题", "窗口文本", 控件ID, "新文本" [,标志] );修改文本
ControlSend ( "窗口标题", "窗口文本", 控件ID, "字符串" [, 标志] );发送字符串
标志你可以去帮助里看下,在函数参考→窗口管理→Controls里,或在帮助里直接搜索一下

ANTKD 发表于 2010-1-7 16:05:58

试一下这位兄弟的办法。先谢过。

ANTKD 发表于 2010-1-7 16:17:25

看了一下,可能我表达的意思不太清楚。

我的问题是:控件里面的文字在不段增加。
我每隔2秒钟读取一次控件。获取控件里面的文本。但要求,每次读取的内容要去掉之前已读取过的部份。
也就是例如:
第一次是
123
aaa
第二次因为控件在不断增加文件就变成
123
aaa
456
bbb
我再读取这个控件文本的时候,只想要456 BBB,之前已读取的部份不要。不知道能实现不?

ANTKD 发表于 2010-1-10 02:21:39

几天了.总没找到合适的方法.

最后,用了一个INI来做辅助.将第一次读取到的字符总数写入INI,第二次时,读取字符总数跟INI里面的数字作对比,从而得到不同的文本.然后再更新INI里面的数字.每一次作对比,再更新.

或许各位有更好的方法.但我这菜鸟只能暂时用这种了.呵..效果达到!!谢谢关心过此帖的兄台!!!

afan 发表于 2010-1-11 00:12:52

回复 1# ANTKD


    先获取之前的字符数,再减去相应数量的字符,应该就行了吧
没有源码,不好具体分析…… 写个简单例子如下(不判断用户是否删除之前的字符再重输的情况):GUICreate('读取test', 400, 300)
$Edit1 = GUICtrlCreateEdit('', 0, 0, 400, 250)
$button1 = GUICtrlCreateButton('读取上次上屏之后增加的输入', 10, 260, 220, 25)
GUISetState()
Dim $n = 0
While 1
        Switch GUIGetMsg()
                Case -3
                        Exit
                Case $button1
                        $a = GUICtrlRead($Edit1)
                        $nn = StringLen($a)
                        $s = StringMid($a, $n + 1)
                        If $nn >= $n Then MsgBox(0, 0, $s)
                        $n = $nn
        EndSwitch
WEnd
页: [1]
查看完整版本: 关于控件文件的读取