home *** CD-ROM | disk | FTP | other *** search
/ C!T ROM 2 / ctrom_ii_b.zip / ctrom_ii_b / PROGRAM / CLIPPER / SCRNUZ / MEMCENTR.PRG < prev    next >
Text File  |  1991-12-13  |  2KB  |  60 lines

  1. *----------------------------------------------------------------------------
  2. *
  3. *   Program Name: MEMCENTR.PRG      Copyright: EDON Corporation                                         
  4. *   Date Created: 02/25/91           Language: Clipper S'87                                             
  5. *   Time Created: 20:59:57             Author: Ed Phillips                               
  6. *    Description: Center Text function for memscrn.prg
  7. *----------------------------------------------------------------------------
  8.  
  9. PROCEDURE CenterText
  10.    PRIVATE right, left, last, first, linebuff, block, i, j, temp, col, str_len
  11.  
  12.    right = 80
  13.    left = 1
  14.    first = 1
  15.    last = 1
  16.    linebuff = Savescreen(r,0,r,79)
  17.    j = 1
  18.    FOR i = 1 TO 80
  19.       temp = Bin2w(Subs(linebuff,j,1))
  20.       IF temp > 127
  21.          left = j/2
  22.       ELSEIF temp > 32
  23.          first = j/2
  24.          EXIT
  25.       ENDIF                                      && IF temp > 127
  26.  
  27.       j = j + 2
  28.    NEXT                                          && FOR i = 1 TO 160
  29.  
  30.    j = 159
  31.    FOR i = 80 TO 1 STEP -1
  32.       temp = Bin2w(Subs(linebuff,j,1))
  33.       IF temp > 127
  34.          right = j/2
  35.       ELSEIF temp > 32
  36.          last = j/2
  37.          EXIT
  38.       ENDIF                                      && IF temp > 127
  39.       j = j - 2
  40.    NEXT                                          && FOR i = 80 TO 1 STEP -1
  41.  
  42.    IF last > first
  43.       right = right - 0.5
  44.       left = left - 0.5
  45.  
  46.       str_len = last - first + 1
  47.       block = Savescreen(r,first,r,last)
  48.       
  49.       col = If((right-left) % 2 = 0, Int((right - left)/2) - Int((str_len/2)), Int((right - left + 1)/2) - Int((str_len/2)))
  50.  
  51.       @ r,first CLEAR TO r,last
  52.       Restscreen(r,col+left,r,col+left+str_len-1,block)
  53.       c = col + left
  54.       Gotoxy(r,c)
  55.       changed = .t.
  56.    ENDIF                                         && IF last > first
  57.  
  58. RETURN
  59. * EOF: Memcentr.prg
  60.