Gå til innhold

[Løst]Finne første og siste post (VB.net)


Anbefalte innlegg

I koden under ligger det to knapper (nederst) der den ene fører til at man hopper til post 1 mens den andre fører til at man hopper til den siste posten som er lagt inn. Begge skal vises på skjerm (eks. i en msgbox). Har knotet lenge med dette nå men finner ingen god løsning på dette. Har noen av dere et tips.

 

 

Structure StudentInfo
       <VBFixedString(30)> Public Navn As String
       <VBFixedString(5)> Public Klasse As String
       <VBFixedString(25)> Public EPost As String


   End Structure
   Private minStudent As StudentInfo
   'summen av vbfixedstring
   Const postLengde = 60
   Private Antall As Integer
   Private Posisjon As Integer
   Private FilNummer As Integer

   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       FilNummer = FreeFile()
       FileOpen(FilNummer, "Student.dat", OpenMode.Random, , , postLengde)
       Antall = FileLen("Student.dat") / postLengde
       If Antall > 0 Then
           FileGet(FilNummer, minStudent, 1)

           txtNavn.Text = minStudent.Navn
           txtKlasse.Text = minStudent.Klasse
           txtKlasse.Text = minStudent.EPost

           Posisjon = 1
       Else
           Posisjon = 0

       End If
   End Sub

   Private Sub btnNy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNy.Click
       txtNavn.Text = ""
       txtKlasse.Text = ""
       txtEPost.Text = ""

       minStudent.Navn = ""
       minStudent.Klasse = ""
       minStudent.EPost = ""

       Antall = Antall + 1
       Posisjon = Antall

       FilePut(FilNummer, minStudent, Posisjon)

   End Sub

   
   Private Sub btnLagre_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLagre.Click
       With minStudent
           .Navn = txtNavn.Text
           .Klasse = txtKlasse.Text
           .EPost = txtEPost.Text

       End With
       FilePut(FilNummer, minStudent, Posisjon)

   End Sub

   Private Sub btnNeste_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNeste.Click
       If Posisjon < Antall Then
           Posisjon = Posisjon + 1

           FileGet(FilNummer, minStudent, Posisjon)

           txtNavn.Text = minStudent.Navn
           txtKlasse.Text = minStudent.Klasse
           txtEPost.Text = minStudent.EPost

       End If
   End Sub

   Private Sub btnForrige_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnForrige.Click
       If Posisjon > 1 Then
           Posisjon = Posisjon - 1
           FileGet(FilNummer, minStudent, Posisjon)

           txtNavn.Text = minStudent.Navn
           txtKlasse.Text = minStudent.Klasse
           txtEPost.Text = minStudent.EPost

       End If
   End Sub

   Private Sub btnAvslutt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAvslutt.Click
       FileClose(FilNummer)
       MsgBox("Filen er lukket")
       End
   End Sub

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

       'Her skal det ligge en kode for å hoppe til 1.post og vise det f.eks i en msgbox

   End Sub

   Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

       'Her skal det ligge en kode for å hoppe til siste post og vise den på skjermen (eks i en msgbox)
   End Sub
End Class

:hmm:

Lenke til kommentar
Videoannonse
Annonse

Koden under finner 1.post og lar navn etc. komme opp i teksboksene som allerede er der, men å lage en kode for å finne siste post (den vil jo variere ettersom man legger flere navn inn) sliter jeg voldsomt med.

 

 

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

       FileGet(FilNummer, minStudent, 1)

       txtNavn.Text = minStudent.Navn
       txtKlasse.Text = minStudent.Klasse
       txtEPost.Text = minStudent.EPost

   End Sub

Lenke til kommentar

Hjernen begynner å virke så koden

FileGet(FilNummer, minStudent, FileLen("student.dat") / postLengde)

 

Finner siste post :yes:

 

Et annet prob. har oppstått.

 

Skal legge til en textbox til der man skal legge inn fødselsdato

Jeg legger da en public FDato as date i topp og forandrer postlengd til 68 (60 byte går til navn, klasse og epost), mens date krever 8 byte. Dette blir det bare surr av. Hvis noen kan sjekke hva som må gjøres er jeg takknemlig.

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