home *** CD-ROM | disk | FTP | other *** search
/ PC World 2001 May / PCWorld_2001-05_cd.bin / Software / Vyzkuste / tiptrik / tiptrik.exe / Pwsearch.bas < prev    next >
BASIC Source File  |  2001-03-04  |  4KB  |  141 lines

  1. ON ERROR GOTO Fehler
  2. SCREEN 0
  3. COLOR 15, 1
  4. CLS
  5. DIM eingb$(20)
  6. DIM such$(15, 4)
  7. DIM zmenge AS DOUBLE
  8. DIM text AS STRING * 1024
  9.  
  10. COLOR 4, 15
  11. PRINT "             ***  SIMPLE SEARCH  ***                    Zastavit: <CTRL>-<Pause>"
  12. COLOR 15, 1
  13. PRINT STRING$(80, 205)
  14. PRINT "Zadejte sloºku nebo masku pro hledání            (DOS-Standard with Wildcards)"
  15. LOCATE 7, 1
  16.  
  17. newlist:
  18. ini$ = ENVIRON$("winbootdir") + "\command\pwsearch.ini"
  19. OPEN ini$ FOR INPUT AS #1
  20. IF LOF(1) = 0 THEN
  21.     CLOSE #1
  22.     LOCATE CSRLIN + 2
  23.     DO
  24.       d = d + 1
  25.       PRINT STR$(d) + ". Zadejte sloºku, která se má prohledat (nap². c:\archiv[\*.txt]):                 "
  26.       LOCATE CSRLIN - 2, 69
  27.       INPUT "", eingb$(d)
  28.     LOOP UNTIL eingb$(d) = ""
  29.     PRINT "Vytvá²í se seznam souborà..."
  30.     FOR n = 1 TO d
  31.         bef$ = "command.com /c dir /a-d /s /b /z " + eingb$(n) + " >> " + ini$
  32.         SHELL bef$
  33.     NEXT
  34. ELSE
  35.     CLOSE #1
  36.     PRINT "Vytvo²it nov∞ seznam souborà " + ini$ + " (a-n)"
  37.     DO
  38.     i$ = INKEY$
  39.     LOOP WHILE i$ = ""
  40.     IF LCASE$(i$) = "a" THEN
  41.         OPEN ini$ FOR OUTPUT AS #1
  42.         CLOSE
  43.         GOTO newlist
  44.     END IF
  45. END IF
  46.  
  47.  
  48. DO
  49. s% = s% + 1
  50.     CLS
  51.     COLOR 4, 15
  52.     PRINT "                        ***  SIMPLE SEARCH  ***         Zastavit: <CTRL>-<Pause>"
  53.     COLOR 15, 1
  54.     PRINT ""
  55.     PRINT "Definujte pojem, kter∞ se má v souborech hledat:              Maximáln╪ 8 pojmà"
  56.     PRINT "Ke kaºdém pojmu zadejte maximáln╪ 4 kontextová slova"
  57.     PRINT STRING$(80, 196)
  58.     COLOR 15, 1
  59.  
  60.       LOCATE CSRLIN + 2, 1
  61.       PRINT (STR$(s%)) + ". Pojem: "
  62.       LOCATE CSRLIN - 1, 11: INPUT "", such$(s%, k%)
  63.       IF such$(s%, k%) = "" THEN GOTO stopit
  64.       DO
  65.              k% = k% + 1
  66.              INPUT "        Kontext: ", such$(s%, k%)
  67.       LOOP UNTIL such$(s%, k%) = "" OR k% = 4
  68. k% = 0
  69. LOOP UNTIL s% = 8
  70. LOCATE 23, 1: PRINT "Je dovoleno maximáln╪ 8 pojmà."
  71.  
  72. stopit:
  73.  
  74. s% = s% - 1: : text$ = STR$(s%)
  75. IF s% = 0 THEN CLS : PRINT "*** ª╡DNφ POJEM NEBYL DEFINOV╡N - PROGRAM ZASTAVEN ***": SYSTEM
  76.  
  77. FOR n% = 1 TO s%
  78.       ausgabe$ = "c:\ausgabe." + LTRIM$(STR$(n%))
  79.       OPEN ausgabe$ FOR OUTPUT AS #n%
  80.       IF such$(n%, 1) = "" THEN
  81.              PRINT #n%, UCASE$(such$(n%, 0))
  82.       ELSE
  83.              PRINT #n%, UCASE$(such$(n%, 0)) + " A  " + UCASE$(such$(n%, 1)) + "..."
  84.       END IF
  85.       PRINT #n%, CHR$(13)
  86. NEXT n%
  87.  
  88. ON ERROR GOTO 0
  89.  
  90. CLS
  91. COLOR 4, 15
  92. PRINT "                        ***  SIMPLE SEARCH  ***         Zastavit: <CTRL>-<Pause>"
  93. COLOR 15, 1
  94. PRINT ""
  95.  
  96. PRINT "Zaƒíná vyhledávání ..."
  97.  
  98. OPEN ini$ FOR INPUT AS #30
  99.       DO
  100.       LINE INPUT #30, dat$
  101.              OPEN dat$ FOR RANDOM AS #31 LEN = 1024
  102.              zmenge = zmenge + LOF(31)
  103.              LOCATE 10, 1: PRINT "Prohledávám soubor: " + dat$ + "                     "
  104.              LOCATE 14, 1: PRINT "Nalezeno:      "
  105.              DO
  106.              GET #31, , text
  107.                       FOR n% = 1 TO s%
  108.                              DO
  109.                                     i% = INSTR(LCASE$(text), LCASE$(such$(n%, k%)))
  110.                                     IF i% = 0 THEN GOTO jump
  111.                                     k% = k% + 1
  112.                              LOOP UNTIL such$(n%, k%) = ""
  113. jump:
  114.                              IF such$(n%, k%) = "" THEN
  115.                                     PRINT #n%, STRING$(60, "=")
  116.                                     PRINT #n%, STRING$(2, CHR$(13)) + dat$
  117.                                     PRINT #n%, text
  118.                                     PRINT #n%, CHR$(13)
  119.                                     treffer% = treffer% + 1
  120.                                     LOCATE 14, 19: PRINT treffer%
  121.                              END IF
  122.                              k% = 0
  123.                      NEXT n%
  124.       LOOP UNTIL (EOF(31))
  125.       CLOSE #31
  126.       counter% = counter% + 1
  127.       LOCATE 12, 1: PRINT "Doposud prohledáno:" + STR$(counter%) + " soubor(à) und " + STR$(zmenge) + " znakà..."
  128. LOOP UNTIL (EOF(30))
  129. CLOSE
  130. CLS
  131. SHELL "copy /b c:\ausgabe.* c:\pwsearch.doc > nul"
  132.  
  133. IF ENVIRON$("windir") <> "" THEN SHELL "start c:\pwsearch.doc"
  134. PRINT "Soubor s v∞sledky vyhledávání: C:\PWSEARCH.DOC"
  135.  
  136. Fehler:
  137. CLOSE
  138. KILL "c:\ausgabe.*"
  139. SYSTEM
  140.  
  141.