home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 16 / CD_ASCQ_16_0994.iso / news / 4611 / fw16d.ins / SAMPLES / ODO.PRG < prev    next >
Text File  |  1994-06-02  |  2KB  |  107 lines

  1.  
  2. #include "FiveWin.ch"
  3.  
  4. //----------------------------------------------------------------------------//
  5.  
  6. function Odo()
  7.  
  8.    local oDlg, oBmp1, oBmp2, oBmp3
  9.  
  10.    DEFINE DIALOG oDlg FROM 1, 1 TO 10, 44 TITLE "PROBANDO EL CONTADOR"
  11.  
  12.    // @  2, 5 SAY 'Contador : ' OF oDlg
  13.  
  14.    @  0, 0 BITMAP oBmp1 FILE "..\bitmaps\odo.bmp" OF oDlg
  15.    @  0, 0 BITMAP oBmp2 FILE "..\bitmaps\odo.bmp" OF oDlg
  16.    @  0, 0 BITMAP oBmp3 FILE "..\bitmaps\odo.bmp" OF oDlg
  17.  
  18.    oBmp1:nTop    := 28
  19.    oBmp1:nLeft   := 80
  20.    oBmp1:nBottom := 34
  21.    oBmp1:nRight  := 84
  22.  
  23.    oBmp2:nTop    := 28
  24.    oBmp2:nLeft   := 85
  25.    oBmp2:nBottom := 34
  26.    oBmp2:nRight  := 89
  27.  
  28.    oBmp3:nTop    := 28
  29.    oBmp3:nLeft   := 90
  30.    oBmp3:nBottom := 34
  31.    oBmp3:nRight  := 94
  32.  
  33.    @ 4, 02 BUTTON "&Aumenta"   OF oDlg SIZE 40, 12 ;
  34.       ACTION Cambia( oBmp1, oBmp2, oBmp3, .T. )
  35.  
  36.    @ 4, 10 BUTTON "&Disminuye" OF oDlg SIZE 40, 12 ;
  37.       ACTION Cambia( oBmp1, oBmp2, oBmp3, .F. )
  38.  
  39.    @ 4, 18 BUTTON "&Solo" OF oDlg SIZE 40, 12 ;
  40.       ACTION Solo( oBmp1, oBmp2, oBmp3 )
  41.  
  42.    ACTIVATE DIALOG oDlg CENTERED
  43.  
  44. return
  45.  
  46. //----------------------------------------------------------------------------//
  47. function Solo( oB1, oB2, oB3 )
  48.  
  49.   local n
  50.  
  51.   for n = 1 to 2500
  52.  
  53.       Cambia( oB1, oB2, oB3, .T. )
  54.  
  55.       SysRefresh()
  56.  
  57.   next
  58.  
  59.   for n = 1 to 2500
  60.  
  61.       Cambia( oB1, oB2, oB3, .F. )
  62.  
  63.       SysRefresh()
  64.  
  65.   next
  66.  
  67. return
  68.  
  69. //----------------------------------------------------------------------------//
  70. function Cambia( oBmp1, oBmp2, oBmp3, lSigno )
  71. STATIC nCont  := 0
  72. LOCAL nInc := iif( lSigno, 1, -1 )
  73. LOCAL nCam := iif( lSigno, -100, -99 )
  74. LOCAL nTopeI := iif( lSigno, -110, 0 )
  75. LOCAL nTopeS := iif( lSigno, 0, -110 )
  76.  
  77. if ! lSigno .and. nCont == 0
  78.    return
  79. endif
  80.  
  81. if oBmp3:nX == nTopeI
  82.    oBmp3:nX := nTopeS
  83. endif
  84. if oBmp2:nX == nTopeI 
  85.    oBmp2:nX := nTopeS 
  86. endif
  87. if oBmp1:nX == nTopeI 
  88.    oBmp1:nX := nTopeS 
  89. endif
  90.  
  91. oBmp3:nX -= nInc
  92. nCont += nInc
  93. if oBmp3:nX <= nCam
  94.    oBmp2:nX -= nInc
  95.    if oBmp2:nX <= nCam
  96.       oBmp1:nX -= nInc
  97.    endif
  98. endif
  99.  
  100.  
  101. oBmp3:Refresh( .F. )
  102. oBmp2:Refresh( .F. )
  103. oBmp1:Refresh( .F. )
  104.  
  105. return
  106. //---------------------------------------------------------------------------//
  107.