home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / PROG_BAS / PBC23C.ZIP / DWINMAN4.BAS < prev    next >
BASIC Source File  |  1994-03-13  |  2KB  |  61 lines

  1. '   +----------------------------------------------------------------------+
  2. '   |                                                                      |
  3. '   |        PBClone  Copyright (c) 1990-1994  Thomas G. Hanlin III        |
  4. '   |                                                                      |
  5. '   +----------------------------------------------------------------------+
  6.  
  7.    DECLARE SUB DXQPrint (BYVAL DSeg%, BYVAL DOfs%, St$, BYVAL Row%, BYVAL Column%, BYVAL VAttr%)
  8.  
  9. SUB DWindowMan4 (DSeg%, DOfs%, TopRow%, LeftCol%, BottomRow%, RightCol%, Frame%, VAttr%)
  10.  
  11.    Y1% = TopRow%
  12.    X1% = LeftCol%
  13.    Y2% = BottomRow%
  14.    X2% = RightCol%
  15.    tmp% = X2% - X1% + 1
  16.  
  17.    IF Frame% AND 1 THEN
  18.       TopSt$ = STRING$(tmp%, "─")
  19.    ELSE
  20.       TopSt$ = STRING$(tmp%, "═")
  21.    END IF
  22.    MidSt$ = SPACE$(tmp%)
  23.    BotSt$ = TopSt$
  24.    SELECT CASE Frame%
  25.       CASE 1
  26.          TopSt$ = "┌" + TopSt$ + "┐"
  27.          MidSt$ = "│" + MidSt$ + "│"
  28.          BotSt$ = "└" + BotSt$ + "┘"
  29.       CASE 2
  30.          TopSt$ = "╔" + TopSt$ + "╗"
  31.          MidSt$ = "║" + MidSt$ + "║"
  32.          BotSt$ = "╚" + BotSt$ + "╝"
  33.       CASE 3
  34.          TopSt$ = "╓" + TopSt$ + "╖"
  35.          MidSt$ = "║" + MidSt$ + "║"
  36.          BotSt$ = "╙" + BotSt$ + "╜"
  37.       CASE 4
  38.          TopSt$ = "╒" + TopSt$ + "╕"
  39.          MidSt$ = "│" + MidSt$ + "│"
  40.          BotSt$ = "╘" + BotSt$ + "╛"
  41.       CASE 5
  42.          TopSt$ = STRING$(tmp% + 2, "▄")
  43.          MidSt$ = "▌" + MidSt$ + "▐"
  44.          BotSt$ = STRING$(tmp% + 2, "▀")
  45.       CASE ELSE
  46.          TopSt$ = SPACE$(tmp% + 2)
  47.          MidSt$ = TopSt$
  48.          BotSt$ = TopSt$
  49.    END SELECT
  50.  
  51.    Col% = X1% - 1
  52.    DXQPrint DSeg%, DOfs%, TopSt$, Y1%, Col%, VAttr%
  53.  
  54.    FOR Row% = Y1% TO Y2%
  55.       DXQPrint DSeg%, DOfs%, MidSt$, Row%, Col%, VAttr%
  56.    NEXT
  57.  
  58.    DXQPrint DSeg%, DOfs%, BotSt$, Y2% + 1, Col%, VAttr%
  59.  
  60. END SUB
  61.