Gå til innhold

hente ut deler av en sti streng.


Anbefalte innlegg

Skrevet

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

Videoannonse
Annonse
Skrevet (endret)

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
Skrevet

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.

Skrevet

Jeg har på en måte hardkodet stier i tabellen i sql, jeg skal nå lage en form som skal lagre filen på maskinen og vil da bruke savefiledialog, vet du hvodan jeg henter ut stien som jeg lagrer dokumente i fra savefiledialog ?

Hilsen Frode

Skrevet

dim FullPath as string = ""
If saveFileDialog1.ShowDialog() = DialogResult.OK Then
FullPath = saveFileDialog1.FileName
End If

 

 

var ikke verre enn det ;)

Skrevet
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
Skrevet

Takk for det !

Jeg har lett på msdn men fant ikke det som du fant. Jeg burde ha lett etter select metoden.

Takk igjen

Det dukker sikkert opp flere spørsmål etter hvert

 

Hilsen Frode

Skrevet

Bare å spørre ivei det. Men lag gjerne en egen tråd for det. Blir litt uoversiktlig når man har to diskusjoner/spørsmål i én tråd som nå...

Skrevet
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

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...