| |

Fortgeschrittene ProgrammierungInteressantes Problem:CMDDialog | |  | Autor: HugoHirsch | Datum: 24.04.02 13:02 |
| Hi,
lustig: hab einen CommonDialog mit mehrfacher Dateiauswahl... Ist einwandfrei gelaufen (hatte auch nur 12 Dateien zum Testen). Jetzt bekomm ich mein Programm zurück, weil es nicht mehr als 14 Dateien auswählen kann.
Er stürzt beim Auswählen von 15 Dateien im Common Dialog einfach ab und geht zu "errfile".
2. Problem: Wenn ich 10 Dateien wähle und wieder auf cmdLog_Click() klick, dann geht er in der ComDialFile ins parent Verzeichnis und in der Datei Textbox im Dialog stehen alle Dateien drinnen (WILL ICH ABER NICHT!!)
Herzlichsten Dank - wäre dringend
Folgender Code:
...
Dim Datei as String
Dim Pfad as string
...
Private Sub cmdLog_Click()
List1.Clear
Pfad = ""
Pfad = GetSetting(App.EXEName, "Datei", "Pfad", "")
On Error GoTo errfile
With ComDialFile
.Filter = "*.log - Log Files|*.log|"
.DialogTitle = "LogFile wählen"
.InitDir = Pfad
.Flags = &H200 + &H80000
.Action = 1
Datei = .FileName ' Weiter komm ich nicht!! Er stürzt im Common Dialog
Do While Not InStr(Datei, vbNullChar) = 0
' Falls im String noch ein Pfad steht, so wird dieser
' in die Textbox geschrieben.
If InStr(Datei, "\") = 3 Or InStr(Datei, "\") = 1 Then
' Feststellen wo der erste vbNullChar ist (vor der ersten Datei !)
intPosDelim = InStr(Datei, vbNullChar)
' Den Pfad extrahieren, und ein abschließendes "\" setzen
Pfad = Left(Datei, intPosDelim - 1) & "\"
' Die Variable enthält nun nur noch die Dateien
' (das erste vbNullChar wird weggelassen)
Datei = Mid$(Datei, intPosDelim + 1)
Else
' Das erste vbNullChar finden (nach der ersten Datei)
intPosDelim = InStr(Datei, vbNullChar)
' Von rechts alles in die neue Variable schreiben,
' bis zum vbNullChar
Datei2 = Mid$(Datei, 1, intPosDelim - 1)
' Die Variable wird ohne die eben genutzte Datei
' zurückgeschrieben
Datei = Mid$(Datei, intPosDelim + 1)
' Die extrahierte Datei wird zur ListBox hinzugefügt
List1.AddItem Datei2
End If
Loop
If InStr(Datei, "\") Then
'Datei vom Pfad trennen
Pfad = Left$(Datei, Len(Datei) - Len(.FileTitle))
'Variablenmissbrauch
intPosDelim = Len(Pfad)
Datei = Mid$(Datei, intPosDelim + 1)
List1.AddItem Datei
Else
List1.AddItem Datei
End If
SaveSetting App.EXEName, "Datei", "Pfad", Pfad
End With
Exit Sub
errfile:
MsgBox "Fehler beim Auswählen der Datei!", vbCritical + vbOKOnly, "Achtung!"
End Sub |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
Neu! sevCommand 4.0 
Professionelle Schaltflächen im modernen Design!
Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|