home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / database / dbfchk.zip / CHK_ALL.PRG < prev    next >
Text File  |  1988-08-18  |  6KB  |  294 lines

  1.  
  2. SET ECHO OFF
  3. SET TALK OFF
  4. SET STATUS OFF
  5. SET UNIQUE ON
  6. SET BELL OFF
  7. *SET INTENSITY ON
  8.  
  9. SET COLOR TO W/B, /W,B
  10. CLEAR
  11. DO WHILE .T.
  12. STORE .F. TO FLAG_LOOP,FLAG_EXIT
  13. NORMAL='W/B, /W,B'
  14. GOLD='GR/B'
  15. YELLOW='GR+/B'
  16. YEL_FLSH='GR+*/B'
  17. MEMVAR1=SPACE(8)
  18. MEMVAR2=SPACE(8)
  19. MEMVAR3=SPACE(8)
  20. MEMVAR4=SPACE(8)
  21. MEMVAR5=SPACE(8)
  22. MEMVAR6=SPACE(1)
  23.  
  24. SET COLOR TO &NORMAL
  25. @04,10 SAY "Reference Filename:  <" GET MEMVAR1 PICTURE "!!!!!!!!"
  26. @04,42 SAY '>'
  27. @05,10 SAY "Reference Index   :  <" GET MEMVAR3 PICTURE "!!!!!!!!"
  28. @05,42 SAY '>'
  29.     SET COLOR TO &GOLD
  30. @08,10 SAY "Test Filename     :  <" GET MEMVAR2 PICTURE "!!!!!!!!"
  31. @08,42 SAY '>'
  32. @09,10 SAY "Test Index        :  <" GET MEMVAR4 PICTURE "!!!!!!!!"
  33. @09,42 SAY '>'
  34.     SET COLOR TO &NORMAL
  35. @11,10 SAY "Field Name that establishes Relationship: <" GET MEMVAR5
  36. MEMVAR5=UPPER(MEMVAR5)
  37. @11,63 SAY '>'
  38. @12,10 SAY "Field Type N/C    :  <" GET MEMVAR6 PICTURE "!"
  39. @12,35 SAY '>'
  40. @16,20 SAY 'Press <Esc> to Terminate Program.'
  41. READ
  42.  
  43.    IF READKEY() = 12 .OR. READKEY() = 268
  44.    STORE 0 TO LTIMER
  45.    DO WHILE LTIMER < 100
  46.     LTIMER = LTIMER + 1
  47.    ENDDO
  48.    @ 02,01 SAY 'Quitting to DOS Now...'
  49.     QUIT
  50.    ENDIF
  51. MEMVAR1=TRIM(MEMVAR1)
  52. MEMVAR2=TRIM(MEMVAR2)
  53. MEMVAR3=TRIM(MEMVAR3)
  54. MEMVAR4=TRIM(MEMVAR4)
  55. MEMVAR5=TRIM(MEMVAR5)
  56. MEMVAR6=TRIM(MEMVAR6)
  57.  
  58. LAA=MEMVAR1+'.DBF'
  59.     IF .NOT. FILE(LAA)
  60.     SET COLOR TO &YEL_FLSH
  61.     @04,50 SAY '<----'
  62.     SET COLOR TO &YELLOW
  63.     @20,20 SAY 'File Does Not Exist As Specified...Try Again.'
  64.     SET COLOR TO &NORMAL
  65.    STORE 0 TO LTIMER
  66.    DO WHILE LTIMER < 400
  67.    LTIMER = LTIMER + 1
  68.    ENDDO
  69.     @04,50 CLEAR TO 04,54
  70.     @20,00 CLEAR
  71.         CLEAR MEMORY
  72.  
  73.     LOOP
  74.     ENDIF
  75. LBB=MEMVAR2+'.DBF'
  76.      IF .NOT. FILE(LBB)
  77.     SET COLOR TO &YEL_FLSH
  78.     @08,50 SAY '<----'
  79.     SET COLOR TO &YELLOW
  80.     @20,20 SAY 'File Does Not Exist As Specified...Try Again.'
  81.     SET COLOR TO &NORMAL
  82.    STORE 0 TO LTIMER
  83.    DO WHILE LTIMER < 400
  84.    LTIMER = LTIMER + 1
  85.    ENDDO
  86.     @08,50 CLEAR TO 08,54
  87.     @20,00 CLEAR
  88.         CLEAR MEMORY
  89.  
  90.     LOOP
  91.     ENDIF
  92. LCC=MEMVAR3+'.IDX'
  93.     IF .NOT. FILE(LCC)
  94.     SET COLOR TO &YEL_FLSH
  95.     @05,50 SAY '<----'
  96.     SET COLOR TO &YELLOW
  97.     @20,20 SAY 'File Does Not Exist As Specified...Try Again.'
  98.     SET COLOR TO &NORMAL
  99.    STORE 0 TO LTIMER
  100.    DO WHILE LTIMER < 400
  101.    LTIMER = LTIMER + 1
  102.    ENDDO
  103.     @05,50 CLEAR TO 05,54
  104.     @20,00 CLEAR
  105.         CLEAR MEMORY
  106.  
  107.     LOOP
  108.     ENDIF
  109. LDD=MEMVAR4+'.IDX'
  110.     IF .NOT. FILE(LDD)
  111.     SET COLOR TO &YEL_FLSH
  112.     @09,50 SAY '<----'
  113.     SET COLOR TO &YELLOW
  114.     @20,20 SAY 'File Does Not Exist As Specified...Try Again.'
  115.     SET COLOR TO &NORMAL
  116.    STORE 0 TO LTIMER
  117.    DO WHILE LTIMER < 400
  118.    LTIMER = LTIMER + 1
  119.    ENDDO
  120.     @09,50 CLEAR TO 09,54
  121.     @20,00 CLEAR
  122.         CLEAR MEMORY
  123.  
  124.     LOOP
  125.     ENDIF
  126.  
  127.  
  128.  
  129.  
  130. STORE 0 TO R,ENDVAR
  131. USE &MEMVAR1 INDEX &MEMVAR3
  132.  
  133.     STORE 0 TO C
  134.    DO WHILE .T.
  135.     C = C + 1
  136.          IF TRIM(FIELD(C))=MEMVAR5
  137.         STORE .T. TO FLAG_EXIT
  138.         EXIT
  139.                 ENDIF
  140.  
  141.     IF LEN(FIELD(C))=0
  142.     STORE .T. TO FLAG_LOOP
  143.     SET COLOR TO &YEL_FLSH
  144.     @11,66 SAY '<----'
  145.     SET COLOR TO &YELLOW
  146.     @20,20 SAY 'Field Name Does Not Exist'
  147.     @21,20 SAY ' As Specified...Try Again.'
  148.     SET COLOR TO &NORMAL
  149.    STORE 0 TO LTIMER
  150.    DO WHILE LTIMER < 400
  151.    LTIMER = LTIMER + 1
  152.    ENDDO
  153.     @11,53 CLEAR TO 11,70
  154.     @20,00 CLEAR
  155.     EXIT
  156.     ENDIF
  157.         ENDDO           &&   WHILE .T.
  158.     
  159.     IF FLAG_LOOP
  160.     RELEASE MEMVAR5    
  161.     MEMVAR5=''
  162.     LOOP
  163.     ENDIF
  164.  
  165.     IF FLAG_EXIT
  166.     EXIT
  167.     ENDIF
  168.  
  169.    IF TYPE([&MEMVAR1 -> &MEMVAR5])='L' .OR. TYPE([&MEMVAR1 ->&MEMVAR5])='D'
  170.     SET COLOR TO &YELLOW
  171.     @20,20 SAY 'Cannot select Logic or Date Fields for Comparison.'    
  172.    STORE 0 TO LTIMER
  173.    DO WHILE LTIMER < 400
  174.    LTIMER = LTIMER + 1
  175.    ENDDO
  176.     @20,00 CLEAR
  177.         CLEAR MEMORY
  178.     SET COLOR TO &NORMAL
  179.    LOOP
  180.    ENDIF
  181.  
  182.    IF TYPE([&MEMVAR1 ->&MEMVAR5])='U'
  183.     SET COLOR TO &YELLOW
  184.     @20,20 SAY 'Field Does Not Exist as Specified, Please Try again.'
  185.    STORE 0 TO LTIMER
  186.    DO WHILE LTIMER < 400
  187.    LTIMER = LTIMER + 1
  188.    ENDDO
  189.     @20,00 CLEAR
  190.     CLEAR MEMORY
  191.     SET COLOR TO &NORMAL
  192.    LOOP
  193.    ENDIF
  194.    IF TYPE([&MEMVAR1 ->&MEMVAR5])='C' .OR. TYPE([&MEMVAR1 ->&MEMVAR5])='N'
  195.    EXIT
  196.    ENDIF
  197.  
  198. ENDDO       && WHILE .T.
  199.  
  200. DIMENSION X(1400)
  201.  
  202. DO WHILE .NOT. EOF()
  203. *DO WHILE R<10
  204.     IF .NOT. EOF()
  205.     R=R+1
  206.     STORE &MEMVAR1 ->&MEMVAR5 TO X(R)
  207.     ? &MEMVAR5,X(R)
  208.     SKIP
  209.     IF TYPE([&MEMVAR1 ->&MEMVAR5])='L'
  210.     EXIT
  211.         ENDIF
  212.     ELSE
  213.  
  214.     EXIT
  215.     ENDIF
  216.   ENDDO     && WHILE .NOT. EOF()
  217.     IF TYPE([&MEMVAR2 ->&MEMVAR5])='C'
  218.     ENDVAR='FINISHED'
  219.     ENDIF
  220.     IF TYPE([&MEMVAR2 ->&MEMVAR5])='N'
  221.     ENDVAR=9999999
  222.     ENDIF
  223. STORE 0 TO R
  224.  
  225. USE &MEMVAR2 INDEX &MEMVAR4
  226.   IF MEMVAR6='C'
  227.     TESTVAR=SPACE(8)
  228.     TESTVAR=''
  229.   ENDIF
  230.   IF MEMVAR6='N'
  231.         STORE 0 TO TESTVAR
  232.   ENDIF
  233.  
  234.     SET PRINT ON
  235.     ? 'Record Comparison Verification checking file '+MEMVAR1+' against file '+MEMVAR2
  236.     SET PRINT OFF
  237. DO WHILE .T.
  238.  
  239.     R=R+1
  240.   IF TYPE([X(R)])='L'
  241.       EXIT
  242.   ENDIF
  243.  
  244. SEEK X(R)
  245.  
  246.   IF FOUND()
  247.     ? X(R),&MEMVAR2 ->&MEMVAR5
  248.  
  249.     STORE X(R) TO TESTVAR    
  250.     SKIP
  251.    IF MEMVAR6='C'
  252.       IF TRIM(&MEMVAR2 ->&MEMVAR5)=TESTVAR 
  253.     SET COLOR TO &YELLOW
  254.     SET PRINT ON
  255.     ? 'Found Duplicate Record No. '+RIGHT(str(recno()),4)+' in '+MEMVAR2+'   '
  256.     ?? X(R)
  257.         SET PRINT OFF
  258.     SET COLOR TO &NORMAL
  259.       ENDIF
  260.    ENDIF
  261.    IF MEMVAR6='N'
  262.       IF &MEMVAR2 ->&MEMVAR5=TESTVAR 
  263.     SET COLOR TO &YELLOW
  264.     SET PRINT ON
  265.     ? 'Found Duplicate Record No. '+RIGHT(str(recno()),4)+' in '+MEMVAR2
  266.     ?? X(R)
  267.         SET PRINT OFF
  268.     SET COLOR TO &NORMAL
  269.       ENDIF
  270.    ENDIF
  271.  
  272.   ELSE
  273.     SET COLOR TO &YELLOW
  274.         SET PRINT ON
  275.  
  276.         ? 'Record NOT Found( ) '+RIGHT(STR(R),4)+ ' in '+MEMVAR2+'   '
  277.    IF MEMVAR6='N'
  278.     ?? STR(X(R)) 
  279.    ENDIF
  280.    IF MEMVAR6='C'
  281.         ?? X(R),STR(R)
  282.    ENDIF
  283.  
  284.     SET PRINT OFF
  285.     SET COLOR TO &NORMAL
  286.   ENDIF
  287.  
  288. ENDDO            && While .NOT. EOF()
  289.     SET PRINT ON
  290.     ? CHR(12)
  291.     SET PRINT OFF
  292. ? 'End of File Encountered  Program Terminated Normally.'
  293.     CLEAR MEMORY
  294.     QUIT