Avatar billede lillehans Nybegynder
04. december 2005 - 20:00 Der 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

End Sub
Avatar billede sjh Nybegynder
04. december 2005 - 21:20 #1
Ja men den viser da alle sammen hvis du fjerner den "Exit Sub" du har under dit loop.. problemet er nok mere at du ikke kan nå at se det :D
Avatar billede joern Nybegynder
04. december 2005 - 21:20 #2
Hej.

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
Avatar billede lillehans Nybegynder
04. december 2005 - 21:50 #3
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
Avatar billede joern Nybegynder
04. december 2005 - 22:14 #4
Hej.

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.
Avatar billede lillehans Nybegynder
04. december 2005 - 22:27 #5
Nu virker det - bortset fra at jeg ikke får vist 1. item "a"
men kun b og c
Avatar billede joern Nybegynder
04. december 2005 - 22:45 #6
Hej.

Jeg er lidt skødesløs lader det til.

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
Avatar billede joern Nybegynder
04. december 2005 - 22:47 #7
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.
Avatar billede lillehans Nybegynder
04. december 2005 - 22:56 #8
Med nedenstående får jeg vist a og b men ikke c!
Private Sub Command6_Click()

If lstopgave.listindex < listopgave.listcount -1 then
    text1.text = lstopgave.text
    lstopgave1.Listindex = lstopgave.listindex + 1
  End if
Exit Sub
Avatar billede joern Nybegynder
04. december 2005 - 23:28 #9
Hej.

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

NU! må den da være der.

jeg har ikke brug for point. godnat
Avatar billede lillehans Nybegynder
05. december 2005 - 09:26 #10
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.
Avatar billede lillehans Nybegynder
05. december 2005 - 09:28 #11
Er det bedre at jeg opretter et helt nyt spørgsmål om dette problem?
Avatar billede sjh Nybegynder
05. december 2005 - 09:53 #12
prøv den her..

' ---------------------------- Form1 ----------------------------
Option Explicit

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 ----------------------------
Avatar billede lillehans Nybegynder
05. december 2005 - 14:31 #13
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.
Avatar billede sjh Nybegynder
05. december 2005 - 14:56 #14
Så skal du bare have en pause ind..

' ---------------------------- Form1 ----------------------------
Option Explicit

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 ----------------------------
Avatar billede lillehans Nybegynder
05. december 2005 - 15:49 #15
hej joern
der er 30 points her som tak for din hjælp.

http://exp.dk/spm/669783

Jeg kunne ikke finde ud af det med at fordele, så sjh fik det hele.
Du får derfor på ovennævnte link.
Mange tak for hjælpen.
Avatar billede lillehans Nybegynder
05. december 2005 - 15:50 #16
hej sjh Fungerer perfekt(som vistnok altid) Mange tak for hjælpen.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester