Gå til innhold

StreamReader-spørsmål


Anbefalte innlegg

Hei igjen...

 

        melding = "Skriv inn filbane og filnavn: (Eks: C:tmptmp.txt)"

       tittel = "Last fra fil..."

       fil = InputBox(melding, tittel)

       sr = IO.File.OpenText(fil)

       ansattnr = CDbl(sr.ReadLine)

       fornavn = sr.ReadLine

       etternavn = sr.ReadLine

       adresse = sr.ReadLine

       aarslonn = CDbl(sr.ReadLine)

       sr.Close()

 

Funker helt glimrende, men når ingen fil blir valgt så blir det jo feil i [ sr = IO.File.OpenText(fil) ] og programmet kræsjer. Mulig å unngå dette?

 

F.eks. det kommer opp en MsgBox("Feil, prøv på nytt.", , "Feil!") og den går tilbake til InputBox.

Lenke til kommentar
Videoannonse
Annonse

Du kan sjekke om filen eksisterer slik:

 

...

Dim fantFil as Boolean = false

Do

 fil = InputBox(melding, tittel) 

 if Dir(fil) <> "" then

   fantFil = True

 else

   fantFil = false

   ' Filen finnes ikke. Gi beskjed...

 endif 

Loop Until fantFil = True

sr = IO.File.OpenText(fil) 

...

 

Jeg har ikke testet dette, og jeg er ikke stø i VB.NET, men prøv deg fram med dette.

 

Du kan jo også bruke System.Windows.Forms.OpenFileDialog til å velge en fil...

 

.Ø.

Lenke til kommentar

jeg ville gjort det litt annerledes...

for å skjekke om mappen/fil eksisterer bruker du directory klassen.

så setter du en errorprovider når textboksen forlates av brukeren....

vil bli noe slikt...(ikke kontrollert koden)

 

----------------------------------------------------------------

 

Impors System.IO 'importerer directory klassen

 

'legg til en ErrorProvider til formen fra toolboxen.

 

dim sti as string 'lager en variabel for stien

sti=textbox1.text ' setter variablen til textboken

 

' du utfører kontrollen når kontrollen blir forlatt av brukeren,eksempelvis

 

Private Sub ansattTextBox_Leave(...)

if not directory.extists(ansattTextBox.text) then ' fil skjekking

ErrorProvider1.SetError(ansattTextBox. _

"filen eksisterer ikke, vennligst prøv på nytt")

 

' så må du skjuler button for validering med å hide den (hide metoden)

 

ansattTextBox.SelectAll() ' gir fokus til textboksen for nytt forsøk

else

'fjerner feilen

ErrorProvider1.SetError(texbox1, "")

end if

end sub

--------------------------------------------------------------------------

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