home *** CD-ROM | disk | FTP | other *** search
/ DOS Wares / doswares.zip / doswares / DATABASE / DBASE4NL / SAMPLES.ZIP / BEITELEN.PRG < prev    next >
Encoding:
Text File  |  1993-05-18  |  4.1 KB  |  136 lines

  1. PROCEDURE Beitelen
  2. *---------------------------------------------------------------------
  3. * OMSCHRIJVING
  4. *   Toon twee gebeitelde meldingkaders. De eerste is helder witte
  5. *   tekst met een grijze achtergrond. De tweede is gele tekst op
  6. *   een cyaan achtergrond.
  7. *---------------------------------------------------------------------
  8.   SET COLOR TO N/W
  9.   SET TALK OFF
  10.   SET STATUS OFF
  11.  
  12.   DO TestChis WITH .F., "W+", "W"
  13.   DO TestChis WITH .F., "RG+", "BG"
  14.  
  15. RETURN
  16. *-- EOP: Beitelen
  17.  
  18. PROCEDURE TestChis
  19. PARAMETER pl_in, pc_fore, pc_back
  20. *---------------------------------------------------------------------
  21. * OMSCHRIJVING
  22. *   Toont een gebeiteld kader binnen een andere voor het juiste
  23. *   effekt. Toon daarna het bericht in het binnenste kader.
  24. *---------------------------------------------------------------------
  25.  
  26.   SAVE SCREEN TO Temp
  27.  
  28.   *-- Toon het buitenste gebeitelde venster met een schaduw.
  29.   DO Chisel WITH "Win2",4,13,10,67,pc_fore,pc_back,pl_in, .T.
  30.  
  31.   *-- Toon het binnenste gebeitelde venster zonder schaduw.
  32.   DO Chisel WITH "Win1",5,15,9,65,pc_fore,pc_back,.NOT. pl_in, .f.
  33.  
  34.   @ 2, 12 SAY "Ben even lunchen!  Terug om 1 uur"
  35.   ACTIVATE SCREEN
  36.   WAIT
  37.  
  38.   RELEASE WINDOW Win2
  39.   RELEASE WINDOW Win1
  40.  
  41.   RESTORE SCREEN FROM Temp
  42.   RELEASE SCREEN Temp
  43. RETURN
  44. *-- EOP: TestChis
  45.  
  46.  
  47. PROCEDURE Chisel
  48. PARAMETERS pc_WinName, pn_TopRow, pn_LeftCol, pn_BotRow, pn_RtCol, ;
  49.            pc_ClrFore, pc_ClrBack, pl_Indent, pl_Shadow
  50. *---------------------------------------------------------------------
  51. * OMSCHRIJVING
  52. *   Maakt een gebeiteld venster aan met of zonder achtergrond.
  53. *
  54. * PARAMETERS
  55. *   pc_WinName  = Naam van het venster dat gebeiteld wordt.
  56. *                 Vrijgave hiervan door het aanroepende programma 
  57. *   pn_TopRow   = Bovenste rij voor het venster
  58. *   pn_LeftCol  = Linker kolom voor het venster
  59. *   pn_BotRow   = Onderste rij voor het venster
  60. *   pn_RtCol    = Rechter kolom voor het venster
  61. *   pc_ClrFore  = Voorgrondkleur voor de tekst
  62. *   pc_ClrBack  = Achtergrondkleur voor het venster
  63. *   pl_Indent   = .T. voor effect van beitelen naar binnen
  64. *                 .F. voor effect van beitelen naar buiten
  65. *   pl_Shadow   = .T. voor een schaduweffect achter het venster
  66. *---------------------------------------------------------------------
  67.  
  68.   DEFINE WINDOW &pc_WinName FROM pn_TopRow, pn_LeftCol TO pn_BotRow, pn_RtCol ;
  69.          NONE ;
  70.          COLOR &pc_ClrFore./&pc_ClrBack.
  71.  
  72.   IF pl_Shadow
  73.     DO ShadowG WITH pn_TopRow, pn_LeftCol, pn_BotRow, pn_RtCol
  74.   ENDIF
  75.  
  76.   ACTIVATE WINDOW &pc_WinName
  77.  
  78.   IF pl_Indent
  79.     pc_ClrUp = "N"
  80.     pc_ClrDn = "W+"
  81.   ELSE
  82.     pc_ClrUp = "W+"
  83.     pc_ClrDn = "N"
  84.   ENDIF
  85.   ln_wide = pn_RtCol  - pn_LeftCol
  86.   ln_high = pn_BotRow - pn_TopRow
  87.  
  88.   @ 0,0 SAY CHR( 218 ) ;
  89.             COLOR &pc_ClrUp./&pc_ClrBack.
  90.   @ 0,1 SAY REPLICATE( CHR( 196 ), ln_Wide - 1 ) ;
  91.             COLOR &pc_ClrUp./&pc_ClrBack.
  92.   @ ln_High, 0 SAY CHR( 192 ) ;
  93.             COLOR &pc_ClrUp./&pc_ClrBack.
  94.   @ 1,0 TO ln_High - 1, 0 ;
  95.             COLOR &pc_ClrUp./&pc_ClrBack.
  96.  
  97.   @ 0, ln_Wide SAY CHR( 191 ) ;
  98.             COLOR &pc_ClrDn./&pc_ClrBack.
  99.   @ ln_High, 1 SAY REPLICATE( CHR( 196 ), ln_Wide - 1 ) ;
  100.             COLOR &pc_ClrDn./&pc_ClrBack.
  101.   @ ln_High, ln_Wide SAY CHR( 217 ) ;
  102.             COLOR &pc_ClrDn./&pc_ClrBack.
  103.   @ 1,ln_wide TO ln_High - 1, ln_Wide ;
  104.             COLOR &pc_ClrDn./&pc_ClrBack.
  105.  
  106. RETURN
  107. *-- EOP: Chisel
  108.  
  109.  
  110. PROCEDURE Shadowg                      && toont een groeiende schaduw
  111. PARAMETER x1,y1,x2,y2
  112. *---------------------------------------------------------------------
  113. * OMSCHRIJVING
  114. *   Toont een schaduweffect achter het venster.  ShadowG maakt gebruik
  115. *   van dezelfde coordinaten ale het venster en berekent de offset.
  116. *---------------------------------------------------------------------
  117.  
  118.   PRIVATE   x1,y1,x2,y2
  119.  
  120.   x0 = x2+1
  121.   y0 = y2+2
  122.   dx = 1
  123.   dy = (y2-y1) / (x2-x1)
  124.   DO WHILE x0 <> x1 .OR. y0 <> y1+2
  125.     @ x0,y0 FILL TO x2+1,y2+2 COLOR n+/n
  126.     x0 = IIF(x0<>x1,x0 - dx,x0)
  127.     y0 = IIF(y0<>y1+2,y0 - dy,y0)
  128.     y0 = IIF(y0<y1+2,y1+2,y0)
  129.   ENDDO
  130. RETURN
  131. *-- EOP: Shadowg
  132.  
  133.  
  134.  
  135.  
  136.