feilong 发表于 2013-2-10 19:22:04

[已解决]如何逐行读取文本框(edit),并存到一个数组中?

本帖最后由 feilong 于 2013-2-11 09:31 编辑



如图所示的一个文本框,如何逐行读取,并存到数组中?

zjfuwen 发表于 2013-2-10 21:52:11

我也想知道啊!!!

happytc 发表于 2013-2-10 23:25:56

回复 1# feilong


    哈……,这个问题太简单了,没有人回答,我来

#include <Array.au3>
Local $sStr = "", $sStrCtrl, $aStr

Run("NOTEPAD.EXE")
WinWait("", "", 5)
For $i = 1 To 20
        For $j = 1 To 10
                $sStr &= Chr(Random(Asc("A"), Asc("Z"), 1))
        Next
        $sStr &= @LF
Next
Sleep(1000)
$hNotepad = WinGetHandle("")
ControlSend($hNotepad, "", "Edit1", $sStr)
$sStr = ""
$sStrCtrl = ControlGetText($hNotepad, "", "Edit1")
$aStr = StringSplit($sStrCtrl, @LF)
_ArrayDisplay($aStr)

weeks5 发表于 2013-2-11 08:30:56

看看学习啦·高手真多

feilong 发表于 2013-2-11 09:25:08

没想到用字符串的命令,谢谢了

lanfengc 发表于 2013-2-11 17:36:38

本帖最后由 lanfengc 于 2013-2-12 09:11 编辑

回复 3# happytc

第10句改成:
    $sStr &= @CRLF
第14句改成:
ControlSetText($hNotepad, "", "Edit1", $sStr)
第17句改成:
    $aStr = StringSplit(StringReplace($sStrCtrl,@LF,""), @CR)
能够提高效率.

sango 发表于 2013-2-16 10:12:19

学习了。。
页: [1]
查看完整版本: [已解决]如何逐行读取文本框(edit),并存到一个数组中?