找回密码
 加入
搜索
查看: 2659|回复: 7

[AU3基础] 为什么我读不到@GUI_DragFile返回的路径的文件内容?[已解决]

  [复制链接]
发表于 2011-12-18 21:54:03 | 显示全部楼层 |阅读模式
本帖最后由 bdancerlc 于 2011-12-18 23:26 编辑

我想实现的功能是拖拽的文件内容赋值到edit里面,可是通过@GUI_DragFile总是读不到文件内容:
先上代码

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$Form1 = GUICreate("测试事件模式", 468, 136, 192, 124, $GUI_DROPACCEPTED, $WS_EX_ACCEPTFILES)

$edit = GUICtrlCreateEdit("",0,0,468,136)
GUICtrlSetState($edit,$GUI_DROPACCEPTED)
GUISetOnEvent($GUI_EVENT_CLOSE, "gui")
GUISetOnEvent($GUI_EVENT_DROPPED, "gui")

Opt("GUIOnEventMode", 1)
GUISetState(@SW_SHOW)
Global $start = 0,$i

While 1
        Sleep(100)
WEnd

Func gui()
    Switch @GUI_CtrlId
        Case $GUI_EVENT_CLOSE
            Exit
                Case $GUI_EVENT_DROPPED
                        $file=FileRead (@GUI_DragFile)
                        MsgBox(0,'',$file)
    EndSwitch
EndFunc   ;==>gui
求解,不知道是哪里有问题...
发表于 2011-12-18 22:53:16 | 显示全部楼层
25行改为
$file = FileRead(StringTrimRight(@GUI_DragFile, 2))
 楼主| 发表于 2011-12-18 23:22:27 | 显示全部楼层
回复 2# afan


    谢谢老大,嘿嘿,...
    通过你的提示,我想了一下,大胆猜测了一下原因!
    你这句,删除右边的2个字符,是不是因为:
    @GUI_DragFile 返回的字符串中带有换行符: \r或者是\n  ?
    而fileread()命令中不能过滤掉这个换行符所造成的?
发表于 2011-12-18 23:23:04 | 显示全部楼层
回复 3# bdancerlc


    是的
 楼主| 发表于 2011-12-18 23:26:31 | 显示全部楼层
回复 4# afan


    谢谢,谢谢,这个问题我测试了昨天一晚上,找遍了论坛相关拖拽的例子,
    都只有返回路径,没有读取文件内容的!
   
    我的确注意到了有换行,但是没有去过多的考虑这层原因,...
   
发表于 2011-12-19 00:46:02 | 显示全部楼层
坑爹啊!!!!!!!! 幸好以前没这么用过。 楼主问的好!A版答的好!学习了 哈哈
发表于 2011-12-19 07:32:19 | 显示全部楼层
一般读不出来我每次都用msgbox输出一下,能输出就证明是哪里多了或者少了东西。。。
 楼主| 发表于 2011-12-19 12:40:00 | 显示全部楼层
回复 7# 兔子先生


    谢谢,我在A版的提示下,也用msgbox输出,后面还加了几个字符,
    发现有换行,不过没想到,通过路径读数据,不能过滤掉..
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-10-1 03:25 , Processed in 0.079664 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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