Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    492

    Recuperare formato di un file

    Salve a tutti
    c'è un modo per recuperare il formato di un file oltre a fare

    codice:
    Right(nomeFile, 4)
    In quanto formati più lunghi di tre caratteri, tipo jpeg, verrebbero troncati?

    Grazie a tutti

  2. #2
    Personalmente proverei usando StrReverse per poi cercherei il '.' con InStr

  3. #3
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    Un'idea potrebbe essere questa :

    codice:
    Private Sub Command1_Click()
    Call fileext(Text1.Text)
    End Sub
    
    Function fileext(nomefile As String) As String
    Dim ext As String
    Dim pos As String
    
    len_string = Len(nomefile)
    pos = InStr(1, nomefile, ".")
    ext = Mid(nomefile, pos, len_string)
    MsgBox ext
    End Function

  4. #4
    Originariamente inviato da yyzyyz
    Un'idea potrebbe essere questa :

    codice:
    Private Sub Command1_Click()
    Call fileext(Text1.Text)
    End Sub
    
    Function fileext(nomefile As String) As String
    Dim ext As String
    Dim pos As String
    
    len_string = Len(nomefile)
    pos = InStr(1, nomefile, ".")
    ext = Mid(nomefile, pos, len_string)
    MsgBox ext
    End Function
    E' corretta, ma come ha fatto notare Sspintux è meglio effettuare la ricerca del punto partendo da destra. Questo perchè se un file ha 2 o + estensioni, quella che conta è l'ultima (l'icona viene rappresentata in base alla prima estensione, ma il programma viene associato in base all'ultima).
    Quindi al posto di InStr conviene utilizzare InStrRev

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    492
    Grazie mille a tutti
    dopo il suggerimento di sspintux ho fatto così e mi va benissimo

    codice:
    Dim lungFormato As String
    lungFormato = StrReverse(nomeFile)
    lungFormato = InStr(1, lungFormato, ".")
    
    Dim formato as String
    formato = Right(nomeFile, lungFormato)
    solo una perplessità... è scorretto o potrebbe portare a qualche errore andare a riscrivere sulla stessa variabile lungFormato una volta fatto il reverse?

  6. #6
    considerando che l'estensione sono tutti i caratteri successivi all'ultimo punto

    codice:
    Extension = UCase$(Mid$(percorsofile, InStrRev(percorsofile, ".") + 1))
    con un *.torrent non ci facevate una bella figura
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  7. #7
    Originariamente inviato da zorro77
    Grazie mille a tutti
    dopo il suggerimento di sspintux ho fatto così e mi va benissimo

    codice:
    Dim lungFormato As String
    lungFormato = StrReverse(nomeFile)
    lungFormato = InStr(1, lungFormato, ".")
    
    Dim formato as String
    formato = Right(nomeFile, lungFormato)
    solo una perplessità... è scorretto o potrebbe portare a qualche errore andare a riscrivere sulla stessa variabile lungFormato una volta fatto il reverse?
    il metodo che usa InStrRev (di cui non mi ricordavo) mi piace di più

  8. #8
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    X luciano79 : Non ci avevo pensato, cmq ke ne dici se faccio cosi:

    codice:
    Function fileext(nomefile As String) As String
    Dim ext As String
    Dim len_rev As String
    
    len_rev = StrReverse(nomefile)
    ext = Mid(len_rev, 1, (InStr(1, len_rev, ".") - 1))
    ext = StrReverse(ext)
    MsgBox ext
    End Function
    ps. so gia' ke le altre routine sono sicuramente meglio.
    pss. differenza tra InStr e InStrRev ?


  9. #9
    Originariamente inviato da yyzyyz

    pss. differenza tra InStr e InStrRev ?

    instr va dal primo carattere all'ultimo
    instrrev fa il contrario
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  10. #10
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    grazie xegallo, adesso è l'ora di punirmi x questa domanda ...

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 © 2024 vBulletin Solutions, Inc. All rights reserved.