norbat Skrevet 26. oktober 2004 Del Skrevet 26. oktober 2004 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 Lenke til kommentar
norbat Skrevet 26. oktober 2004 Forfatter Del Skrevet 26. oktober 2004 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
norbat Skrevet 26. oktober 2004 Forfatter Del Skrevet 26. oktober 2004 Hjernen begynner å virke så koden FileGet(FilNummer, minStudent, FileLen("student.dat") / postLengde) Finner siste post 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
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå