Gå til innhold

hente ut deler av en sti streng.


Anbefalte innlegg

Hei !

Jeg har laget denne koden :

 

 

Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked

patW = LinkLabel1.Text

If LinkLabel1.Text = "H:\Databaseapplikasjon.doc" Then

Shell("""H:\Program Files\Microsoft Office\Office\WINWORD.EXE""" + patW, AppWinStyle.NormalFocus, True, -1)

End If

End Sub

 

Jeg kan med dette åpne det dokumendtet som står her If LinkLabel1.Text = "H:\Databaseapplikasjon.doc"

Det som jeg har problemer med er at jeg vil ikke ha hele stien, men jeg vil bare ha filtypen som ligger i stien altså .doc

Jeg har prøvd en del forskjellig, blant annet "%.doc", men det gikk ikke.

Noen som har noen gode tips her ?

 

Hilsen Frode

Lenke til kommentar
Videoannonse
Annonse

Prøv dette:

 

 

 

dim FullName as string = LinkLabel1.Text

dim FileName as string = FullName.Split("\")( FullName.Split("\").Length - 1 )

dim FileExt as string = FileName.Split(".")( FileName.Split(".").Length - 1 )

 

If FileExt.ToUpper() = "DOC" Then

 

Shell("""H:\Program Files\Microsoft Office\Office\WINWORD.EXE""" + FullName, AppWinStyle.NormalFocus, True, -1)

 

End If

 

 

EDIT: btw; VB.Net er ikke akuratt mitt favorittspråk, så syntax'en er kanskje ikke helt 100% (gadd ikke teste det heller).

Endret av jorn79
Lenke til kommentar

Ikke noe problem :)

 

 

Det finnes nok funksjoner for å hente ut filnavn, filendelse, osv også, men når man kan gjøre det (enklere) selv så.... Uansett er det mange måter å gjøre det på. .Split er en fin funksjon :D Hastigheten på den er vel heller dårlig, men i sånne eksempler trenger man jo ikke akuratt noe stor hastighet :)

 

 

Uansett så er det veldig greit å vite om funksjoner som Split, Join, (Last)IndexOf, SubString, osv... Anbefales å ta en kikk på msn eller google om du ikke vet hva de gjør fra før av.

Lenke til kommentar
he he du er topp!
Takker og bukker, du skjønner jeg sliter litt med vb.net, jeg er ganske fersk og når det stopper opp så stopper det skikkelig. Men jeg liker veldi godt å holde på med dette, men jo mer jeg går inn i dette jo mer skjønner jeg hvor digert dette område er.
Takk igjen
Hilsen Frode
Lenke til kommentar
Prøv dette:

 

 

 

dim FullName as string = LinkLabel1.Text

dim FileName as string = FullName.Split("\")( FullName.Split("\").Length - 1 )

dim FileExt as string = FileName.Split(".")( FileName.Split(".").Length - 1 )

 

If FileExt.ToUpper() = "DOC" Then

 

Shell("""H:\Program Files\Microsoft Office\Office\WINWORD.EXE""" + FullName, AppWinStyle.NormalFocus, True, -1)

 

End If

Dette er ikke måten å gjøre det på i .NET. Man forutsetter her at directory separator er \ (backslash), men dette er ikke tilfelle i bl.a. Unix.

Bruk System.IO.Path til å manipulere paths.

 

I ditt eksempel:

dim fileExt as string = System.IO.Path.GetExtension(LinkLabel1.Text)

 

Sjekk ut System.IO.Path på MSDN

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...