欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > 【PB案例学习笔记】-18制作一个IP地址编辑框

【PB案例学习笔记】-18制作一个IP地址编辑框

2025/6/17 16:36:43 来源:https://blog.csdn.net/rong0913/article/details/139565068  浏览:    关键词:【PB案例学习笔记】-18制作一个IP地址编辑框

写在前面

这是PB案例学习笔记系列文章的第18篇,该系列文章适合具有一定PB基础的读者。

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

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

gitee代码仓库

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

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

一、小目标

在许多应用程序中,经常需要用户输入网络中某个节点的IP地址,而且IP地址需要符合一定的格式。

在本案例中我们将创建一个IP编辑框来提供用户输入,并且在控件失去焦点时校验用户输入的是否合法,如果不合法给出错误提示。

在程序中会用到几个新知识点①LoseFous 事件 ② 可视化对象创建

最终实现如下效果

IP地址编辑器

二、思路分析

由于IP地址每个数字应该在 0~255 之间,一个框输入完之后,我们按Enter键光标会跳到下一个输入框。这是输入框控件的

LoseFous事件会被触发,我们只需将数字校验写在该事件中即可

三、创建程序基本框架

有个基本思路之后,我们就可以动手写程序了

① 新建examplework工作区

② 新建exampleapp 应用

③ 新建w_main窗口,Title设置为IP地址

由于篇幅原因,以上步骤就不在重复写了。如果忘记了的小伙伴可以翻一翻该系列的第一篇文章

四、创建定制可视化用户对象

① 新建定制可视化用户对象

单击菜单栏上的File-->New命令,在New对话框的PB Object选项卡中选择Custom Visual图标,

单击OK按钮,完成可视化用户对象创建

窗口可视化用户对象

② 在用户对象中添加控件

在新建的用户对象中添加4个StaticText控件和4个SingleLineEdit控件,控件分别命名为st_1 ~st_3sle_1 ~sle_4.

st_1 ~st_3控件的Text值设置为"."。

具体如下图所示

控件布局

③ 保存对象为uo_ipaddressedit

五、编写代码

① 在uo_ipaddressedit 对象中添加of_checkpart(string part) return integer函数

校验输入值是否符合规范,代码如下

integer ret
setnull(ret)
if isnull(part) then return ret
if not isnumber(part) then return -1
if integer(part) < 0 then return -1
if integer(part) > 255 then return -1
return 1

② 在uo_ipaddressedit 对象中添加of_getipaddress() return string 函数,具体代码如下

if of_checkpart(sle_1.text) = -1 then return ""
if of_checkpart(sle_2.text) = -1 then return ""
if of_checkpart(sle_3.text) = -1 then return ""
if of_checkpart(sle_4.text) = -1 then return ""
string ls_ip
ls_ip = sle_1.text
ls_ip = ls_ip + "." + sle_2.text
ls_ip = ls_ip + "." + sle_3.text
ls_ip = ls_ip + "." + sle_4.text
return ls_ip

③ 在在uo_ipaddressedit 对象中添加erroinput事件,代码为空

添加erroinput事件

④ 在sle_1控件的LoseFocus 事件中添加如下代码

if of_checkpart(sle_1.text)= -1 thensle_1.setfocus()event erroinput(1)
end if
return 0

⑤ 在sle_2控件的LoseFocus 事件中添加如下代码

if of_checkpart(sle_2.text)= -1 thensle_2.setfocus()event erroinput(2)
end if
return 0

⑥ 在sle_3控件的LoseFocus 事件中添加如下代码

if of_checkpart(sle_3.text)= -1 thensle_3.setfocus()event erroinput(3)
end if
return 0

⑦ 在sle_4控件的LoseFocus 事件中添加如下代码

if of_checkpart(sle_4.text)= -1 thensle_4.setfocus()event erroinput(4)
end if
return 0

六、设置w_main 窗口控件

w_main窗口中添加一个uo_ipaddressedit 对象和一个CommandButton控件。分别命名为u0_1cb_1

其中cb_1按钮的Text值设置为"获取IP地址",各个控件布局如下图所示

控件布局

七、编写w_main 窗口中相关代码

① 在w_main窗口的u0_1控件的errinput事件中输入如下代码

MessageBox("错误消息","IP地址的第" + string(Position) +"部分出现了格式错误!")

② 在cb_1按钮的Clicked事件中添加如下代码

MessageBox("提示信息","IP地址为:" + uo_1.of_getipaddress())

③ 在开发界面左边的System Tree 窗口中双击exampleapp应用对象,并在其Open事件中添加如下代码

open(w_main)

八、运行程序

代码添加完成,看看我们的劳动成果如何

IP地址编辑器

本期内容到这儿就结束了,希望对您有所帮助。★,°:.☆( ̄▽ ̄)/$:.°★

我们下期再见 (●’◡’●) ヾ(•ω•`)o

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词