00001  def new global shared var u-name as char.
00002  
00003  form
00004        "                                                  ####   ####  #####          " skip
00005        " HHHHHHHH     HHHHHHHH                      ttt  #      #    # #    #  llllll " skip
00006        " H::::::H     H::::::H                   ttt::t  #  ### #      #    #  l::::l " skip
00007        " H::::::H     H::::::H                   t::::t  #    # #    # #    #  l::::l " skip
00008        " HH:::::H     H:::::HH                   t::::t   ####   ####  #####   l::::l " skip
00009        "   H::::H     H::::H    ooooooooo  ttttttt::::tttttt       eeeeeeeeee   l:::l " skip
00010        "   H::::H     H::::H  oo:::::::::oot:::::::::::::::t     ee::::::::::ee l:::l " skip
00011        "   H:::::HHHHH:::::H o:::::::::::::t:::::::::::::::t    e:::::eeeee::::el:::l " skip
00012        "   H:::::::::::::::H o::::ooooo::::tttttt::::::ttttt   e:::::e     e::::l:::l " skip
00013        "   H:::::::::::::::H o:::o     o:::o     t::::t        e::::::eeeee:::::l:::l " skip
00014        "   H:::::HHHHH:::::H o:::o     o:::o     t::::t        e:::::::::::::::el:::l " skip
00015        "   H::::H     H::::H o:::o     o:::o     t::::t        e:::::eeeeeeeeee l:::l " skip
00016        "   H::::H     H::::H o:::o     o:::o     t::::t   ttttte::::::e         l:::l " skip
00017        " HH:::::H     H:::::Ho::::ooooo::::o     t:::::ttt:::::e:::::::e       l:::::l" skip
00018        " H::::::H     H::::::o:::::::::::::o     tt::::::::::::te:::::::eeeeeeel:::::l" skip
00019        " H::::::H     H::::::Hoo:::::::::oo        tt:::::::::tt ee:::::::::::el:::::l" skip
00020        " HHHHHHHH     HHHHHHHH  ooooooooo            ttttttttt     eeeeeeeeeeeelllllll"
00021     with frame f-logo at row 1 col 1 size 80 by 19 centered no-labels no-box.
00022  
00023  def var uname as char.
00024  def var upass as char.
00025  def var safe-name as char.
00026  
00027  form uname format "x(25)" label "User Name"  help "Default user/pw is hotel/hotel, 'quit' to exit" at row 1 col 26 colon-aligned
00028       skip
00029       upass format "x(25)" label "Password" blank  help "Default user/pw is hotel/hotel, 'quit' to exit" at row 2 col 26 colon-aligned
00030     with frame f-login centered no-box overlay side-labels size 37 by 2.
00031  
00032  frame f-login:row = 20.
00033  
00034  u-name = ?.
00035  
00036  repeat on endkey undo, next
00037         on error undo, next
00038         on stop undo, next:
00039     view frame f-logo.
00040     clear frame f-login all no-pause.
00041     
00042     update uname upass with frame f-login.
00043     
00044     if uname = "quit" then quit.
00045     
00046     if setuserid(uname, upass) then do:
00047        u-name = userid.
00048        leave.
00049     end.
00050     else do:
00051        safe-name = if uname eq ? then "?" else uname.
00052        safe-name = if length(safe-name) eq 0 then "''" else safe-name.
00053        message "Invalid userid (" + safe-name + ") or password.".
00054        next.
00055     end.
00056  end.
00057  
00058  run main.p.