Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di Petra
    Registrato dal
    Apr 2005
    Messaggi
    224

    [VB6] Estensioni File e Problemi Dir

    Buon giorno a tutti...ho due problemini:

    Il primo riguarda la proprietà Pattern del FileListBox. Il valore che gli ho assegnato è "*.bmp; *.gif; *.jpg; *.jpeg; *.tif; *.tiff; *.psd; *.png", ma mi visualizza solo i file *.bmp...come mai ? ?

    Il secondo riguarda il DirListBox. Quando clikko la periferica Floppy o Cd-Rom (ovviamente vuote) sul DriveListBox, mi genera un'errore sulla proprietà Path del DirListBox...come faccio a gestirlo ? ? ?

    Vi ringrazio...buona continuazione!!

  2. #2
    Utente di HTML.it L'avatar di Mabi
    Registrato dal
    May 2002
    Messaggi
    1,245
    Il primo riguarda la proprietà Pattern del FileListBox. Il valore che gli ho assegnato è "*.bmp; *.gif; *.jpg; *.jpeg; *.tif; *.tiff; *.psd; *.png", ma mi visualizza solo i file *.bmp...come mai ? ?
    Perchè il carattere di separazione fra un'estensione e l'altra è ";" e non " ;" (senza spazio)
    Il secondo riguarda il DirListBox. Quando clikko la periferica Floppy o Cd-Rom (ovviamente vuote) sul DriveListBox, mi genera un'errore sulla proprietà Path del DirListBox...come faccio a gestirlo ? ? ?
    L'errore è il numero 68 (Periferica non pronta).
    Puoi gestirlo ad esempio così:
    codice:
    Private Sub Drive1_Change()
    On Error GoTo GestioneErrori
    Dim RispostaMsg As VbMsgBoxResult
    
    Dir1.Path = Drive1.Drive
    
    Exit Sub
    GestioneErrori:
    If (Err.Number = 68) Then
      RispostaMsg = MsgBox("Impossibile accedere a " & UCase$(Drive1.Drive) & "\" & vbCr & vbCr & "Periferica non pronta.", vbRetryCancel + vbCritical, "Ricerca in " & UCase$(Drive1.Drive) & "\")
        If RispostaMsg = vbRetry Then
          Drive1_Change
        End If
        If RispostaMsg = vbCancel Then
          Drive_Precedente
        End If
    End If
    If (Err.Number <> 0 And Err.Number <> 68) Then
      MsgBox (CStr(Err.Number) & Err.Description), vbCritical, "Errore"
    End If
    End Sub
    
    Private Sub Drive_Precedente()
    On Error GoTo GestioneErrori
    
    Drive1.Drive = Left$(Dir1.Path, 2)
    
    Exit Sub
    GestioneErrori:
    If (Err.Number = 68) Then
      MsgBox "Impossibile accedere a " & UCase$(Drive1.Drive) & "\ e a " & UCase(Left$(Dir1.Path, 3)) & vbCr & vbCr & "Periferiche non pronte.", vbOKOnly + vbCritical, "Ricerca in " & UCase$(Drive1.Drive) & "\ e " & UCase(Left$(Dir1.Path, 3))
    End If
    If (Err.Number <> 0 And Err.Number <> 68) Then
      MsgBox (CStr(Err.Number) & Err.Description), vbCritical, "Errore"
    End If
    End Sub
    Vi ringrazio...buona continuazione!!
    continuazione...
    ... e non usare while wend è una sintassi deprecata

  3. #3
    Utente di HTML.it L'avatar di Petra
    Registrato dal
    Apr 2005
    Messaggi
    224
    Grazie mille...un'altra domanda...come faccio a cercare un file nel FileListBox senza dover arrivare all'uso del ciclo ? ? ?
    Intendo dire in questo modo:

    codice:
    ' Script per la ricerca veloce del file. Per ora sto usando un ciclo.
    
    If File1.ListCount = 1 Then
      ' Script
    End if

  4. #4
    Utente di HTML.it L'avatar di Mabi
    Registrato dal
    May 2002
    Messaggi
    1,245
    Non c'è un modo. Essendo una lista paragonabile ad un vettore, devi controllare tutti gli elementi.
    Se però ti occorre sapere "velocemente" se un file si trova in una cartella puoi usare la funzione Dir().
    ... e non usare while wend è una sintassi deprecata

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.