04. december 2005 - 20:00Der er
15 kommentarer og 1 løsning
for to
Jeg vil gerne enkeltvis vise indholdet af lstopgave1 i text1.text og har lavet denne kode, der altså ikke virker Hvad har jeg gjort galt? Jeg sender såvel lstopgave1 som koden:
Private Sub Command6_Click() Dim linienr As Integer For linienr = 0 To lstopgave1.ListCount - 1 Text1.Text = linienr Exit Sub
Next End Sub
Private Sub Form_Load() With lstopgave1 .AddItem "a" .AddItem "b" .AddItem "c" End With lstopgave1.listindex = 0
Ja, det er klart at kun den sidste bliver vist. Det tager jo et splitsekund at læse 3 poster i en liste. Du må lave en knap - eller en timer - der gør at der er pause mellem hver visning.
Dim linienr As integer dim linie as string
Private Sub Command6_Click() lstopgave1.Listindex = lstopgave.listindex + 1 Text1.Text = linie Exit Sub
Jeg får vist emnerne i listen, men ikke i text1.text lstopgave1.ListIndex = lstopgave1.ListIndex + 1 og får i øvrigt når emnerne er vist i lstopgave1 denne besked invalid property value
ja, når du når til den sidste, går det ikke an at lægge en til
Private Sub Command6_Click() If lstopgave.listindex < listopgave.listcount -1 then lstopgave1.Listindex = lstopgave.listindex + 1 text1.text = lstopgave.text End if Exit Sub
Du behøver altså ikke til dette, at dimensionere variable, hverken til tæller eller til at indlæse strengen i.
Byt om på linierne mellem 'if' og 'end if' og indled med at listen får index 0
Private Sub Command6_Click() lstopgave.listindex = 0 If lstopgave.listindex < listopgave.listcount -1 then text1.text = lstopgave.text lstopgave1.Listindex = lstopgave.listindex + 1 End if Exit Sub
Nej for pokker, så kommer den ikke ud af stedet. Du må ikke nulstille index under den knap. Hvis det er nødvendigt skal det ske et andet sted, f.eks. efter at listen er fyldt med data.
Jo enklere jo sværere. Et lighedstegn tillader at sidste post vises If lstopgave.listindex =< listopgave.listcount -1 then.... Eller også - fjern: minus 1
Private Sub Command6_Click() If lstopgave.listindex < listopgave.listcount then text1.text = lstopgave.text lstopgave1.Listindex = lstopgave.listindex + 1 End if Exit Sub
hej joern Ja så virker det. Men jeg får altså denne meddelelse til sidst: invalid property value Kan man ikke lave noge med for "i = 0 to enden af lstopgave1" og så resten af koden. Jeg er lidt ked af, at du ikke vil have points, kan du ikke oprette et svar. Jeg har samtidig forhøjet pointtallet. Det er nok sværere end jeg troede, men jeg vil da gerne have koden helt perfekt, dvs undgå "invalid property value" På forhånd tak.
Private Sub Command1_Click() ' Flyt op With List1 ' <- ListBox If .ListIndex > 0 Then .ListIndex = .ListIndex - 1 End If End With End Sub
Private Sub Command2_Click() ' Flyt ned With List1 ' <- ListBox If .ListIndex < (.ListCount - 1) Then .ListIndex = .ListIndex + 1 End If End With End Sub
Private Sub Form_Load() With List1 ' <- ListBox .AddItem "a" .AddItem "b" .AddItem "c" .ListIndex = 0 End With End Sub
Private Sub List1_Click() ' <- ListBox With List1 Text1.Text = .List(.ListIndex) End With End Sub ' ---------------------------- Form1 ----------------------------
hej SJH din kode virker perfekt. Så lav venligst et svar. Men.. kan det ikke lade sig gøre således, at man gennemløber listen fra start til slut og får vist listens indhold i text1.text ét ad gangen, men så man bare undgår den fejlmeddelelse til slut, når der ikke er flere emner på listen? se venligst joerns kode.
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Command1_Click() Dim i As Integer With List1 ' <- ListBox For i = 0 To (.ListCount - 1) Text1.Text = .List(i) DoEvents ' Refresh Sleep 500 ' Pause.. 1000 = et sekund Next End With End Sub
Private Sub Form_Load() With List1 ' <- ListBox .AddItem "a" .AddItem "b" .AddItem "c" .ListIndex = 0 End With End Sub ' ---------------------------- Form1 ----------------------------
hej sjh Fungerer perfekt(som vistnok altid) Mange tak for hjælpen.
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.