【PB案例学习笔记】-03用户名密码校验

news2024/12/23 8:46:40

写在前面

通过一个个由浅入深的编程实战案例学习,提高编程技巧,以保证小伙伴们能应付公司的各种开发需求。

文章中设计到的源码,小凡都上传到了gitee代码仓库https://gitee.com/xiezhr/pb-project-example.git

gitee代码仓库

需要源代码的小伙伴们可以自行下载查看,后续文章涉及到的案例代码也都会提交到这个仓库【pb-project-example

如果对小伙伴有所帮助,希望能给一个小星星⭐支持一下小凡。

一、小目标

本小节使用了StaticText控件、SingleLineEdit控件、CommandButton控件、Messagebox函数

这小节的目的主要是学会SingleLineEdit控件的使用,其他控件及函数在第一小节已经设计,这里就不再重复了

最终实现如下截图效果

最终效果

二、创建程序基本框架

① 创建work工作区

② 建立app应用

③ 建立w_main窗口

以上步骤如果忘记怎么操作的小伙伴,可以看看第一篇文章。这里由于篇幅原因,就不再赘述

④ 窗口中布置控件

窗口中添加两个StaticText 控件、两个SingleLineEdit 控件和两个CommandButton 控件。

如下图所示,各个控件名称为st_1sle_1st_2sle_2cb_1cb_2

控件布置

⑤ 设置控件属性

控件名称属性值
w_maintitle密码验证
st_1Text请输入用户名:
st_2Text请输入密 码:
sle_1Text
sle_2TextPassword空 |true
cb_1TextDefault确定|true
cb_2TextCancel取消|true

控件添加属性

⑥ 保存窗口

三、编写事件代码

这里我们模拟系统密码为123456,实际密码需要去数据库查询获取

① 在按钮cb_1Clicked事件中添加如下代码

sle_1.Text 代码可以获取控件中文本内容

if sle_1.Text= '' then
	messagebox('提示信息','请输入用户名!')
else
	if sle_2.text = '123456' then
		messagebox('欢迎使用', sle_1.Text+'你好!')
	else
		messagebox('提示信息','密码错误,请重新输入!')
		
	end if
	
end if

② 在按钮cb_2Clicked事件中添加如下代码进行关闭窗口

close(parent)

③ 在左边System Tree 窗口中双击App应用对象,在open 事件中添加如下代码

//程序启动打开窗口w_main
open(w_main)

四、运行程序

运行程序

密码验证

五、SingleLineEdit 控件

5.1 常用属性
属性名称描述
Visible 默认为 True。当为 False 时,该控件在窗口上隐藏
Enabled 默认为 True。当为 False 时,该控件不能获得焦点,用户不能进行编辑和选
中;控件背景为灰色
DisplayOnly 默认为 False。当为 True 时,该控件中的文字不能被修改,并且也不能
输入,但可以选中、复制
Password 默认为 False。当为 True 时,在该输入框中输入的内容显示为“ *”号,
星号的数目等于输入的字符的数目,加密规则依赖于操作系统。其实际内容和用户输入的内
容一致
AutoHScroll 默认为 True,表示当用户输入的内容显示不下时,可以自动横向滚动
光标,但是不显示滚动条
HideSelection 默认为 True,表示只有当单行编辑器获得焦点时,才高亮显示选中文
本。建议使用默认值,因为将该属性设置为 False,没有获得焦点时,选中的内容就高亮显示,
这容易让用户造成错误
Limit 默认是 0,表示没有长度限制。可以输入其他一个数字,表示该单行编辑框中
最多接受用户输入的字符个数,最大数字是 32 767
Case 有三个选项, upper 表示用户输入的内容中的字母都自动转换成大写, down
表示都自动转换成小写, any 表示不做转换
Text 这是该控件运行时最经常使用的一个属性。可以给该属性赋值来将特定信息显
示在单行编辑器中,也可以读取该属性而获得单行编辑器中的内容。设计状态下,在 Text
属性输入框中录入的文字在窗口刚刚打开时显示在单行编辑框中
Border 是否显示边框,默认为 True
5.2 事件和脚本

提供了 12 个事件, Modified 是经常使用的事件,其他事件和命令按钮的同名事件完全相同。

该事件的触发时机是在编辑器中输入内容后,焦点离开该编辑器时

单行编辑器提供了很多的函数,其中需要掌握的有 10 个经常使用的函数,这 10 个常用

5.2.1 CanUndo 函数

语法

sle_1.CanUndo ()

返回值:Boolean

  • 如果可以撤销上一次的编辑操作,则返回True
  • 如果不能撤销上一次的编辑操作,则返回False

功能

检查是否可以撤销上一次的编辑操作

5.2.2 Undo 函数

语法

sle_1.Undo()

功能

撤销上一次的编辑操作,恢复到之前的文本状态

5.2.3 Clear 函数

语法

sle_1.Clear ()

返回值:Integer

  • 清除的文本内容长度,清除一个字符,则返回1
  • 未选中内容,返回0
  • 执行错误返回-1

功能

清除SingleLineEdit控件中选中的文本内容

注: 需要在文本内容选中的情况下才能清除

5.2.4 Copy 函数

语法

sle_1.Copy()

返回值:Integer

  • 复制到剪切板的文本内容长度
  • 未选中内容,返回0
  • 执行错误返回-1

功能

SingleLineEdit控件中选定的文本复制到剪贴板。

5.2.5 Cut函数

语法

sle_1.Cut()

功能

SingleLineEdit控件中选定的文本剪切并复制到剪贴板。

返回值:Integer

  • 剪切到剪切板的文本内容长度
  • 未选中内容,返回0
  • 执行错误返回-1
5.2.6 Paste函数

语法

sle_1.Paste()

返回值:Integer

  • 剪切板的文本内容长度

功能

将剪贴板中的内容粘贴到SingleLineEdit控件中

5.2.7 SetFocus函数

语法

sle_1.SetFocus()

功能

将焦点设置到SingleLineEdit控件上

本期内容到这儿就结束了,希望对您有所帮助。
我们下期再见 ヾ(•ω•`)o (●’◡’●)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1680960.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微软宣布GPT-4o模型,可在 Azure OpenAI上使用

5月14日,微软在官网宣布,OpenAI最新发布的多模态模型GPT-4o,可以在 Azure OpenAI 云服务中使用。 据悉,GPT-4o支持跨文本、视频、音频多模态推理,例如,通过GPT-4o打造一个AI助手,用于辅导孩子解…

AIGC时代已至,你准备好抓住机遇了吗?

一、行业前景 AIGC,即人工智能生成内容,是近年来人工智能领域中发展迅猛的一个分支。随着大数据、云计算、机器学习等技术的不断进步,AIGC已经取得了显著的成果,并且在广告、游戏、自媒体、教育、电商等多个领域实现了广泛应用。…

界面组件DevExpress WPF v23.2 - 全新升级的数据编辑器、流程图组件

DevExpress WPF拥有120个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 DevExpress WPF控件日…

Ubuntu16 扩展磁盘空间

一、扩展容量 关闭虚拟机->硬盘->扩展->输入要扩展的空间大小 二、重新磁盘分区 打开虚拟机,在终端安装gparted: sudo apt-get install gparted 打开gparted: sudo gparted 磁盘分区如下图所示 选择/dev/sda5分区,选择…

平均工资数据分析之回归

链接: R语言实战——中国职工平均工资的变化分析——相关与回归分析 1、模型诊断和评估的方法 1. 残差分析 1、残差图 (Residual Plot):用于检查残差是否存在非随机模式。理想情况下,残差应随机分布在零附近。 2、Q-Q 图 (Quantile-Quantile Plot)&am…

MATLAB基础—变量及其操作

众所周知,计算机所处理的数据都是存放在内存单元中的,而每个内存单元都有一个唯一的地址,程序就是通过这个内存单元的地址来访问内存单元的。 在高级语言中,只需要给每个内存单元取一个名字,然后通过这个名字就能够访问…

大模型学习笔记九:模型微调

文章目录 一、什么时候需要Fine-Tuning二、用Hugging Face根据电影评论输出来对电影进行情感分类1)安装依赖2)操作流程3)名字解释4)代码导入库和加载模型、加载数据库、加载tokenlizer5)其他相关公共变量赋值(随机种子、标签集评价、标签转token_Id)6)处理数据集:转成…

数据挖掘与机器学习——概念篇

目录 一、数据增长情况与计量单位 二、数据挖掘的概念 三、数据挖掘的应用案例 1. 互联网行业 2. 医学方面 3. 网络安全方面 4. 交通方面 5. 通信方面 6. 个人生活 四、数据挖掘的方法 1.对比分析 2. 同比分析 3. 环比分析 4. 80/20分析 5. 回归分析 6. 聚…

PingCAP 黄东旭参与 CCF 秀湖会议,共探开源教育未来

日前,第十二期 CCF 秀湖会议在苏州 CCF 业务总部 & 学术交流中心成功举办。本次会议以“开源教育:使命、挑战与发展”为主题,汇聚了来自学术界、工业界的二十余位专家,共同探讨开源教育的现状与未来。 PingCAP 联合创始人兼 C…

C++ | Leetcode C++题解之第91题解码方法

题目&#xff1a; 题解&#xff1a; class Solution { public:int numDecodings(string s) {int n s.size();// a f[i-2], b f[i-1], c f[i]int a 0, b 1, c;for (int i 1; i < n; i) {c 0;if (s[i - 1] ! 0) {c b;}if (i > 1 && s[i - 2] ! 0 &&a…

风电功率预测 | 基于GRU门控循环单元的风电功率预测(附matlab完整源码)

风电功率预测 风电功率预测 | 基于GRU门控循环单元的风电功率预测(附matlab完整源码)完整代码风电功率预测 | 基于GRU门控循环单元的风电功率预测(附matlab完整源码) 完整代码 clc; clear close allX = xlsread(风电场预测.xlsx)

启明云端ESP32-S3模组WT32-S3选型,Flash最大可选16MB,PSRAM最大可选8MB

使用ESP32-S3单芯片&#xff0c;可以完成语音连接屏控三合一功能。接下来给大家推荐一款ESP32-S3模组WT32-S3&#xff0c;Flash 最大可选 16MB,PSRAM 最大可选 8MB。核心芯片是ESP32-S3。 2.4GHz Wi-Fi(802.11b/g/n)Bluetooth 5(LE)模组&#xff0c;内置ESP32-S3系列芯片&#…

如何在Sui智能合约中验证是否为多签地址

通过多签合约实现多个用户可访问的安全账户。多签&#xff08;multi-sig&#xff09;钱包和账户通过允许多个用户在预定义条件下访问共享资产&#xff0c;或让单个用户实施额外的安全措施&#xff0c;从而增强密钥管理。例如&#xff0c;多签钱包可以用于管理去中心化自治组织&…

Leetcode---1.两数之和 (详解加哈希表解释和使用)

文章目录 题目 [两数之和](https://leetcode.cn/problems/two-sum/)方法一&#xff1a;暴力枚举代码方法二&#xff1a;哈希表代码 哈希表哈希表的基本概念哈希函数&#xff08;Hash Function&#xff09;&#xff1a;冲突&#xff08;Collision&#xff09;&#xff1a;链地址…

mysql 查询---多表设计

部分数据 1distinct去重 select distinct job from tb_emp;select * from tb_emp where id in (1,2,3); select * from tb_emp where id between 1 and 5; select * from tb_emp where name like __; #下划线匹配单个字符, %匹配任意多个字符select min(entrydate) from tb_e…

JUnit5参数化用例(三)

JUnit5枚举参数的参数化&#xff1a; 使用枚举类作为测试数据枚举参数参数化注解EnumSource必须与ParameterizedTest结合使用 枚举参数化注解 -简单使用&#xff1a; 需要添加EnumSource注解测试方法传入枚举类作为参数 在执行前&#xff0c;我们需了解enum枚举的使用方式&…

LLama3大模型本地部署 仅需6步完成对话模型本地安装部署。附送可视化ui安装、自定义模型目录,修改模型保存地址,第三方微调模型、中文模型下载地址

本篇分为三部分 一&#xff1a;6步完成llama3大模型本地部署 二&#xff1a;8步完成llama3可视化对话界面安装 三&#xff1a;重设模型文件路径 四&#xff1a;微调模型、中文模型下载资源分享 一、LLama3 大模型本地部署安装 首先去mata官网下载ollama客户端 Ollama 选择合适…

线程池 ThreadPool

一般情况下我们都使用Thread类创建线程&#xff0c;因为通过Thread对象可以对线程进行灵活 的控制。但过多创建线程和销毁线程&#xff0c;会消耗掉大量的内存和CPU资源&#xff0c; 假如某段时间内突然爆发了100个短小的线程&#xff0c;创建和销毁这些线程就会消耗很多时间&a…

如何使用一段传输线表示电感和电容

文中部分图片来自于《complete Wireless design》 如何使用一段传输线来表示电感和电容&#xff0c;本文将就此内容展开&#xff1a;

Redis-如何保证与Mysql数据一致性

文章目录 Redis与Mysql数据一致性的情况有哪些&#xff1f;Redis与Mysql数据保持一致性的方案&#xff1f;同步双写机制删除缓存重新加载机制延迟双删机制利用MQ保持数据一致性 本篇小结 更多相关内容可查看 Redis与Mysql数据一致性的情况有哪些&#xff1f; Redis和MySQL是两…