china0915 发表于 2010-3-25 19:44:16

Au3如何单行读取文本

本帖最后由 china0915 于 2010-3-25 19:46 编辑

想写个东西 但是不知道怎么写 还希望大哥哥们帮忙看看
有一个Ini文件里面有N行内容,现在就想写个 类似 注册热键的复制粘贴小工具
按F2 复制(或读取的)ini里的第一行数据
按F3粘贴刚复制(或读取的)第一行数据、

完了再按F2,F3继续复制粘贴下行数据 但是不能重复 不知道怎么写 还望大哥们帮忙看看啊。

kxing 发表于 2010-3-25 21:58:27

很简单的,用filereadline,指定 $i 行数就好了.

kxing 发表于 2010-3-26 06:58:21

本帖最后由 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

newuser 发表于 2010-3-26 09:17:07

回复 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 进入下一行

kxing 发表于 2010-3-26 10:14:17

如果去掉消息循环程序就立马退出了,还能F2吗??

51ak 发表于 2010-4-21 23:40:30

好东西啊,谢谢分享,我正好需要。

menfan 发表于 2010-4-25 08:48:27

不错,学习一下。。

迷龙88 发表于 2012-5-29 09:03:43

不错,学习一下。。
页: [1]
查看完整版本: Au3如何单行读取文本