Kirjoittaja: tnb
Kirjoitettu: 12.09.2004 – 12.09.2004
Tagit: koodi näytille, vinkki
VB.net tuo mukanaan uudet funktiot tiedostonimen ja polun käsittelyyn: System.IO.Path luokka. VB6:tta vaivaava "/" mukana-vai-ei ongelma on myös ratkaistu.
' ********************************** ' vb.net ' Tiedostonimen ja polun käsittely ' tnb 2004 ' ********************************** Dim tiedosto As String = "oma.txt" Dim polku As String = "c\:tekstit" Dim kokopolku As String Dim juuri As String Dim totuus As Boolean 'polun ja tiedostonimen yhdistys '\ lisätään itsestään väliin kokopolku = System.IO.Path.Combine(polku, tiedosto) 'käyttäjän oma temp hakemisto polku = System.IO.Path.GetTempPath ' tiedostotarkenteen muuttaminen kokopolku = System.IO.Path.ChangeExtension(kokopolku, "doc") ' hakemisto osa polusta polku = System.IO.Path.GetDirectoryName(kokopolku) ' polku nykyiseen (current) hakemistoon + tiedotonimi ' ei tee mitään jos polku on jo annettu parametrissä kokopolku = System.IO.Path.GetFullPath(tiedosto) 'nykyinen hakemisto näinkin polku = System.IO.Path.GetDirectoryName(System.IO.Path.GetFullPath(tiedosto)) 'juurihakemisto kuten C:\ juuri = System.IO.Path.GetPathRoot(kokopolku) 'onko terkenne jo mukana totuus = System.IO.Path.HasExtension(tiedosto) 'onko stringissä koko polku mukana totuus = System.IO.Path.IsPathRooted(tiedosto) totuus = System.IO.Path.IsPathRooted(kokopolku) 'tiedostonimi ilman tarkenninta tiedosto = System.IO.Path.GetFileNameWithoutExtension(tiedosto)
Kamoon, eikö vinkkisi voisi jo tehdä jotain...
Lisäksi GetExtension hakee päätteen.
Omaan koodityyliin oli VB6-ajoilta sen verran syvään juurtunut tapa käyttää App.Pathia että oli pakko lisätä omiin VB.NET-projekteihin tälläinen funktio:
Public Function exePolku() As String 'vastaa VB6 App.Pathia, palauttaa .exen polun, mukana myös \-merkki. Return System.AppDomain.CurrentDomain.BaseDirectory() End Function
Enää en edes muista miksi valitsin AppDomainin enkä IOota, mutta hienosti on toiminut.