- Gestire un path (percorso di un file) - |
|||
COSA SERVE PER QUESTO TUTORIAL | |||
Download | Chiedi sul FORUM | Glossario | Basica conoscenza di VB .NET | ||
Classe Path | |||
UNA CLASSE PER GESTIRE UN PERCORSO Utile classe per ottenere da un percorso nome, estensione, titolo, cartelle del file e altro. Codice: ''' <summary>Semplice classe che permette di ricavare informazioni da una path ''' di un file</summary> Public Class Path ''' <summary>La stringa della path</summary> Protected strPath As String ''' <summary>Costruttore</summary> Public Sub New(ByVal Path As String) Me.Path = Path End Sub ''' <summary>Restituisce e imposta il path, verifica inoltre la correttezza ''' della stringa</summary> Public Property Path() As String Get Return strPath End Get Set(ByVal value As String) strPath = value.Trim If strPath.Substring(strPath.Length - 1, 1) = "\" Then Throw New Exception("Only file-path") ElseIf strPath Is Nothing OrElse strPath = [String].Empty Then Throw New Exception("Void path received") ElseIf IsUNC And InStrT(strPath, "\") < 4 Then Throw New Exception("Only file-path") End If End Set End Property ''' <summary>Restituisce True se è un percorso UNC ''' (es. "\\mio_pc\cartella\file.ext")</summary> Public ReadOnly Property IsUNC() As Boolean Get Return strPath.Substring(0, 2) = "\\" End Get End Property ''' <summary>Restituisce True se il file specificato esiste</summary> Public ReadOnly Property Exists() As Boolean Get Return System.IO.File.Exists(strPath) End Get End Property ''' <summary>Restituisce la cartella in cui il file è contenuto ''' (es. "c:\miacartella\")</summary> Public ReadOnly Property Directory() As String Get Return strPath.Substring(0, strPath.LastIndexOf("\") + 1) End Get End Property ''' <summary>Restituisce il nome del file (es. "file.ext")</summary> Public ReadOnly Property FileName() As String Get Return strPath.Substring(strPath.LastIndexOf("\") + 1) End Get End Property ''' <summary>Restituisce il titolo del file (es. "file")</summary> Public ReadOnly Property Title() As String Get Title = Me.FileName If Not Title.IndexOf(".") = -1 Then _ Title = Title.Substring(0, Title.LastIndexOf(".")) End Get End Property ''' <summary>Restituisce l'estensione del file (es. "ext")</summary> Public ReadOnly Property Extension() As String Get If Title.IndexOf(".") = -1 Then Return [String].Empty Return strPath.Substring(strPath.LastIndexOf(".") + 1) End Get End Property ''' <summary>Restituisce l'ennesima directory superiore ''' (es. New Path("c:\a\b\c\d\e\f.ext").Parent(2) = "c:\a\b\c\")</summary> ''' <param name="Index">L'indice della cartella superiore</param> Public ReadOnly Property Parent(Optional ByVal Index As Integer = 1) As String Get If Index < 0 Then Throw New Exception("Index can't be negative") If Index >= InStrT(strPath.Replace("\\", ""), "\") Then _ Throw New Exception("The parent you requested is over the root directory") Parent = Me.Directory Dim C1 As Integer, strTPath As String strTPath = strPath For C1 = 1 To Index strPath = Parent.Substring(0, Parent.Length - 1) Parent = Me.Directory Next C1 strPath = strTPath End Get End Property ''' <summary>Restituisce il numero totale di volte che strSearch ''' appare in str</summary> ''' <param name="str">Stringa in cui effettuare la ricerca</param> ''' <param name="strSearch">Stringa da cercare</param> Private Function InStrT(ByVal str As String, ByVal strSearch As String) As Integer Return (str.Length - str.Replace(strSearch, "").Length) / strSearch.Length End Function End Class |
|||
<< INDIETRO | by VeNoM00 |