专业IT网络知识平台,分享IT百科知识、生活百科知识解答!

易企推科技
易企推科技

AAuto用户库标准库使用指南

来源:小易整编  作者:小易  发布时间:2023-09-02 04:33
摘要:首先创建对话框应用程序,打开main.aau,在【对话框】上添加一个按钮,如下图:然后暂时望记这按钮,在工具箱点击鼠标指针,然后在【对话框设计器】中点击【窗体】,按钮控件周围的八个小方块不见了,这表示他失去焦点了。然后我们点击快手...

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

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源码。

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



在弹出的【用户库】菜单中点击【新建库】,弹出【新建】对话框如下图:



直接输入新用户库的名字"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 函数代码如下:



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


本文地址:网络知识频道 https://www.hkm168.com/jiqiao/1046646.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


网络知识
小编:小易整编
相关文章相关阅读
  • nisec用户管理工具是什么

    nisec用户管理工具是什么

    nisec用户管理工具是指“税控盘税务数字证书驱动”,是百旺开票软件,属于增值税开票软件;它是税控盘的一个辅助驱动,usb插入金税盘或者税控盘,登录查询平台网站,需要用到nisec用户管理工具。如果卸载该软件,会导致电脑打不开税控开票软件,...

  • w3c五个标准是什么

    w3c五个标准是什么

    w3c五个标准是html、css、xml、dom和htt。详细介绍:1、html是一种用于创建和组织网页内容的标记语言,它定义了网页的结构和语义,并提供了一套标签和属性,用于描述和格式化文本、图像、链接和其他元素,html是构建网页的基础,...

  • 怎么查看电脑默认用户名是什么

    怎么查看电脑默认用户名是什么

    查看电脑默认用户名的方法:1、在搜索框中搜索控制面板,点击打开;2、进入用户账户选项,此时我们就可以看到电脑的默认用户名了;3、点击更改账户名称,输入新账户名可实现对系统用户名的修改。本文操作环境:windows10系统、thinkpad...

  • 计算机管理没有本地用户和组怎么解决

    计算机管理没有本地用户和组怎么解决

    解决方法:1、桌面中,右击“开始”按钮,选择“运行”;2、在运行窗口中,输入“mmc”命令,回车;3、点击“文件”-“添加/删除管理单元”;4、点击“本地用户和组”一项,点击“添加”按钮;5、选择“本地计算机”一项,点击“确定”。本教程操作...

  • 如何在Python中从用户输入一个字符串?

    如何在Python中从用户输入一个字符串?

    在Python中,有几种方法可以从用户输入一个字符串。最常见的方法是使用内置函数input()。该函数允许用户输入一个字符串,然后将其存储为一个变量以供程序使用。示例下面是一个在Python中从用户输入字符串的示例−#Defineav...

  • git如何切换管理员用户

    git如何切换管理员用户

    在使用git进行版本控制时,有时需要切换管理员用户。比如,原本使用的管理员用户离开了公司,需要将权限转交给新的管理员用户。或者,原本使用的管理员用户权限过高,需要将部分权限分配给其他用户。本文将介绍git如何切换管理员用户。第一步:查看当前...

  • 什么是标准模式?总结标准模式的实例用法

    什么是标准模式?总结标准模式的实例用法

    1.新的Doctype 尽管使用,即使浏览器不懂这句话也会按照标准模式去渲染也可以考虑使用怪异盒模式2.Figure元素 用和来语义化地表示带标题的图片    this is an image of something interest...

  • linux用户组有哪几种

    linux用户组有哪几种

    linux用户组有2种:1、基本组 ( 私有组 );建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是基本组。2、附加组 ( 公有组 ),可以容纳多个用户,组中的用户都具有组所拥有的权利。本教程操作环...

  • 周排行
  • 月排行
  • 年排行

精彩推荐