Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente bannato
    Registrato dal
    Jul 2003
    Messaggi
    404

    [ASP net] Prelevare un NomeFile

    All'interno di una texbox ho un percorso dove si trova un file, per esempio c:\pippo\prova.txt, ora dovrei prelevarmi solo il nome del file.Esiste qualche classe che fa una cosa del genere.
    E' possibile sapere come si fa?
    GRAZIE

  2. #2
    Utente bannato
    Registrato dal
    Jul 2003
    Messaggi
    404
    Nessuno sa darmi una risposta?
    SE io prendo un file in un percorso del tipo c:\prova\pippo.txt, dovrei mettere in una stringa solo pippo.txt

  3. #3
    Utente bannato
    Registrato dal
    Jul 2003
    Messaggi
    404
    avrei bisogno solo di sapere se è possibile fare una cosa del genere, da un percorso covrei prendere solo il nome del file

  4. #4
    Prova questa funzione

    Private Function NomeFile(ByVal s As String) As String
    Dim f As String
    Dim sep As Integer
    sep = InStrRev(s, "\")
    f = s.Substring(sep)
    Return f
    End Function


    response.write(NomeFile("c:\pippo\prova.txt"))


    Fammi sapere
    Ciao
    Kalman
    Kalman

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    System.IO.Path.GetFileName("C:\....\file.ext")

  6. #6
    Utente bannato
    Registrato dal
    Jul 2003
    Messaggi
    404
    io ho fatto così:
    dim NomeFile as string="C:\prova\pippo.txt"
    dim pos as integer=nomefile.LastIndexOf("\")

    NomeFile=Nomefile.substring(pos)

    Però la cosa strana è che invece di restituirmi pippo.txt, mi restituisce \pippo.txt
    PERCHE'

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da bluelions
    io ho fatto così:
    dim NomeFile as string="C:\prova\pippo.txt"
    dim pos as integer=nomefile.LastIndexOf("\")

    NomeFile=Nomefile.substring(pos)

    Però la cosa strana è che invece di restituirmi pippo.txt, mi restituisce \pippo.txt
    PERCHE'
    Non è strano ma è perfettamente corretto. Tu gli dicesti di prenderti TUTTA la sottostringa che inizia con la prima ricorrenza del carattere \ da destra

    perciò, o fai NomeFile=Nomefile.substring(pos + 1)

    o segui i consigli di sms ed usi la classe path

    Pietro

  8. #8
    Utente bannato
    Registrato dal
    Jul 2003
    Messaggi
    404
    infatti ho fatto pos+1, però dal manuale si evince che la proprietà ListIndexOf sostituisce Instrv di VB6, se uso instrv il risultato è corretto mentre con questo no.
    Allora mi domando.....in un certo senso non è la stessa cosa.

    Cmq un altra cosa, la variable pos mi restituisce un valore del tipo &Hf2 e non un intero,nonostante l'ho dichiarata di tipo integer.

  9. #9
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da bluelions
    infatti ho fatto pos+1, però dal manuale si evince che la proprietà ListIndexOf sostituisce Instrv di VB6, se uso instrv il risultato è corretto mentre con questo no.
    Allora mi domando.....in un certo senso non è la stessa cosa.

    Cmq un altra cosa, la variable pos mi restituisce un valore del tipo &Hf2 e non un intero,nonostante l'ho dichiarata di tipo integer.
    Nel manuale serio che ho io si legge che:
    Sebbene nella maggior parte dei casi sia possibile utilizzare i nuovi metodi per sostituire le funzioni vecchio stile, bisognerebbe fare attenzione alle sottili differenze che potrebbero rompere la compatibilità del codice:
    1) IN VISUALBASIC.NET GLI INDICI DELLE STRINGHE HANNO SEMPRE BASE ZERO.
    2) LasIndexOf ASSOMIGLIA A InStrRev, ma non gestisce le ricerche indipendenti da maiuscole e minuscole

    **** e così di seguito

    e pos nel tuo codice dà 8 come deve essere e non &h2f che è il codice asc di "\"

    Pietro

  10. #10
    Utente di HTML.it L'avatar di biste
    Registrato dal
    Apr 2001
    Messaggi
    877
    E' consigliabile utilizzare il codice consigliato da sms, è garantito ad esempio che funzionerebbe su altre piattaforme non windows dove il path separator è differente.
    UGIdotNET
    Microsoft .NET MCAD
    C++, C#, VB6, VB.NET, ASP, ASP.NET
    SQL Server 2000

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.