AAuto用户库标准库使用指南

____龍行天下

____龍行天下

2016-04-01 00:10

给自己一点时间接受自己,爱自己,趁着下午茶的时间来学习图老师推荐的AAuto用户库标准库使用指南,过去的都会过去,迎接崭新的开始,释放更美好的自己。

AAuto用户库标准库使用指南

   首先创建对话框应用程序,打开 main.aau,在上添加一个按钮,如下图:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com)
AAuto用户库标准库使用指南 图老师

  然后暂时望记这按钮,在工具箱点击鼠标指针,然后在中点击,按钮控件周围的八个小方块不见了,这表示他失去焦点了。然后我们点击快手右侧,在里面修改边框属性为:resizable

  把边框设置为resizable,那么窗体运行以后就可以用鼠标拖动边框调整大小了。

  然后继续在上添加一个,用鼠标拖动控件右下角的小方块调整到合适大小, 如下图:

  别忘记了窗体是可调整大小的,我们希望大小不变,总是显示在的右下角,然后我们希望大小是可变的,总是尽可能显示到最大,首先点击,在属性面板中点击前面的加号展开所有选项:

  然后设置左、右、上、下四个边距的属性为true,true就是真,false就是假,在编程中称为或者再按上面的方法设置固定下边距、固定右边距。然后在快手中点击测试一下效果,试试最大化运行显示的对话框。然后修改按钮控件的文本属性为点我抓取,如下图:

  然后在中双击按钮控件,自动切换到代码视图。快手编辑器自动的添加了一个事件函数:

  首先,我们删除上面的注释,双斜杠开始的行是注释语句,一般显示为绿色,注释语句在运行时会被忽略,这里的注释语句仅仅是演示用法,我们可以先删掉不必要注释(程序中不要包含不必要的注释是一个良好习惯),变成下面这样:

  function关键字定义一个函数,函数将一小段代码包含在一对大括号里,构成了一个短小的子程序。

  下次我们要调用这段子程序,只要输入函数名字加圆括号就可以,例如我们执行代码mainForm.button.oncommand() 也就是执行上面我们定义的函数。

  不过 oncommand是个特殊的函数,一般不是我们自己调用,而是在用户点击按钮时,由窗体对象自动调用的函数 - 也就是回调函数。

  例如你认识了一个新朋友,他会跟你说:Hi,请把你的电话号码留给我,你不要打电话给我,我有需要会打给你的,这就是回调的一种形式了,回调函数也一样,你定义好 mainForm.button.oncommand 这个函数,窗体会在有需要时自动调用你的oncommand函数。我们决定在用户点击按钮时修改文本框的内容,于是我们输入 mainForm.edit. 当输入圆点以后,快手编辑器自动列出了名字为edit的控件对象所有可用的成员属性、以及成员函数。如下图:

  经验是个很好的东西,所有的控件用法类似,甚至在不同编程语言里 - 常用的属性名、函数名都是类似的,再加上快手编辑器提供的代码自动提示功能,我们一般能快速的找到需要的属性、或方法。

  有的新手可能会说:我是真正的小白,什么经验也没有,我还是想知道edit控件到底有哪些可用的属性,最好是中文的说明,好吧,我告诉你怎么找到这些东西,所有的窗口控件,都是在标准库的 win.ui.ctrl 名字空间下定义的(别问我什么是名字空间,你不需要搞清楚,其实我也不清楚)。在标准库中找到 win.ui.ctrl.edit 然后双击鼠标左键打开库文件, 如下图:

  完成我们所有的代码如下( 鼠标放到代码上,然后你能在代码右上角看到复制源码的工具条 ):

  我们进一步修改上面的程序,我们希望点击按钮控件不仅仅只是显示 hello world,而是抓取一个网页的html源码,并显示在文本框中。

  我们希望在标准库中有一个名字空间叫 myTools 包含了我们需要的函数,而我们希望 myTools 名字空间下有一个 myTools.getHtml() 函数用来抓取网页的HTML源码。

  但是很遗憾,标准库里没有这些东西,当然,我们可以在工程的用户库里添加自定义的库。下面我们在工程用鼠标右键中点击,弹出下图的菜单:

  在弹出的菜单中点击,弹出对话框如下图:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com)

  直接输入新用户库的名字"myTools",点后点击按钮,一切很顺利,在的目录下多了库文件 myTools,并且在编辑器中自动打开了这个库,如下图:

  用户库中添加了默认代码

  namespace 定义一个新的名字空间,我们可以在名字空间中添加需要的函数 getHtml,修改用户库代码如下;

  return 语句指定函数的返回值。继续修改上面的代码,将 return "返回值"; 改为返回网页源码。

  因为我们需要抓取网页,需要用到标准库中的 inet.http 对象,我们使用 import inet.http; 导入这个库备用,修改代码如下:

  点击快手的按钮保存库文件。

  切换到 main.aau ,修改按钮回调函数为如下代码:

  我们发现一点小小的不足,myTools.getHtml()只是固定的抓取指定网址,这非常的不方便,我们再回到 myTools 用户库,将网址修改为可变的函数参数,修改后的 myTools库源码如下( 修改部份为粗体字 ):

  函数多了一个网址参数,在调用时需要由调用者在参数中传入要抓取的网址,在 myTools用户库最后面,添加一小段智能提示配置代码,如下:

  点击按钮保存库文件,然后在中右键点击用户库,在弹出菜单中点击

  我们回到 main.aau 文件,修改 mainForm.button.oncommand 事件回调函数如下:

  我们还遇到一个问题,如果网速比较慢的话,抓取的时间会很长,在单线程的窗口程序中,如果线程被耗时的操作所阻塞,也就不能正常的处理用户消息,导致用户点击界面没有反应。

  这时候就需要用到多线程了,使用 thread.create() 可以创建线程,我们还要用 thread.waitOne() 函数等待线程执行完成。

  在窗口程序中,可以使用更简单的 win.invoke() 函数创建工作线程。

  win.invoke() 会创建一个工作线程执行代码,并且等待线程结束,然后获取返回值。

  我们修改 main.aau 中 mainForm.button.oncommand 函数代码如下:

  看完上面的教程相信大家心中已经有一些操作方向了。

展开更多 50%)
分享

猜你喜欢

AAuto用户库标准库使用指南

电脑网络
AAuto用户库标准库使用指南

MYSQL数据库初学者使用指南

Web开发
MYSQL数据库初学者使用指南

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

iMessageSpamReporter使用指南

iphone 手机软件
iMessageSpamReporter使用指南

imagemagick使用指南

电脑入门
imagemagick使用指南

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Eisoo DiskGenius使用指南

电脑入门
Eisoo DiskGenius使用指南

黄油相机使用指南

黄油相机 APP 手机软件
黄油相机使用指南

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

iphone4S电池寿命查看法

iphone4S电池寿命查看法

360天气怎么在桌面显示?

360天气怎么在桌面显示?
下拉加载更多内容 ↓