12. december 2005 - 11:30Der er
8 kommentarer og 1 løsning
Sammensatte typer og arrays fejl i koden
Kan nogen finde den fejl jeg har lavet i nedenstående kode?
Problem Efter 1. indtastning af data, går systemet ned, når jeg rører ved txtfeltet, hvor jeg skal indtaste det nye ArrayID. Jeg mener, at koden skulle være således, at der kan indtastes mere end et navn mv.
Option Explicit Dim Person(100) As PersonType Dim ArrayID As Integer
Jeg har ændret koden til: Private Sub txtIndex_Change() ArrayID = Val(txtIndex.Text) End Sub men når jeg vis se de indtastede data, er det kun det sidste der vises. Der overskrives altså på en eller anden måde.
Jeg mente, at brugeren ændrede arrayid-et ved at skrive et tal her? Jeg har ikke meget forstand på dette...det er en afskrift fra en lærebog i VB6, så det burde være rigtigt. Men jeg har sikkert (jo) alligevel lavet en fejl.
Private Sub txtIndex_Change() ArrayID = txtIndex.Text End Sub
Ja - det er korrekt, hvis der tilskrives forskellige værdier - men for at se dem alle er du nødt til at indeksere gennem arrayet:
x-0-x-1-x-2-x-3-x-4-x, tallene repræsenterer det enkelte element i arrayet du skal derfor anvende en for-sætning eller lignende - idet du da skal have en værdi, der repræsenterer den højste værdi (plads) i arrayet, hvori der er indsat data.
>supertekst Med denne tilføjelse lykkedes det. Nu skulle alt være i orden. Tak for hjælpen. Lav lige et svar, så du kan få points. Private Sub cmdOutput_Click() For ArrayID = 1 To 5 MsgBox "Navn: " & Chr$(9) & Person(ArrayID).Navn & Chr$(13) & "Adresse: " & Chr$(9) & Person(ArrayID).Adresse & Chr$(13) & "Alder: " & Chr$(9) & Person(ArrayID).Alder Next
Selv tak - det var godt det lykkedes. Her er så et svar.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.