Угощайтесь простым окном допуска к чему либо:
https://upforme.ru/uploads/0009/ae/28/591/t47185.jpg

Код:

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)