[VisualBasic] Dateisuche mit Platzhalter

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von LeAn, 28. April 2008 .

  1. 28. April 2008
    Dateisuche mit Platzhalter

    Hi
    habe mit einem projekt angefangen um mal wieder in VB reinzukommen in dem projekt geht es um eine einfache dateisuche hier der code: (API aufrufe hab ich jetzt mal weggelassen)


    Code:
    ordner1 = VBA.GetSetting("Seeger-Lasertechnik", "Pfadsettings", "ordner1") 'ordner 1 laden
    ordner2 = VBA.GetSetting("Seeger-Lasertechnik", "Pfadsettings", "ordner2") ' ordner2 laden
    ordner3 = VBA.GetSetting("Seeger-Lasertechnik", "Pfadsettings", "ordner3") ' ordner 3 laden
    
    
    eingabefeld = txtsuche.Text
    
    ' ergebnis abfrage...
    
    ergebnis11 = FileFind(eingabefeld & ".pdf", ordner1 & "\")
    ergebnis22 = FileFind(eingabefeld & ".pdf", ordner2 & "\")
    ergebnis33 = FileFind(eingabefeld & ".pdf", ordner3 & "\")
    
    If FileFind(eingabefeld & ".pdf", ordner1 & "\") = "0" Then
    ausgabe = "0"
     
     If FileFind(eingabefeld & ".pdf", ordner2 & "\") = "0" Then
     ausgabe = "0"
     
     If FileFind(eingabefeld & ".pdf", ordner3 & "\") = "0" Then
     ausgabe = "0"
     Else
     ausgabe = FileFind(eingabefeld & ".pdf", ordner3 & "\")
     End If
     
     Else
     ausgabe = FileFind(eingabefeld & ".pdf", ordner2 & "\")
     End If
     
    Else
    ausgabe = FileFind(eingabefeld & ".pdf", ordner1 & "\")
    End If
     
    
    
    
    
    
    If ausgabe = "0" Then
     MsgBox "Datei wurde nicht gefunden", vbCritical, "Dateifehlt.."
     Else
     
     
    If Not OpenWithLinkedApp(0, ausgabe) Then
     MsgBox "Nicht erfolgreich!"
    End If
    
    End If
    
    funktioniert auch alles aber wie suche ich mit platzhaltern?
    also dass ich z.b. die ersten nummern des dateinamens eingebe und er mir automatisch die gesuchte datei sucht, oder wenn sie doppelt vorhanden ist mir in die listbox die verschiedenen möglichkeiten anzeigt.

    Code:
    beispiel:
    ein ordner mit 3 dateien 1234a, 1234b,11598
    die gesuchte datei heisst 1234a
    ichgebe aber nur 123 ein oder 123* und ersoll mir die dateinamen 1234a und 1234b in der listbox anzeigen .
    
    
    
    wie geht das?

    bws gehn natürlich raus


    mfg LeAn
     
  2. 28. April 2008
    AW: Dateisuche mit Platzhalter

    Ich kann leider kein VB.NET, aber das Stichwort lautet "Regular Expressions"..

    Gleich mal 2 Suchergebnisse:
    Reguläre Ausdrücke - ActiveVB
    Using Regular Expressions with .NET - C# and Visual Basic
     
  3. 28. April 2008
    AW: Dateisuche mit Platzhalter

    thx habs aber irgendwie nicht verstanden
    kann ich dass überhaupt in meinem projekt verwenden also irgendwie gehts da ja ums filtern und nicht ums suchen oder?

    ich will ja u.a. auch doppelte dateinamen suchen und die ergebnise in eine combobox eintragen.

    ich hoffe das hat diesmal jmd verstanden.


    ich hab auch ein modul gefunden dass möglicher weise genau dass macht was ich will aber wie rufe ich die prozedur auf?

    http://freenet-homepage.de/VBA/TippsTricks-Dateisuche.html




    mfg lean
     
  4. 29. April 2008
    AW: Dateisuche mit Platzhalter

    Bei Visual basic 4 - 6 gibt es eine nicer Funktion! Du kannst einfach den FileExplorer aus der Toolbar nehmen, dann auf dein Projekt plazieren, "Visible = false" setzeb und einfach "Filter = 123*" eingeben, wobei du halt 123* als einen String übergibst (mit ""). Bei .NET suche ich mal was für dich raus.

    Bis später ^^

    Also So geht das bei VB.NET, wobei du selber den Pfad und den Suchpattern eingeben kannst. Die Ergebnissee werden in einen neuen String-Array gespeichert, strFoundFiles.

    Code:
     Dim strFoundFiles() = System.IO.Directory.GetFiles("C:\Windows\system32\", "*.dll")
    
    Ein Array ist eine Sammlung von verschiedenen Variablen innerhalb einer Variable, in dem Falle strFoundFiles.
    Die einzelnen Elemente lassen sich so ansprechen: strFoundFiles(i) Wobei i eine Zahl ist, welche von 0 beginnend gezählt wird und die Adresse der in dieser Variable gültigen Elemente darstellt. Da diese Variable eigentlich nur Strings speichert, kannste z.B. strFoundFiles(29) auch direkt als String benutzen.
    sorry, dass ich alles erkläre, aber man kann nie wissen wie weit man im Fach ist
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.