找回密码
 加入
搜索
查看: 4410|回复: 14

[AU3基础] 获取input用FileWriteLine写入文本不对[已解决]

 火.. [复制链接]
发表于 2010-8-19 16:50:43 | 显示全部楼层 |阅读模式
本帖最后由 xg911335 于 2010-8-29 23:43 编辑

$Form1 = GUICreate("Form1", 362, 93, 192, 114)
$Input1 = GUICtrlCreateInput("""&$a&""-""&$b&""-""&$c&""-""&$d&""", 32, 24, 297, 21)
$Button1 = GUICtrlCreateButton("写入文本", 208, 64, 75, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $Button1
                        dim $a,$b,$c,$d
                                $a=1
                                $b=2
                                $c=3
                                $d=4
                        FileWriteLine ("test.txt", GUICtrlRead($Input1))
        EndSwitch
WEnd
为什么写入的是"&$a&"-"&$b&"-"&$c&"-"&$d&"而不是1-2-3-4呢?如何实现这样的功能?
发表于 2010-8-19 19:06:45 | 显示全部楼层
dim $a,$b,$c,$d
                                $a=1
                                $b=2
                                $c=3
                                $d=4
这几句应放在$Input1 = GUICtrlCreateInput("""&$a&""-""&$b&""-""&$c&""-""&$d&""", 32, 24, 297, 21)
前面

评分

参与人数 1金钱 +15 收起 理由
afan + 15

查看全部评分

发表于 2010-8-19 19:10:01 | 显示全部楼层
楼主逻辑不清楚吧!就你的代码来看
"&$a&"-"&$b&"-"&$c&"-"&$d&" 和 1-2-3-4 并没有直接关系啊!

评分

参与人数 1金钱 +15 收起 理由
afan + 15

查看全部评分

 楼主| 发表于 2010-8-20 13:01:53 | 显示全部楼层
那如何实现这样的功能呢,给个思路或者代码之类的。谢谢
发表于 2010-8-20 14:45:57 | 显示全部楼层
要么做成4个输入框让用户自行分别输入,要么让用户自行使用分隔符
发表于 2010-8-20 16:00:18 | 显示全部楼层
什么时候创建控件的时候默认值可以用未定义值的变量了
 楼主| 发表于 2010-8-20 16:52:26 | 显示全部楼层
研究了半天还是不行。有没有代码给段,我看看。。另外"&$a&"-"&$b&"-"&$c&"-"&$d&"这段我是想可以自定义排列方式。并不一定就是我所固定的方式。也有可能是"&$b&"=-="&$c&"-=="&$a&"==-"&$d&"这样的。
发表于 2010-8-20 17:02:07 | 显示全部楼层
目前为止貌似还没人弄明白你到底想表达什么
发表于 2010-8-20 17:04:12 | 显示全部楼层
本帖最后由 netegg 于 2010-8-20 17:05 编辑

楼主自己慢慢研究吧,语文一直就是弱项,帮不上忙了
 楼主| 发表于 2010-8-21 15:29:47 | 显示全部楼层
我是想让用户通过改变GUICtrlCreateInput("""&$a&""-""&$b&""-""&$c&""-""&$d&""")的内容来排序导出。可以修改ABCD的位置和"-"符号来导出自己想要的格式。如:("""&$c&""=""&$d&""=""&$a&""=""&$b&""")格式,导出是3=4=1=2排序。不知道这次表达好了没。呵呵
发表于 2010-8-21 15:50:03 | 显示全部楼层
$Form1 = GUICreate("Form1", 362, 93, 192, 114)
$Input1 = GUICtrlCreateInput("请输入adcd的格式", 32, 24, 297, 21)
$Button1 = GUICtrlCreateButton("写入文本", 208, 64, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
dim $a,$b,$c,$d
                $a=1
                $b=2
                $c=3
                $d=4                                        
                                                                
While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case -3
                        Exit
                Case $Button1
                                                $sr = GUICtrlRead($Input1)
                        $sr = StringReplace($sr,"a",$a)
                                                $sr = StringReplace($sr,"b",$b)
                                                $sr = StringReplace($sr,"c",$c)
                                                $sr = StringReplace($sr,"d",$d)
                                                FileWriteLine (@DesktopDir&"\test.txt",$sr)
        EndSwitch
WEnd
将用户输入的abcd依次替换为变量$a,$b,$c,$d
发表于 2010-8-22 00:01:23 | 显示全部楼层
LZ肯定是C语言转过来,建议多看看帮助
发表于 2010-8-22 00:04:43 | 显示全部楼层
直接filewrite也可以的啊
后加上换行符
发表于 2010-8-22 00:14:17 | 显示全部楼层
LZ用AU3的时间也不短了,怎么连AU3的语法都写错呢,真不懂

$Input1 = GUICtrlCreateInput("""&$a&""-""&$b&""-""&$c&""-""&$d&""", 32, 24, 297, 21)

这句根本不通啊
 楼主| 发表于 2010-8-26 19:41:28 | 显示全部楼层
前两天太忙了,搞得今天才来回帖。我用11楼的方法修改了一下。可以了。不会只能读取数据库里面的第一条数据。
…………………………
$Form1_1 = GUICreate("Form1", 475, 668, 408, 139)
$Input1 = GUICtrlCreateInput("user===pass===ipadd", 56, 560, 398, 21)
…………………………
Func daochu()
        Dim $name,$ip,$mac,$sr,$a=0
        $sr = GUICtrlRead($Input1)
        $file = FileOpen("list.txt", 10)
        If $file = -1 Then
                MsgBox(0, "错误", "不能打开文件.")
                Exit
        EndIf
                If FileExists($mdb_data_path) Then
                $addfld = ObjCreate("ADODB.Connection")
                $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" &$mdb_data_path&";Jet Oledb:Database Password="&$mdb_data_pwd)
                $RS =ObjCreate("ADODB.Recordset")
                $RS.ActiveConnection = $addfld
                $RS.cursorlocation = 3
                $RS.Open ("Select "&$T & " From " & $tblname )
                $n1 = $RS.RecordCount
                        If $RS.bof and $RS.eof then
                                MsgBox(0,"错误","没有数据集")
                        Else
                                while Not $RS.eof And Not $RS.bof
                                        if @error =1 Then ExitLoop
                                                $user = $RS.Fields (0).value
                                                $pass = $RS.Fields (1).value
                                                $ipadd = $RS.Fields (3).value
                                                $sr = StringReplace($sr,"user",$user)
                                                $sr = StringReplace($sr,"pass",$pass)
                                                $sr = StringReplace($sr,"ipadd",$ipadd)       
                                                MsgBox(0,"1",$sr&$name)
;~                                                 FileWriteLine ($file, $sr)
                                        $rs.movenext
                                WEnd
                                MsgBox(0,"提示","导出成功")
                        EndIf
                $rs.close
                $addfld.Close
                FileClose($file)
        Else
                MsgBox(0,"错误","被打开的文件不存在")
        EndIf
EndFunc
循环里的msgbox一直显示数据库的第一条。。是怎么会事啊?数据库里有几百条记录。第一条是zxc,123456,192.168.0.1循环几百次都是显示这条记录.
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-10-3 10:39 , Processed in 0.101850 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表