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

[AU3基础] Au3如何单行读取文本

  [复制链接]
发表于 2010-3-25 19:44:16 | 显示全部楼层 |阅读模式
本帖最后由 china0915 于 2010-3-25 19:46 编辑

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

完了再按F2,F3继续复制粘贴下行数据 但是不能重复 不知道怎么写 还望大哥们帮忙看看啊。
发表于 2010-3-25 21:58:27 | 显示全部楼层
很简单的,用filereadline,指定 $i 行数就好了.
发表于 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

评分

参与人数 1金钱 +20 贡献 +2 收起 理由
afan + 20 + 2

查看全部评分

发表于 2010-3-26 09:17:07 | 显示全部楼层
回复 3# kxing
借花献佛
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 进入下一行

评分

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

查看全部评分

发表于 2010-3-26 10:14:17 | 显示全部楼层
如果去掉消息循环程序就立马退出了,还能F2吗??
发表于 2010-4-21 23:40:30 | 显示全部楼层
好东西啊,谢谢分享,我正好需要。
发表于 2010-4-25 08:48:27 | 显示全部楼层
不错,学习一下。。
发表于 2012-5-29 09:03:43 | 显示全部楼层
不错,学习一下。。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-30 09:22 , Processed in 0.087196 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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