home *** CD-ROM | disk | FTP | other *** search
/ Programming Tool Box / SIMS_2.iso / code / cdspy / parse.frm < prev    next >
Text File  |  1995-02-27  |  7KB  |  235 lines

  1. VERSION 2.00
  2. Begin Form Form1 
  3.    Caption         =   "Parse Directory"
  4.    ClientHeight    =   2985
  5.    ClientLeft      =   1095
  6.    ClientTop       =   1485
  7.    ClientWidth     =   5295
  8.    Height          =   3390
  9.    Left            =   1035
  10.    LinkTopic       =   "Form1"
  11.    ScaleHeight     =   2985
  12.    ScaleWidth      =   5295
  13.    Top             =   1140
  14.    Width           =   5415
  15.    Begin CommandButton Command1 
  16.       Caption         =   "single"
  17.       Height          =   375
  18.       Left            =   4230
  19.       TabIndex        =   5
  20.       Top             =   2430
  21.       Width           =   735
  22.    End
  23.    Begin DriveListBox Drive1 
  24.       Height          =   315
  25.       Left            =   270
  26.       TabIndex        =   2
  27.       Top             =   180
  28.       Width           =   2085
  29.    End
  30.    Begin FileListBox File1 
  31.       Height          =   1590
  32.       Left            =   2520
  33.       Pattern         =   "*.TXT;*.FRM;*.BAS"
  34.       TabIndex        =   1
  35.       Top             =   630
  36.       Width           =   1995
  37.    End
  38.    Begin DirListBox Dir1 
  39.       Height          =   1605
  40.       Left            =   270
  41.       TabIndex        =   0
  42.       Top             =   630
  43.       Width           =   2085
  44.    End
  45.    Begin CommandButton Btn_Ende 
  46.       Caption         =   "Ende"
  47.       Height          =   375
  48.       Left            =   990
  49.       TabIndex        =   4
  50.       Top             =   2430
  51.       Visible         =   0   'False
  52.       Width           =   3075
  53.    End
  54.    Begin CommandButton Parse 
  55.       Caption         =   "Parse"
  56.       Height          =   375
  57.       Left            =   990
  58.       TabIndex        =   3
  59.       Top             =   2430
  60.       Width           =   3075
  61.    End
  62. End
  63. Option Explicit
  64. Dim closing%
  65.  
  66. Sub Btn_Ende_Click ()
  67.   closing% = True
  68.   Beep
  69.   Beep
  70.   Beep
  71.   Beep
  72.   Btn_Ende.Visible = False
  73. End Sub
  74.  
  75. Sub Command1_Click ()
  76.   Dim i%, fh%, zeile$, db As database, ds As dynaset
  77.   Dim j%
  78.   ChDrive drive1.Drive
  79.   ChDir dir1.Path
  80.   Me.Refresh
  81.   If Not FM_exists("WORTE.YZX") And (file1.ListCount > 0) Then
  82.     PM_ShellAndWait ("XCOPY C:\TEMP\WORTE.MDB")
  83.  
  84.     Set db = OpenDatabase("WORTE.MDB")
  85.     Set ds = db.CreateDynaset("T_Worte")
  86.     db.BeginTrans
  87.       For i% = 0 To file1.ListCount - 1
  88.         file1.ListIndex = i%
  89.         DoEvents
  90.         If file1 <> "CDINFO.TXT" And file1.ListCount > 0 Then
  91.           fh% = FreeFile
  92.           Open file1 For Input As fh%
  93.           Do While Not EOF(fh%)
  94.             Line Input #fh%, zeile$
  95.             Dim ii%, zch%, l%
  96.             Dim wort$
  97.             zeile$ = LCase(zeile$)
  98.             For ii% = 1 To Len(zeile$)
  99.               DoEvents
  100.               zch% = Asc(Mid$(zeile$, ii%, 1))
  101.               If zch% >= 97 And zch% <= 122 Or zch% = 228 Or zch% = 246 Or zch% = 252 Then
  102.                 wort$ = wort$ + Chr$(zch%)
  103.                 l% = l% + 1
  104.               Else
  105.                 If Trim(wort$) <> "" And l% > 2 Then
  106.                   ' Wort anzuhΣngen versuchen
  107.                   If l% < 36 Then
  108.                     ds.AddNew
  109.                     ds!wort = wort$
  110.                     ds!filename = file1
  111.                     On Error Resume Next
  112.                     ds.Update
  113.                     Err = 0
  114.                     On Error GoTo 0
  115.                   End If
  116.                   wort$ = ""
  117.                   l% = 0
  118.                 Else
  119.                   wort$ = ""
  120.                   l% = 0
  121.                 End If
  122.               End If
  123.             Next ii%
  124.           Loop
  125.           Close fh%
  126.         End If
  127.       Next i%
  128.     db.CommitTrans
  129.     If ds.RecordCount > 0 Then
  130.       fh% = FreeFile
  131.       Open "WORTE.YZX" For Output As fh%
  132.       ds.MoveFirst
  133.       Do While Not ds.EOF
  134.         Print #fh%, ds!wort; ","; ds!filename
  135.         ds.MoveNext
  136.       Loop
  137.       Close
  138.     End If
  139.     ds.Close
  140.     db.Close
  141.     Kill "WORTE.MDB"
  142.     Kill "WORTE.LDB"
  143.   End If
  144.   MsgBox "Geparsed"
  145. End Sub
  146.  
  147. Sub Dir1_Change ()
  148.   file1.Path = dir1.Path
  149. End Sub
  150.  
  151. Sub Drive1_Change ()
  152.   dir1.Path = drive1.Drive
  153. End Sub
  154.  
  155. Sub Parse_Click ()
  156.   Dim i%, fh%, zeile$, db As database, ds As dynaset
  157.   Dim j%
  158.   PM_ListSubDirs "N:\SORTED", GM_DBAll()
  159.   drive1.Drive = GM_DBAll(1).Verzeichnis$
  160.   Btn_Ende.Visible = True
  161.   For j% = 1 To UBound(GM_DBAll)
  162.     If closing% Then Exit For
  163.     dir1.Path = GM_DBAll(j%).Verzeichnis$
  164.     Me.Refresh
  165.     ChDrive drive1.Drive
  166.     ChDir dir1.Path
  167.     Me.Refresh
  168.     If Not FM_exists("WORTE.YZX") And (file1.ListCount > 0) Then
  169.       PM_ShellAndWait ("XCOPY C:\TEMP\WORTE.MDB")
  170.  
  171.       Set db = OpenDatabase("WORTE.MDB")
  172.       Set ds = db.CreateDynaset("T_Worte")
  173.       db.BeginTrans
  174.         For i% = 0 To file1.ListCount - 1
  175.           file1.ListIndex = i%
  176.           DoEvents
  177.           If file1 <> "CDINFO.TXT" And file1.ListCount > 0 Then
  178.             fh% = FreeFile
  179.             Open file1 For Input As fh%
  180.             Do While Not EOF(fh%)
  181.               Line Input #fh%, zeile$
  182.               Dim ii%, zch%, l%
  183.               Dim wort$
  184.               zeile$ = LCase(zeile$)
  185.               For ii% = 1 To Len(zeile$)
  186.                 DoEvents
  187.                 zch% = Asc(Mid$(zeile$, ii%, 1))
  188.                 If zch% >= 97 And zch% <= 122 Or zch% = 228 Or zch% = 246 Or zch% = 252 Then
  189.                   wort$ = wort$ + Chr$(zch%)
  190.                   l% = l% + 1
  191.                 Else
  192.                   If Trim(wort$) <> "" And l% > 2 Then
  193.                     If l% < 36 Then
  194.                       ' Wort anzuhΣngen versuchen
  195.                       ds.AddNew
  196.                       ds!wort = wort$
  197.                       ds!filename = file1
  198.                       On Error Resume Next
  199.                       ds.Update
  200.                       Err = 0
  201.                       On Error GoTo 0
  202.                     End If
  203.                     wort$ = ""
  204.                     l% = 0
  205.                   Else
  206.                     wort$ = ""
  207.                     l% = 0
  208.                   End If
  209.                 End If
  210.               Next ii%
  211.             Loop
  212.             Close fh%
  213.           End If
  214.         Next i%
  215.       db.CommitTrans
  216.       If ds.RecordCount > 0 Then
  217.         fh% = FreeFile
  218.         Open "WORTE.YZX" For Output As fh%
  219.         ds.MoveFirst
  220.         Do While Not ds.EOF
  221.           Print #fh%, ds!wort; ","; ds!filename
  222.           ds.MoveNext
  223.         Loop
  224.         Close
  225.       End If
  226.       ds.Close
  227.       db.Close
  228.       Kill "WORTE.MDB"
  229.       Kill "WORTE.LDB"
  230.     End If
  231.   Next j%
  232.   MsgBox "Parsing fertig"
  233. End Sub
  234.  
  235.