之前自己一直是在loginform窗體中寫判斷語句,使用者名稱及密碼有錯的話,不能重新顯示該窗體。
參考其他網友的做法,在主窗體的oncreate事件中動態建立loginform.並在mainform中的oncreate事件來判斷登入的正確性。可以重複呼叫loginform.showmodal事件。
procedure
tform1.check_psw(times: integer);
begin
inc(times);
if(loginfrm.showmodal
=mrok)
then
begin
if(times
<4)
then
begin
if(loginfrm.edit1.text
<>
'edit1')
then
//此處省略了從資料庫中查詢使用者名稱及密碼的過程
begin
'沒有該使用者',
'error',
0);check_psw(times);
endelse
if(loginfrm.edit2.text
<>'12
') then
begin
'密碼錯誤',
'error',
0);check_psw(times);
endelse
loginfrm.free;
endelse
begin
'over 3 times',
'error',
0end
;end
else
begin
'退出程式',
'info',
0end
;end;
procedure
tform1.formcreate(sender: tobject);
begin
loginfrm:
=tloginform.create(
nil);
check_psw(0);
end;
以上想法參照網友,非自己原創。但找不到出處了。個別處理自己作出了調整!
winform中實現不重複建立窗體
晚上有問了個問題,通過button的click事件,例項化乙個窗體,並show 當我多次點選button時,會產生多個窗體。請問怎麼解決這個問題?不想通過設定button的enable false來解決這個問題。其實這也算是乙個比較實際的問題,有回答說可以使用模式窗體,呵呵,稍微想了下確實是可以解決...
原創 ElasticSearch 分頁重複的問題
相關環境 elasticsearch 6.7.0 python 3.7 python elasticsearch library 7.9.0 問題描述 當使用 elasticsearch 進行分頁取數時,出現了跨頁資料重複的問題。問題原因 這是由於 es 的分片儲存與分片檢索機制導致的資料重複,具體...
c 登入窗體與主窗體的關閉
有許多人在用做c 做登入窗體時會遇到這樣的問題,登入成功後當前登入form關閉,開啟main窗體,但main窗體點關閉按鈕後程式仍在程序仍舊在執行。事實上,關閉main窗體,只是關閉了main窗體的執行緒,並沒有關閉程式的主線程,即程式的主線程為登入from。程式入問的main 方法 其中frmlo...