Угощайтесь простым окном допуска к чему либо:
Код:
Enumeration
#SEYF ;Окно
#font_48
#Font_28
EndEnumeration
LoadFont(#Font_48,"Arial", 48, #PB_Font_Bold)
LoadFont(#Font_28,"Arial", 28, #PB_Font_Bold)
Global PASSWORD$="1234" ;цифры
;-Окно СЕЙФ (КОД)
Procedure WIN_SEYF()
Protected event
Protected k1,k2,k3,k4,k5,k6,k7,k8,k9,k0,k_ok,k_exit,K_del,TXT,OK
Protected KOD$
Shared PASSWORD$
OpenWindow(#SEYF,0,0,300,500,"ВВЕДИТЕ КОД ДОСТУПА",#PB_Window_WindowCentered |#PB_Window_SystemMenu);,WindowID(#win))
SetWindowColor(#SEYF,RGB(139, 69, 19))
TextGadget(TXT,5,5,290,90,"------",#PB_Text_Center): SetGadgetFont(TXT, FontID(#font_48))
k1=ButtonGadget(#PB_Any,5,100,90,90,"1"): SetGadgetFont(k1, FontID(#font_48))
k2=ButtonGadget(#PB_Any,105,100,90,90,"2"): SetGadgetFont(k2, FontID(#font_48))
k3=ButtonGadget(#PB_Any,205,100,90,90,"3"): SetGadgetFont(k3, FontID(#font_48))
k4=ButtonGadget(#PB_Any,5,200,90,90,"4"): SetGadgetFont(k4, FontID(#font_48))
k5=ButtonGadget(#PB_Any,105,200,90,90,"5"): SetGadgetFont(k5, FontID(#font_48))
k6=ButtonGadget(#PB_Any,205,200,90,90,"6"): SetGadgetFont(k6, FontID(#font_48))
k7=ButtonGadget(#PB_Any,5,300,90,90,"7"): SetGadgetFont(k7, FontID(#font_48))
k8=ButtonGadget(#PB_Any,105,300,90,90,"8"): SetGadgetFont(k8, FontID(#font_48))
k9=ButtonGadget(#PB_Any,205,300,90,90,"9"): SetGadgetFont(k9, FontID(#font_48))
k0=ButtonGadget(#PB_Any,105,400,90,90,"0"): SetGadgetFont(k0, FontID(#font_48))
k_ok=ButtonGadget(#PB_Any,5,400,90,90,"ОК"): SetGadgetFont(k_ok, FontID(#Font_28))
k_del=ButtonGadget(#PB_Any,200,400,90,90,"<"): SetGadgetFont(K_del, FontID(#font_28))
Repeat
Event = WindowEvent()
Select event
Case #PB_Event_CloseWindow
CloseWindow(#SEYF)
ProcedureReturn 0
Break
Case #PB_Event_Gadget
Select EventGadget()
Case k1
KOD$+"1"
Case k2
KOD$+"2"
Case k3
KOD$+"3"
Case k4
KOD$+"4"
Case k5
KOD$+"5"
Case k6
KOD$+"6"
Case k7
KOD$+"7"
Case k8
KOD$+"8"
Case k9
KOD$+"9"
Case k0
KOD$+"0"
Case k_ok
If kod$=PASSWORD$
ok=1
Break
Else
ok=0
EndIf
Case k_del
If Len(KOD$)>0
kod$=Left(kod$,Len(KOD$)-1)
EndIf
EndSelect
If Len(kod$)>6
kod$=Left(kod$,6)
Else
SetGadgetText(TXT,Left("------",6-Len(KOD$))+kod$)
EndIf
EndSelect
ForEver
CloseWindow(#SEYF)
ProcedureReturn OK
EndProcedure
If WIN_SEYF()
EndIf
Отредактировано Ev3658 (02.03.2026 02:56:42)