零基础用易语言编写抢购程序进行功能、性能和稳定性测试

本文介绍了如何使用易语言开发一个具有重发包显示、定时操作、线程设置和次数控制的抢购软件。通过实例讲解了安装配置、图形界面设计、代码实现以及测试过程,帮助初学者理解和实践易语言编程,特别关注并发编程和网络通信技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一 前言

1.易语言是什么?

2.为什么要写这个软件?

3.这个软件实现了什么

(1)重发包显示

(2)定时操作

(3)线程数量设置

(4)次数设定

二 易语言基础

安装和配置易语言开发环境

三 图形界面设计

1.标签设置

2.文本框设置

3.定时操作的设计

4.抢购操作的设计

四 代码实现

1.抢购

2.停止抢购

3.开始定时

4.停止定时

五 测试程序

六 发布软件


一 前言

1.易语言是什么?

易语言是一种面向中文用户的计算机编程语言,它注重简单易学、功能丰富、适合初学者的特点。易语言采用中文关键字和表达方式,使得初学者更容易理解和掌握编程知识。 易语言支持常见的编程结构,包括顺序结构、选择结构、循环结构等,同时具备丰富的内置函数和库,方便进行图形界面设计、文件操作、网络通信、数据库访问等各种应用开发。易语言还支持多线程和定时器等特性,适合编写需要并发处理的程序。 由于易语言使用中文关键字,因此在编写代码时更贴近中文表达习惯,降低了语言障碍,有利于初学者快速入门。易语言在国内有着广泛的用户群体,尤其受到学生、教育机构和个人开发者的青睐。

总的来说,易语言以其简单易学、功能丰富、适合中文用户的特点,为广大初学者和个人开发者提供了一个良好的编程平台。

2.为什么要写这个软件?

写一个教程关于易语言的0基础学习简单抢购功能是非常实用的,不仅对于抢购有帮助,还对软件测试员有以下几个用途:

学习易语言基础:编写抢购功能可以帮助初学者熟悉易语言的语法和基本概念,了解如何处理用户输入、控制流程、使用循环等。

熟悉网络编程:抢购功能通常需要与网络进行交互,包括发送请求、接收响应等。通过编写这样的功能,软件测试员可以学习如何使用易语言进行网络编程,并了解网络通信的基本原理。

实践并发编程:抢购过程中可能需要同时发送多个请求,这就涉及到并发编程。通过编写定时功能、线程数量和次数的控制,软件测试员可以学习如何处理并发操作、线程管理等相关知识。 掌握测试技巧:在编写抢购功能的过程中,可以结合软件测试的思维,考虑各种可能的情况,包括异常处理、边界条件等。这有助于提高软件测试员的测试思维和技巧。

通过编写易语言的抢购功能,不仅可以提高编程能力,还可以对软件测试员的技能提供实际应用场景。这对于初学者和想要进一步提升技术水平的人来说都是有益的。

3.这个软件实现了什么

这款软件能够帮助用户更高效地进行抢购操作。用户可以准确掌握重发包信息,利用定时功能合理规划抢购时间,灵活设置线程数量和抢购次数,提高成功率和效率。

(1)重发包显示

软件能够显示重发包,即在抢购过程中发送的请求包。这样用户可以清晰地看到每次请求的内容,方便进行调试和分析。

(2)定时操作

软件支持定时功能,用户可以设定抢购开始时间,倒计时到指定时间后自动开始抢购。这样用户无需手动等待,可以提前设定好时间,确保不会错过抢购时机。

(3)线程数量设置

软件允许用户设置线程的数量,即同时执行抢购的线程数。通过灵活设置线程数量,可以根据不同的网络环境和抢购需求,达到最佳的抢购效果。

(4)次数设定

软件支持设定抢购的次数,用户可以指定需要进行多少次抢购尝试。这样可以根据实际情况调整次数,增加成功率。

二 易语言基础

安装和配置易语言开发环境

在这里不便提供易语言文件的下载,相关文件百度都有自行下载。

然后开始打开易语言

启动易语言,在首次打开需要配置一下支持库。路径:顶部的菜单栏 工具-支持库配置-对于库选择全选,然后确认

接下来开始新建一个项目

顶部的菜单栏 程序-新建-Windows窗口工具-确认

三 图形界面设计

接下来我们开始设计一个适当的UI图像设计页面,使其尽量美观

先将窗口适当的拖动

1.标签设置

将窗口调整合适大小之后,开始设计标签,按照下面图示进行

依次设置六个标签

名称为标签_请求地址,标签内容为请求地址

名称为标签_请求标头,标签内容为请求标头

名称为标签_请求数据,标签内容为请求数据

名称为标签_抢购次数,标签内容为抢购次数

名称为标签_抢购线程,标签内容为抢购线程

名称为标签_定时设置,标签内容为定时设置

2.文本框设置

按照图示,在右侧扩展组件中,寻找到超级编辑框,设置了三个超级编辑框

分别名称为超级编辑框_请求标头,超级编辑框_请求数据,超级编辑框_日志

接下来设置了请求地址的文本框,这里选择基本组件的编辑框,名称为编辑框_请求地址

3.定时操作的设计

这里采用了三个编辑框,分别输入时-分-秒,三个标签显示其内容提示

标签分别为编辑框_时,编辑框_分,编辑框_秒

再设计三个标签,分别为

名称为标签_时,标签内容为时

名称为标签_分,标签内容为分

名称为标签_秒,标签内容为秒

对其设置定时按钮操作的设计,在这里设计了俩个

名称为按钮_开始定时,按钮内容为开始定时

名称为按钮_停止定时,按钮内容为停止定时

4.抢购操作的设计

先设计俩个编辑框,对抢购次数,抢购线程进行设置,这里选择基本组件的编辑框

名称为编辑框_请求次数

名称为编辑框_请求线程

接下来再设计俩个抢购的按钮

名称为按钮_开始抢购,按钮内容为开始抢购

名称为按钮_停止抢购,按钮内容为停止抢购

四 代码实现

双击“开始抢购按钮”,然后进入代码编辑页面

为使后面的线程变得可控,在这里添加线程句柄

由于本程序实现了post类的请求与多线程

先为程序导入模块,相关模块自行百度,都可以下载的到(我这里不方便提供)

1.抢购

现在为日志添加输出时间显示,添加一个新的子程序名字为_时钟1_周期事件,在空白处直接右键新子程序,名字为_时钟1_周期事件

进行添加一些变量名和代码,由于代码复制的问题,我在这里提供图片和代码俩种方式,直接复制过来和图示不太一样,作参考给大家

代码:

.版本 2
.支持库 iext2

y = 到文本 (t.wYear)
m = 到文本 (t.wMonth)
.如果真 (到整数 (m) < 10)
    m = “0” + m
.如果真结束
d = 到文本 (t.wDay)
.如果真 (到整数 (y) < 10)
    d = “0” + d
.如果真结束
h = 到文本 (t.wHour)
.如果真 (到整数 (h) < 10)
    h = “0” + h
.如果真结束
mm = 到文本 (t.wMinute)
.如果真 (到整数 (mm) < 10)
    mm = “0” + mm
.如果真结束
s = 到文本 (t.wSecond)
.如果真 (到整数 (s) < 10)
    s = “0” + s
.如果真结束
ms = 到文本 (t.wMilliseconds)
.如果真 (到整数 (ms) < 10)
    ms = “0” + ms
.如果真结束
.如果真 (到整数 (ms) > 10 且 到整数 (ms) < 100)
    ms = “0” + ms
.如果真结束
超级编辑框_日志.被选择文本 = y + “年” + m + “月” + d + “日” + h + “小时” + mm + “分” + s + “秒” + ms + “毫秒” + #换行符

图示:

对于上面的时钟要添加一些数据类型,在顶部的菜单栏中选择插入-数据类型,代码如下

.版本 2

.数据类型 SYSTEMTIME, , , SYSTEMTIME
    .成员 wYear, 短整数型, , , wYear
    .成员 wMonth, 短整数型, , , wMonth
    .成员 wDayOfWeek, 短整数型, , , wDayOfWeek
    .成员 wDay, 短整数型, , , wDay
    .成员 wHour, 短整数型, , , wHour
    .成员 wMinute, 短整数型, , , wMinute
    .成员 wSecond, 短整数型, , , wSecond
    .成员 wMilliseconds, 短整数型, , , wMilliseconds

图示

对于上面的时钟,需要使用到DLL命令

在顶部菜单栏中,找到 插入-DLL命令

.版本 2

.DLL命令 系统时间到毫秒, 整数型, "kernel32", "GetLocalTime"
    .参数 系统时间格式, SYSTEMTIME

图示

接下来开始写实现“开始抢购”的功能,为实现抢购,我又写了一个新的子程序“抢购”

在这里用到了精易模块中的post请求函数,代码如下

.版本 2
.支持库 iext2
.支持库 EThread

.子程序 抢购
.参数 返回值, 文本型
.参数 提交网址, 文本型
.参数 提交标头, 文本型
.参数 提交信息, 文本型
.参数 请求次数, 整数型
.局部变量 cishu, 整数型
.局部变量 当前时间, 日期时间型


提交网址 = 编辑框_请求地址.内容
提交标头 = 超级编辑框_请求标头.内容
提交信息 = 超级编辑框_请求数据.内容
请求次数 = 到整数 (编辑框_抢购次数.内容)

.计次循环首 (请求次数, cishu)
    启动线程 (&_时钟1_周期事件, , )
    返回值 = 编码_URL解码 (到文本 (网页_访问_对象 (提交网址, 1, 提交信息, , , 提交标头)), 真)
    超级编辑框_日志.被选择文本 = 返回值 + #换行符
.计次循环尾 ()


如图

接下来对抢购按钮进行实现,使用到了鱼刺模块的多线程,在这里实现了指定多线程与次数抢购

下面是代码

.版本 2
.支持库 EThread
.支持库 iext2

.子程序 _按钮_开始抢购_被单击
.局部变量 xian, 整数型
.局部变量 xiancheng, 整数型
.局部变量 handle, 整数型, , "1000"

xian = 到整数 (编辑框_抢购线程.内容)
线程池_创建 (xian)
.计次循环首 (xian, xiancheng)
    启动线程 (&抢购, , jieshu)
    超级编辑框_日志.被选择文本 = #换行符
    _延时 (10)
.计次循环尾 ()
线程池_销毁 (handle [xiancheng])

图示

2.停止抢购

在这里通过使用线程句柄来强制结束线程,相关代码如下

.版本 2
.支持库 EThread
.支持库 iext2

.子程序 _按钮_停止抢购_被单击

强制结束线程 (jieshu)
超级编辑框_日志.被选择文本 = #换行符 + “已强制结束所有线程”
信息框 (“成功强制暂停所有线程!”, 0, , )

图示

3.开始定时

现在为定时按钮功能,设计一个新子程序名为“定时”,相关代码如下

.版本 2
.支持库 EThread

.子程序 定时
.局部变量 时间, 日期时间型
.局部变量 时, 整数型
.局部变量 分, 整数型
.局部变量 秒, 整数型

.判断循环首 (真)
    时间 = 取现行时间 ()
    时 = 取小时 (时间)
    分 = 取分钟 (时间)
    秒 = 取秒 (时间)
    .如果真 (时 = 到整数 (编辑框_时.内容) 且 分 = 到整数 (编辑框_分.内容) 且 秒 = 到整数 (编辑框_秒.内容))
        启动线程 (&_按钮_开始抢购_被单击, , )
        跳出循环 ()
    .如果真结束

.判断循环尾 ()

图示

现在开始启动“开始定时”,为其子程序编写内容,相关代码如下

.版本 2
.支持库 EThread
.支持库 iext2

启动线程 (&定时, , time)
超级编辑框_日志.被选择文本 = #换行符 + “已开启定时!!!注意时间是否规范”

图示

4.停止定时

在这里使用线程句柄,去把有关定时的线程进行强制结束,相关代码如下

.版本 2
.支持库 EThread
.支持库 iext2

.子程序 _按钮_停止定时_被单击

强制结束线程 (time)
超级编辑框_日志.被选择文本 = #换行符 + “【已强制结束定时】”
信息框 (“成功强制结束定时!”, 0, , )

图示

五 测试程序

现对页面设计,在定时设置那里进行微调一下

现在开始测试程序 ★ 仅用于研究和学习的目的测试使用 ★

启动程序

往软件内填写数据,然后开始定时,如图所示,测试正常

如若要为软件顶部添加名字,看图示操作

六 发布软件

接下来打包软件,并为其设置名字为多线程定时。

在顶部的菜单栏中,选择编译-静态编译,然后软件名字设置为多线程定时,保存即可

生成软件双击打开,所有功能实现

评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值