Kirjautuminen

Haku

Tehtävät

Koodit: VB.NET: Tiedostonimen ja polun käsittely

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)

Kommentit

Juice [12.09.2004 20:03:38]

#

Kamoon, eikö vinkkisi voisi jo tehdä jotain...
Lisäksi GetExtension hakee päätteen.

pahis [15.10.2004 11:47:05]

#

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.

Kirjoita kommentti

Muista lukea kirjoitusohjeet.
Tietoa sivustosta