Gå til innhold

Hjelp til opplasting fra fil til program som er laget i VB


Anbefalte innlegg

Hei!

Jeg driver å programere i Visual Basic, jeg ganske ny på det feltet og har lastet ned en læringsbok om VB. Ut fra det jeg har lært lager jeg et beregningsprogram av spenningstap i kabler. Men den er langt fra der jeg vil ha den. Derfor kjære venner trenger jeg hjelp.

 

På grensesnittet på programmet har jeg 8 text vinduer for produkt og innnlegging av tall som 230 ,16 osv. Dette kan jeg lagre i en text fil. Men når jeg åpner text filen igjen kommer alle parameterne inn i den første oppgitte textboks(textboks1).

 

Jeg ønsker å få de samme tallene tilbake i samme text vindu som deSpenningstap.rar ble skrevet og lagret inn i ved opplasting fra txt fil. Dvs 230 i textboks1 og 16 i textboks 2 osv. Kan noen hjelpe meg med det?

 

Jeg ligger med rar fil av programmet mitt så dere kan se den. Den kan åpnes i VB 2010.

 

Et spørsmål til, kan den kun lagres i Notepad? Kan jeg ikke bruke f.eks Exel eller Word?

Lenke til kommentar
Videoannonse
Annonse

Hei.

 

Kan ikke så mye om programmering, men regner med at du må lese fra textfilen linje for linje.

 

Så hvis du lagrer textfilen sånn at verdien til textbox1 står som linje 1. textbox2 som linje2 OSV.

 

Når du da åpner textfilen, så looper du igjennom linjene og sier at linje 1 skal til textbox1, linje2 til textbox2 OSV

 

Kan desverre ikke så altfor mye om programmering så det er det beste tipset jeg kan gi deg.

 

MVH

 

Torbjørn

Endret av Bigelk
Lenke til kommentar

Hei, takk for svar så langt. Håper jeg ikke gjør meg missforstått. Jeg vil lese linje for linje på txt filen. ligge linje 1 på Textboks1, Linje 2 på textboks2, linje 3på Textboks3 osv. Hvis dere laster ned filen som jeg lagt ut på tråden vil dere se hva jeg mener.

Lenke til kommentar

hmm. Her åpner vi txt fil. men alt sammen går inn på en textboks og man slipper å skrive ned stien til filen.

 

 

 

 

Dim AllText As String = "", LineOfText As String = ""

 

OpenFileDialog1.Filter =

 

"Text files (*.txt)|*.txt"

 

OpenFileDialog1.ShowDialog()

 

'display Open dialog box

 

 

 

If OpenFileDialog1.FileName <> "" Then

 

 

 

Try 'open file and trap any errors using handler

 

FileOpen(1, OpenFileDialog1.FileName,

 

OpenMode.Input)

 

 

 

Do Until EOF(1) 'read lines from file

 

LineOfText = LineInput(1)

 

 

 

'add each line to the AllText variable

 

AllText = AllText & LineOfText & vbCrLf

 

 

 

Loop 'update label

 

lblNote.Text = OpenFileDialog1.FileName

 

txtNote.Text = AllText

 

'display file

 

txtNote.Enabled =

 

True 'allow text cursor

 

CloseToolStripMenuItem.Enabled =

 

True 'enable Close command

 

OpenToolStripMenuItem.Enabled =

 

False 'disable Open command

 

 

 

Catch

 

MsgBox(

"Error opening file. It might be too big.")

 

 

 

Finally

 

FileClose(1)

 

'close file

 

 

 

End Try

Endret av Sasja1
Lenke til kommentar

Hvor får du disse eksemplene fra?

 

OpenFileDialog1.Filter = "Text files (*.txt)|*.txt"
OpenFileDialog1.ShowDialog() 'display Open dialog box
If Not String.IsNullOrEmpty(OpenFileDialog1.FileName) Then
 Try 'open file and trap any errors using handler
   lblNote.Text = OpenFileDialog1.FileName
   txtNote.Text = System.IO.File.ReadAllText(OpenFileDialog1.FileName)
   'display file
   txtNote.Enabled = True 'allow text cursor
   CloseToolStripMenuItem.Enabled = True 'enable Close command
   OpenToolStripMenuItem.Enabled =  False 'disable Open command
 Catch(ex As Exception)
   MsgBox("Error opening file. " & ex.Message)
 End Try
End If

Lenke til kommentar

Takk for for det. Jeg prøve å forstå loop. Jeg tror det er en enkel sak å få til.

 

Hmmm vel, i dette tilfellet er egentlig Loop unødvendig, men det er også et problem at denne koden er skrevet på en måte man ikke burde gjøre det på.

OpenFile og CloseFile er Visual Basic 6.0 kompatibilitetslag. Det er ikke et fornuftig valg for å lese eller skrive til filer. I dette tilfellet er det også ferdigskrevet funksjonalitet for å gjøre det denne loopen prøver å gjøre (på en dårlig måte)

 

Kanskje jeg bare gjør det vanskeligere for deg...

 

Loop er i utgangspunktet simpelt: Gjør noe om og om igjen inntil en betingelse blir oppfylt, eller så lenge en betingelse er sann. Dette er forskjellen på Do While, og Do Until

 

Do While det_er_kaldt_ute
 Frys()
 Skjelve()
Loop

 

Do Until det_er_varmt_ute
 Frys()
 Skjelve()
Loop

 

Disse fryser og skjelver ikke noe mer enn null ganger. Dersom man altid skal fryse og skjelve minst én gang bruker man Do .. Loop While/Until

 

Do
 Stek_Hamburger()
While sulten

 

Do
 Stek_Hamburger()
Until Not Sulten

 

I disse tilfellene steker du minst én hamburger, uavhengig om du er sulten eller ikke.

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