Es ist zwar schon ein wenig her, als Dariusz, Alex, Thomas und Thomas sich selbst diese Frage gestellt und beantwortet haben. Dennoch ist es für mich Anlaß genug, auch mal in den Archiven nachzukramen und zu schauen, was ich denn so vor 10 Jahren an Software “verbrochen” habe.

Nun, vor genau 10 Jahren (Frühjahr 2000) habe ich erstaunlich vielschichtiges getan. Da bin ich selbst schon überrascht. Ich habe z.B. einen HTML-Editor (versucht) in VB6 zu programmieren. Und habe ich einen PDF-Scanner in C geschrieben (um Bilder bzw. 2D-Polygone aus dem PDF zu “extrahieren”). Doch beides möchte ich hier nicht vorstellen, sondern ein ganz anderes Programm, mit vorerst letztem CVS-Commit am 15.03.2000: ScanDirNavian.

ScanDirNavian ist ein kleines Ameisenprogramm in VB6. Es durchforstet einen gesamten Verzeichnisbaum auf bestimmte Dateien (mit bestimmten Patterns im Dateinamen) und listet diese in einer Logdatei auf. Als Zusatzfeature kann es nicht nur die Dateiinformationen loggen, sondern auch einfache Transformationsaufgaben erledigen. Z.B. “Nehme die ersten 3 Zeichen des Dateinamens, falls es eine Zahl ist, stelle Sie an das Ende des Dateinamens.”

scandirnavian

Ich bin mir nicht mehr sicher, welchen Zweck ich damit eigentlich bedient habe. Ich kann mich vage daran erinnern, dass ich tausende von Logdateien (von Linux, Raytracern und diversen anderen Programmen) irgendwie umstrukturieren bzw. in andere Verzeichnisstrukturen überführen wollte. Ein Codeschnipsel gefällig? Bitte gerne:

Private Sub CommandScan_Click()
    Dim StartDirectory As String
    Dim ScanTimeString As String
    AllFileCounter = 0
    AllScanTime = 0

    StartDirectory = DirSource.Path
    LabelInfo.Caption = "Scanning Directory" & vbCrLf & vbCrLf & _
        StartDirectory & vbCrLf & vbCrLf & _
        "Please wait until scan is complete."
    TabLog.Tabs(3).Selected = True
    FormMain.MousePointer = 11
    TimerScanDuration.Enabled = True
    DoEvents

    If InStr(TextHeader.Text, LogTypeCommand(7)) > 0 Then
        TextHeader.Text = _
            Left(TextHeader.Text, _
            InStr(TextHeader.Text, LogTypeCommand(7)) - 1) & _
            DirSource.Path & _
            Right(TextHeader.Text, Len(TextHeader.Text) - _
            InStr(TextHeader.Text, LogTypeCommand(7)) - _
            Len(LogTypeCommand(7)) + 1)
    End If
    If InStr(TextHeader.Text, LogTypeCommandShortCut(7)) > 0 Then
        TextHeader.Text = _
            Left(TextHeader.Text,
            InStr(TextHeader.Text, LogTypeCommandShortCut(7)) - 1) & _
            DirSource.Path & _
            Right(TextHeader.Text, Len(TextHeader.Text) - _
            InStr(TextHeader.Text, LogTypeCommandShortCut(7)) - _
            Len(LogTypeCommandShortCut(7)) + 1)
    End If

    If Len(TextLog.Text) = 0 And Len(TextHeader.Text) > 0 Then _
        TextLog.Text = TextHeader.Text & vbCrLf & _
        String(Len(TextHeader.Text), "-") & vbCrLf & vbCrLf

    ScanDirectory DirSource.Path, TextOutput.Text
    DirSource.Path = StartDirectory
    TimerScanDuration.Enabled = False

    FormMain.MousePointer = 0
    ScanTimeString = Trim(Str(AllScanTime / 10))
    If Left(ScanTimeString, 1) = "." Then ScanTimeString = "0" & ScanTimeString
    LabelInfo.Caption = "Scan complete !" & vbCrLf & vbCrLf & _
        "Successfully passed through " & Trim(Str(AllFileCounter)) & " files." & _
        vbCrLf & "Elapsed time: " & ScanTimeString & " seconds."
End Sub

Oh je, da habe ich mich nicht gerade mit Ruhm bekleckert :-) Funktioniert hat es – Ja. Aber lange zufrieden war ich auch nicht damit. Immerhin hat es seinen Zweck erfüllt.

Comments
This article has no comments yet. Comments are very welcome.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


(c) 2000-2012 ilker.de - Creative Computing.

For any case of inquiry regarding this document, you can always contact the website owner.