Hallo zusammen,
ich verstehe die Welt nicht mehr.
Habe folgende Sub geschrieben
Spoiler anzeigen
Wenn ich jetzt über call Automatisch_Unterverzeichnisse("E:\Test 1\Test 2\Folge 001\CD 01") mir das bisherige Ergebnis anzeigen lassen möchte, dann wird mir die Zeile mit '00 = ...' nicht in der Inputbox angezeigt. In der vorherigen MSGBox aber schon.
Kann mir mal einer hier den Fehler nennen? Wie kann es sein, dass in der nächsten Zeile der vorherige Wert nicht mehr da ist?
Auf diese Antwort bin ich mal gespannt. Oder gibt es hier ein Bug in VB.Net 2017?
Gruß
Volker
CodeTags korrigiert; bitte zukünftig darauf achten, das richtige CodeHighlighting zu verwenden ~VaporiZed
ich verstehe die Welt nicht mehr.
Habe folgende Sub geschrieben
VB.NET-Quellcode
- Public Sub Automatisch_Unterverzeichnisse(Pfad As String)
- ' *************************************************************************
- ' Fragt aus dem kpl. Pfad die evtl. vorhandenen Unterverzeichnisse 1 + 2 ab
- ' Hierzu werden alle Verzeichnisse getrennt und ab dem zweiten kann dann jeweils die Auswahl für das erste oder zweite Unterverzeichnis gewählt werden
- ' *************************************************************************
- ' Hilfsvariablen anlegen
- Dim VerzNamen() As String
- Dim AnzeigeWerte As String
- Dim Auswahl As String
- ' Die Verzeichnisteile ermitteln
- VerzNamen = Split(Pfad, "\")
- AnzeigeWerte = "Welche Zahl soll das Unterverzeichnis 2 darstellen?" & vbCrLf & vbCrLf
- ' Den Text für die Abfrage erstellen
- ' Da die Unterverzeichnisse meist die letzten sind, wird die Anzeige auch von hinten nach vorne erstellt.
- ' 0 ist der Laufwerksbuchstabe, daher wird dieser ausgelassen
- For z = UBound(VerzNamen) To 1 Step -1
- ' Prüfen, ob es sich nicht um folgende Verzeichnisse handelt
- ' Folge, CD und MM - Verzeichnisse
- If InStr(UCase(VerzNamen(z)), "CD") = 0 And InStr(UCase(VerzNamen(z)), "FOLGE") = 0 And UCase(VerzNamen(z)) <> "MM" Then
- ' Anzeigetext erstellen
- AnzeigeWerte = AnzeigeWerte & Format(z, "00") & " = " & VerzNamen(z) & vbCrLf
- End If
- Next
- ' Noch eine 'Abbruch' - Möglichkeit einbauen
- AnzeigeWerte = AnzeigeWerte & "00 = gibt es nicht, weiter mit Unterverzeichnis 1"
- If MsgBox("Sind in dem Pfad" & vbCrLf & vbCrLf &
- Pfad & vbCrLf & vbCrLf &
- "1 oder 2 Unterverzeichnisse vorhanden?",
- MsgBoxStyle.DefaultButton2 + MsgBoxStyle.Question + vbYesNo,
- "Unterverzeichnisse vorhanden?") = MsgBoxResult.Yes Then
- ' Auswahl = InputBox("Welche Zahl soll das Unterverzeichnis 2 darstellen?" & vbCrLf & vbCrLf &
- 'AnzeigeWerte & "00 = gibt es nicht, weiter mit Unterverzeichnis 1")
- MsgBox(AnzeigeWerte & vbCrLf & vbCrLf & Len(AnzeigeWerte))
- Auswahl = InputBox(AnzeigeWerte)
- End If
- End Sub
Wenn ich jetzt über call Automatisch_Unterverzeichnisse("E:\Test 1\Test 2\Folge 001\CD 01") mir das bisherige Ergebnis anzeigen lassen möchte, dann wird mir die Zeile mit '00 = ...' nicht in der Inputbox angezeigt. In der vorherigen MSGBox aber schon.
Kann mir mal einer hier den Fehler nennen? Wie kann es sein, dass in der nächsten Zeile der vorherige Wert nicht mehr da ist?
Auf diese Antwort bin ich mal gespannt. Oder gibt es hier ein Bug in VB.Net 2017?
Gruß
Volker
CodeTags korrigiert; bitte zukünftig darauf achten, das richtige CodeHighlighting zu verwenden ~VaporiZed
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()