aardio 官方社区

用户名  找回密码
 注册会员

QQ登录

只需一步,快速开始

帖子
查看: 9001|回复: 3

请教如何在选中的空文本文档窗口依次显示tab1的所有值

[复制链接]

5

主题

13

回帖

105

积分

一级会员

积分
105
发表于 2014-11-15 01:42:50 | 显示全部楼层 |阅读模式
  1. import console;//打开控制台
  2. import winex;//打开外部窗口
  3. import key;
  4. tab1 = {1;2;1;3}
  5. winex.findActivate("新建文本文","","Notepad","Edit",15)
  6. // key.repeat("A",4)
  7. // key.press("enter")
  8. for(i=1;#tab1;1){
  9. console.log(tb[i])
  10. // 请教如何在选中的空文本文档窗口依次显示tab1的所有值
  11. }
  12. console.pause() //按任意键继续
  13. ;//关闭控制台
复制代码

5

主题

13

回帖

105

积分

一级会员

积分
105
 楼主| 发表于 2014-11-15 09:59:08 | 显示全部楼层
本帖最后由 zhang_54329 于 2014-11-15 10:01 编辑

1楼的代码倒手第五行 console.log(tb)
应该是 console.log(tab)


想 每步得到tab的一个值,后续发送到其他非txt文档用。
先谢。

13

主题

294

回帖

1790

积分

荣誉会员

积分
1790
发表于 2014-11-15 11:16:16 | 显示全部楼层
你这里有几个简单的错误

console.log() 是将参数输出到控制台 -> 也就是 import console打开的黑色DOS窗口.
而不是将文本发送到其他窗口。

将文本发送到其他窗口的函数有很多,可以看范例里有,例如  winex.say(文本,窗口句柄)
这里你要给他两个参数,第一个参数必须是文本,因为你是数值,所以你要用 tostring( tab1[ i ] ) 转换为文本字符串,第二个参数是窗口句柄,这里指的是记事本上那个文本框的句柄,也就是winex.findActivate()函数的第二个返回值,你并没有取返回值。

下面是我修改简化后的示例,你参考一下:

  1. import process;
  2. import winex;

  3. //定义待发送的数组
  4. var tab1 = {1;2;1;3}

  5. //查找记事本窗口
  6. var hwnd,hctrl = winex.findActivate("","","Notepad","Edit",15);
  7. if( ! hwnd ){
  8.     process.execute("Notepad.exe"); //找不到就运行记事本
  9.     hwnd,hctrl = winex.waitActive("","","Notepad","Edit",15); //再等待记事本窗口准备就绪
  10. }

  11. //循环发送文本
  12. for(i=1;#tab1;1){
  13.     winex.say(tostring( tab1[ i ] ),hctrl)  
  14. }
复制代码

5

主题

13

回帖

105

积分

一级会员

积分
105
 楼主| 发表于 2014-11-15 11:28:54 | 显示全部楼层
本帖最后由 zhang_54329 于 2014-11-16 09:12 编辑

真心谢谢 auaau
摸索了一个借用的代码模块(可成功运行)
  1. import process
  2. import winex
  3. tab = {}     //赋值tab数组
  4. /* 查找记事本窗口*/
  5. var hwnd,hctrl = winex.findActivate("","","Notepad","Edit",15);
  6. if( ! hwnd ){
  7.     process.execute("Notepad.exe"); //找不到就运行记事本
  8.     hwnd,hctrl = winex.waitActive("","","Notepad","Edit",15); //再等待记事本窗口准备就绪
  9. }
  10. /*tab赋值*/
  11. for(i=1;5;1){
  12.    tab[ i ]=i;//向数组里赋值
  13. }
  14. /*tab值列举*/
  15. for(i=1;#tab;1){
  16.    winex.sendString(tostring(tab[[ i ]]), hctrl)
  17.    winex.sendString('\r\n', hwnd) //每出一个tab值后,紧跟一个enter
  18. }       
复制代码
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|aardio.com|aardio 官方社区 ( 皖ICP备09012014号 )

GMT+8, 2025-3-15 06:54 , Processed in 0.055543 second(s), 22 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

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