home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / clarion / tools.zip / TOOLS.COM / GETPASS.FUN < prev    next >
Text File  |  1988-10-20  |  7KB  |  97 lines

  1. !VERSION 1.C - WED MAY 25,1988-3:24PM
  2. !-------------------------------------------------------------------------------
  3. ! GET PASSWORD IN BLANK FIELD DISPLAY
  4. !-------------------------------------------------------------------------------
  5. GETPASS  FUNCTION(OPTION,PASSIN,MSG)
  6.                                                                                                                                                                                                                                  
  7. PASSSCR      SCREEN       WINDOW(5,28),PRE(SCN),HLP('NOT_AVAL'),HUE(7,0,0)
  8.                ROW(1,2)   STRING('╔═{24}╗'),ENH
  9.                ROW(2,2)   REPEAT(2),EVERY(2);STRING('║<0{24}>║'),ENH .
  10.                ROW(3,2)   STRING('╟─{24}╢'),ENH
  11.                ROW(5,2)   STRING('╚═{24}╝'),ENH
  12.                ROW(2,4)   STRING('Password:')
  13.                           REPEAT(1,10),INDEX(IDX)
  14.                  COL(13)    PAUSE(' '),USE(?PAUSE),REV
  15.                           .
  16.                           REPEAT(1,10),INDEX(IDX)
  17. DCHAR            COL(13)    STRING(1)
  18.                           .
  19. MESSAGE        ROW(4,3)   STRING(24)
  20.              .
  21.                                                                                                                                                                                                                                  
  22. PASSIN       EXTERNAL   !STRING(10)
  23. INPUT        GROUP
  24. CHARS          STRING(1),DIM(10)
  25.              .
  26.                                                                                                                                                                                                                                  
  27. MSG          STRING(8)
  28. IDX          SHORT
  29. RETYRIES     SHORT
  30. OPTION       SHORT
  31.                                                                                                                                                                                                                                  
  32.   CODE
  33.                                                                                                                                                                                                                                  
  34.   OPEN(PASSSCR)            !OPEN WINDOW
  35.   IDX = 0                  !CLEAR FIELD
  36.   RETYRIES = 0             !CLEAR FIELD
  37.   INPUT   =  ''            !CLEAR FIELD
  38.   SCN:MESSAGE = 'Enter ' & CLIP(MSG) & ' Password'
  39.   SCN:MESSAGE = CENTER(SCN:MESSAGE)
  40.                                                                                                                                                                                                                                  
  41.   CASE OPTION              !WHICH OPTION
  42.                                                                                                                                                                                                                                  
  43.     OF 0                   !GET PASSWORD
  44.                                                                                                                                                                                                                                  
  45.        LOOP
  46.          ACCEPT                 !GET A KEY
  47.          DCHAR = '.'            !DON'T SHOW CHARACTER
  48.                                                                                                                                                                                                                                  
  49.          CASE KEYCODE()          !WHICH KEY
  50.                                                                                                                                                                                                                                  
  51.          OF ENTER_KEY            !ENTER KEY
  52.             IF UPPER(CLIP(PASSIN)) = UPPER(CLIP(INPUT)) THEN RETURN(0).
  53.               RETYRIES += 1      !UP COUNT
  54.               IF RETYRIES = PRO:PASSRETRIES THEN !TRY AGAIN
  55.                 RETURN(1)        !RETURN ERROR
  56.               ELSE
  57.                 INPUT = ''       !CLEAR FIELD
  58.                 IDX = 0          !SET AT BEGINNING
  59.                 BLANK(ROW(DCHAR),COL(DCHAR),1,10) !BLANK AREA
  60.                 BEEP
  61.               .                  !END IF
  62.                                                                                                                                                                                                                                  
  63.          OF BS_KEY               !RESTART INPUT
  64.             INPUT = ''           !CLEAR FIELD
  65.             IDX = 0              !SET AT BEGINNING
  66.             BLANK(ROW(DCHAR),COL(DCHAR),1,10) !BLANK AREA
  67.                                                                                                                                                                                                                                  
  68.          ELSE
  69.            CHARS[IDX] = CHR(KEYCODE()) !PUT CHAR IN BUFFER
  70.        . .                       !END LOOP, CASE
  71.                                                                                                                                                                                                                                  
  72.     OF 1                   !GET NEW PASSWORD
  73.                                                                                                                                                                                                                                  
  74.        LOOP
  75.          ACCEPT                !GET A KEY
  76.          DCHAR = '.'           !DON'T SHOW CHARACTER
  77.                                                                                                                                                                                                                                  
  78.          CASE KEYCODE()        !WHICH KEY
  79.                                                                                                                                                                                                                                  
  80.          OF ENTER_KEY          !ENTER KEY
  81.             IF CLIP(INPUT) = '' THEN
  82.               RETURN(1)        !RETURN ERROR
  83.             ELSE
  84.               PASSIN = UPPER(INPUT) !GET NEW PASSWORD
  85.               RETURN(0)        !RETURN NEW PASSWORD
  86.             .                  !END IF
  87.                                                                                                                                                                                                                                  
  88.          OF BS_KEY             !RESTART INPUT
  89.             INPUT = ''         !CLEAR FIELD
  90.             IDX = 0            !SET AT BEGINNING
  91.             BLANK(ROW(DCHAR),COL(DCHAR),1,10) !BLANK AREA
  92.                                                                                                                                                                                                                                  
  93.          ELSE
  94.            CHARS[IDX] = CHR(KEYCODE()) !PUT CHAR IN BUFFER
  95.        . .                     !END LOOP, CASE
  96.     .                          !END CASE
  97.