home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 15 / CD_ASCQ_15_070894.iso / news / 769 / s3prog.prg < prev    next >
Text File  |  1993-09-17  |  3KB  |  98 lines

  1.  
  2. proc main
  3. local cMainScreen := savescreen(0,0,24,79)
  4. local cSuper, cInScreen
  5. local nChoice := 1
  6. local aOptions,aSelect
  7.  
  8. use s3sample
  9.  
  10. slsf_color("S3COLOR")
  11. initsup(.F.)
  12. if iscolor()
  13.   setblink(.f.)
  14. endif
  15. SETCOLOR(SLS_NORMCOL())
  16. SET WRAP ON
  17. dispbegin()
  18. cSuper  := "S"+chr(15)+"u"+chr(31)+"p"+chr(47)+"e"+chr(63)+"r"+chr(79)+"L"+chr(95)+"i"+chr(111)+"b"+chr(127)+"!"+chr(11)
  19. cSuper  := left(repl(cSuper,223),4000)
  20. restscreen(0,0,24,79,cSuper)
  21. cSuper  := "P"+chr(9)+"r"+chr(9)+"o"+chr(9)+"g"+chr(9)+"r"+chr(9)+"e"+chr(9)+"s"+chr(9)+"s"+chr(9)+"B"+chr(9)+"a"+chr(9)+"r"+chr(9)
  22. cSuper  := left(repl(cSuper,96),2112)
  23. dispbox(3,3,22,72,space(9))
  24. restscreen(5,5,20,70,cSuper)
  25. cInScreen := savescreen(5,5,20,70)
  26. dispend()
  27.  
  28. aOptions := {;
  29.             {"Index Progress - PROGINDEX()",{||indices()} },;
  30.             {"Count Progress - PROGCOUNT()",{||counter()} },;
  31.             {"Loop  Progress - PROGON(),PROGDISP(),PROGOFF() ",{||looper()} },;
  32.             {"Copy  Progress - PROGON(),PROGDISP(),PROGOFF() ",{||copycount()} },;
  33.             {"Quit",nil};
  34.             }
  35. aSelect  := a2tosing(aOptions,1)
  36.  
  37. do while .t.
  38.  
  39.     nChoice := MCHOICE(aSelect)
  40.  
  41.     if nChoice = len(aOptions) .or. nChoice == 0
  42.          exit
  43.     else
  44.          eval(aOptions[nChoice,2])
  45.     endif
  46. enddo
  47. ss_implode(0,0,24,79,cMainScreen)
  48.  
  49.  
  50.  
  51. //-------------------------------------------------------------
  52. static proc copycount
  53. local nCounted := 0
  54. local nMatches := 0
  55. local bDisplay := {||alltrim(str(nMatches))+" copied of "+alltrim(str(recc()))+" with "+alltrim(str(recc()-nCounted))+" to check" }
  56. field lname
  57. dbgotop()
  58. ProgOn("Copying where LNAME contains S")
  59. copy to ERASEME.DBF for "S"$LNAME.and.(nMatches++,.t.) while ;
  60.           (nCounted++,ProgDisp(nCounted,recc(),bDisplay ))
  61. @ 17,9 SAY "Done - press a key"
  62. rat_event(0)
  63. ProgOff()
  64. return
  65.  
  66. //-------------------------------------------------------------
  67. static proc looper
  68.  local i
  69.  msg("This just counts from 1 to 1000, displaying progress",;
  70.       "Press ESCAPE to cancel it")
  71.  ProgOn("Test")
  72.  for i = 1 to 1000
  73.    IF !ProgDisp(i,1000,{||alltrim(str(i))+" of 1000"},{||inkey()#27} )
  74.      exit
  75.    endif
  76.  next
  77.  @ 17,9 SAY "Done - press a key"
  78.  rat_event(0)
  79.  ProgOff()
  80.  
  81. return
  82.  
  83. //-------------------------------------------------------------
  84. static proc counter
  85. field lname
  86. ProgCount({||"S"$LNAME.or."s"$LNAME},"Counting for S in LNAME",.t.)
  87. return
  88.  
  89.  
  90. //-------------------------------------------------------------
  91. static proc indices
  92. ProgIndex("S3SAMP1","LNAME",.f.,.t.,.f.)
  93. ProgIndex("S3SAMP2","ZIP",.f.,.t.,.f.)
  94. set index to s3samp1,s3samp2
  95. return
  96.  
  97.  
  98.