【PB案例學習筆記】-03用戶名密碼校驗

来源:https://www.cnblogs.com/xiezhr/p/18200437
-Advertisement-
Play Games

寫在前面 這是PB案例學習筆記系列文章的第3篇,該系列文章適合具有一定PB基礎的讀者。 通過一個個由淺入深的編程實戰案例學習,提高編程技巧,以保證小伙伴們能應付公司的各種開發需求。 文章中設計到的源碼,小凡都上傳到了gitee代碼倉庫https://gitee.com/xiezhr/pb-proje ...


寫在前面

這是PB案例學習筆記系列文章的第3篇,該系列文章適合具有一定PB基礎的讀者。

通過一個個由淺入深的編程實戰案例學習,提高編程技巧,以保證小伙伴們能應付公司的各種開發需求。

文章中設計到的源碼,小凡都上傳到了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_main title 密碼驗證
st_1 Text 請輸入用戶名:
st_2 Text 請輸入密 碼:
sle_1 Text
sle_2 TextPassword 空 |true
cb_1 TextDefault 確定|true
cb_2 TextCancel 取消|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 (●'◡'●)

本文來自博客園,作者:xiezhr,轉載請註明原文鏈接:https://www.cnblogs.com/xiezhr/p/18200437


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 01-什麼是Spring IOC 和DI ? IOC : 控制翻轉 , 它把傳統上由程式代碼直接操控的對象的調用權交給容 器,通過容器來實現對 象組件的裝配和管理。所謂的“控制反轉”概念就是對組件對象控制權的轉 移,從程式代碼本身 轉移到了外部容器。 DI : 依賴註入,在我們創建對象的過程中,把對 ...
  • 前言 大家好,我是老馬。很高興遇到你。 我們希望實現最簡單的 http 服務信息,可以處理靜態文件。 如果你想知道 servlet 如何處理的,可以參考我的另一個項目: 手寫從零實現簡易版 tomcat minicat 手寫 nginx 系列 如果你對 nginx 原理感興趣,可以閱讀: 從零手寫實 ...
  • 源碼: <?php error_reporting(0); if ($_SERVER['REQUEST_METHOD'] !== 'POST') { header("HTTP/1.1 405 Method Not Allowed"); exit(); } else { if (!isset($_PO ...
  • 在 Mac 上安裝多個 Python 版本可通過幾種不同方法實現。 1 Homebrew 1.1 安裝 Homebrew 若安裝過,跳過該步。 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/ ...
  • 目錄一、背景介紹二、爬蟲代碼2.1 展示爬取結果2.2 爬蟲代碼講解三、可視化代碼3.1 讀取數據3.2 數據清洗3.3 可視化3.3.1 IP屬地分析-柱形圖3.3.2 評論時間分析-折線圖3.3.3 點贊數分佈-箱線圖3.3.4 評論內容-情感分佈餅圖3.3.5 評論內容-詞雲圖四、技術總結五、 ...
  • 大家好,我是R哥。 最近,R哥分享了幾個特別有意思的面試輔導成功案例: 35K*14 薪入職了,這公司只要不裁員,我能一直呆下去。。 幹了 2 年多 Java 外包,終於脫離了! 輔導一周,連拿 3 個 Offer! 說到 985 學歷,找工作應該不算是什麼難事吧?何況還是 985 碩士? 這個學歷 ...
  • RuoYi-activiti —— 基於若依、Activiti 6.0,集流程設計、流程部署、流程執行、任務辦理、流程監控於一體的開源工作流開發平臺。 ...
  • 一、背景介紹 1.1 爬取目標 用python開發了一個抖音爬蟲採集軟體,可自動按博主抓取其已發佈視頻數據。 為什麼有了源碼還開發界面軟體呢?方便不懂編程代碼的小白用戶使用,無需安裝python,無需改代碼,雙擊打開即用! 軟體界面截圖: 爬取結果截圖: 結果截圖1: 結果截圖2: 結果截圖3: 以 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...