【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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...