Au3如何单行读取文本
本帖最后由 china0915 于 2010-3-25 19:46 编辑想写个东西 但是不知道怎么写 还希望大哥哥们帮忙看看
有一个Ini文件里面有N行内容,现在就想写个 类似 注册热键的复制粘贴小工具
按F2 复制(或读取的)ini里的第一行数据
按F3粘贴刚复制(或读取的)第一行数据、
完了再按F2,F3继续复制粘贴下行数据 但是不能重复 不知道怎么写 还望大哥们帮忙看看啊。 很简单的,用filereadline,指定 $i 行数就好了. 本帖最后由 kxing 于 2010-3-26 07:24 编辑
帮你写了吧,给论坛做点事情.
直接按F2即可复制并输出。不需要用到两个热渐。
当文件读到最后一行的时候自动从第一行开始,反复循环。
记住要在可输入的编辑器中暗F2,不然就起不了作用了。
HotKeySet("{F2}","_Copy")
Global $LineNum=1
Global $IniFile=FileOpenDialog("选择要读取的文本文件","","(*)")
If @Error Then Exit
While 1
Sleep(500)
WEnd
Func _Copy()
$GetLine=FileReadLine($IniFile,$LineNum)
If @Error=-1 Then
$LineNum=1
Else
ClipPut($GetLine)
Send("^{V}")
$LineNum+=1
EndIf
EndFunc
回复 3# kxing
借花献佛:face (3):
HotKeySet("{F2}","_Copy")
;定义F2为热键,按下F2后,执行函数“ _Copy"
Global $LineNum=1
Global $IniFile=FileOpenDialog("选择要读取的文本文件","","(*)")
If @Error Then Exit
;"选择要读取的文本文件"是"打开文件窗口的标题"
;" "是你指定"打开文件的路径",空默认为"系统根目录下"
;(*)是"打开的文件类型"
While 1
Sleep(500)
WEnd
;不清楚,等待什么呢?我把它拿掉也没影响什么?不过我也是刚学AU3不到1个月,还没摸到门呢?
Func _Copy()
$GetLine=FileReadLine($IniFile,$LineNum)
If @Error=-1 Then
$LineNum=1
Else
ClipPut($GetLine)
Send("^{V}")
$LineNum+=1
EndIf
EndFunc
;if @Error=-1 如果到文件末尾,在返回文件首行
;ClipPut($GetLine) 将读取到的内容放到剪贴板上,在 Send("^{V}") 进行粘贴,再 $LineNum+=1 进入下一行 如果去掉消息循环程序就立马退出了,还能F2吗?? 好东西啊,谢谢分享,我正好需要。 不错,学习一下。。 不错,学习一下。。
页:
[1]