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

写在前面

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

文章中设计到的源码,小凡都上传到了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= '' thenmessagebox('提示信息','请输入用户名!')
elseif sle_2.text = '123456' thenmessagebox('欢迎使用', sle_1.Text+'你好!')elsemessagebox('提示信息','密码错误,请重新输入!')end ifend 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.hqwc.cn/news/706053.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

海上定位测量难?千寻星基稳如“定”海神针_0416(update-2)

海上定位测量难?千寻星基稳如“定”海神针 近年来,随着海洋资源的开发和利用,海上定位测量的需求日益增加,它通过测量物体的位置和方向来确定海洋中的各项活动。其准确性和可靠性对于确保海上作业的安全和效率至关重要。 由于海…

Qwen学习笔记2:Qwen模型基于ReAct原理实现function calling

前言 这也是一篇笔记,再探索一下Qwen模型的function calling功能。 Qwen1.8B模型能够进行function calling功能吗? 我们使用之前的reason_prompt模板进行测试: PROMPT_REACT """ Use the following format:Question: the…

2024数维杯数学建模C题思路代码

2024年数维杯&电工杯思路代码在线文档​https://www.kdocs.cn/l/cdlol5FlRAdE 这道题想要做出好的结果,必须要结合插值法和分布函数来做,主要还是因为勘探点太少,直接用插值法效果不太好,以下是我做的,函数分布可…

宁静致远(“静”)

宁静致远是一个成语,读音为nng jng zh yuǎn,意思是只有心境平稳沉着、专心致志,才能厚积薄发、 有所作为。出自《淮南子:主术训》。 出处 宁静致远张铭篆刻 此句最早出自西汉初年道家刘安的《淮南子:主术训》,蜀汉丞相诸葛亮的…

C语言 | Leetcode C语言题解之第91题解码方法

题目&#xff1a; 题解&#xff1a; int numDecodings(char* s) {int n strlen(s);// 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 && ((s[i - 2] - 0) * 10…

tensorrtx-yolov5-v6.0部署在windows系统

前言&#xff1a;最近几天一直在搞这个东西&#xff0c;现在跑通了&#xff0c;为了以后自己看和帮助他人&#xff0c;就记录一下。虽然是跑通了但是觉得怪怪的&#xff0c;感觉不是自己想要的效果&#xff0c;另外这个只能检测图片&#xff0c;不能摄像头实时监测(我暂时没找到…

python批量生成25位数字字母混合序列号(SN码)

欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一.前言 二.代码 三.使用 四.分析 一.前言 SN码,即Serial Number的缩写,有时也被称为Serial No,是产品序列号的意思。它是一个独特的标识符,用于区分同一种类

python常用基础知识

目录 &#xff08;1&#xff09;print函数 &#xff08;2&#xff09;注释 &#xff08;3&#xff09;input函数 &#xff08;4&#xff09;同时赋值和连续赋值 &#xff08;5&#xff09;type函数和id函数 &#xff08;6&#xff09;python赋值是地址赋值 &#xff08;…

公共字段填充(AOP的使用)

Thread是线程池,ThreadLocal是线程变量,每个线程变量是封闭的,与其它线程变量分隔开来,在sky-common下的com.sky.context包下有一个Basecontext类 public class BaseContext {//每一个上下文创建了一个线程变量,用来存储long类型的id//创建三个方法,用来设置,取用,删除idpubli…

Learn Next.js(浅全栈)

Learn Next.js 中文教程

springboot005学生心理咨询评估系统

springboot005学生心理咨询评估系统 亲测完美运行带论文&#xff1a;获取源码&#xff0c;私信评论或者v:niliuapp 运行视频 包含的文件列表&#xff08;含论文&#xff09; 数据库脚本&#xff1a;db.sql其他文件&#xff1a;ppt.ppt论文&#xff1a;开题.doc论文&#xf…

git上传项目到github

有用git进行版本控制和github存储东西的需求 之前会的操作忘了&#xff0c;在此总结一套流程化方案 github上创建仓库绑定用户&#xff1a;打开git-bash&#xff0c;填写用户名和邮箱作为标识 $ git config --global user.name "" $ git config --global user.emai…