Avatar billede slejpnir Nybegynder
03. januar 2002 - 01:29 Der er 2 kommentarer og
1 løsning

flere lister på \"load form\"

Jeg har følgende kode, der gælder (og virker) for én listbox på min form. Jeg har tilføjet 3 andre lister og troede, at jeg kunne anvende denne kode - også til de lister, som jeg efterfølgende har tilføjet. Men så går det galt. Hvis jeg skal anvende nedenstående til flere selvstændige lister på samme form, hvad skal koden så være?
Option Explicit
Private listtekst() As String
Public Function addtekst(tekst As String, index As Integer)
ReDim Preserve listtekst(index) As String
listtekst(index) = tekst
End Function
Public Function vistekst(index As Integer) As String
vistekst = listtekst(index)
End Function

Private Sub Form_Load()
List1.AddItem \"Bamse\"
addtekst \"Denne tekst handler om Bamse og er på  1000 ord.\", 0
List1.AddItem \"Dukkelise\"
addtekst \"Dukkelise er også med i det.\", 1
List1.AddItem \"Kylling\"
addtekst \"Kylling:\" & vbNewLine & \"Og hvad med kylling Tekst på 1000 ord.\", 2
List1.ListIndex = 0
End Sub
Private Sub list1_click()
Text1.Text = vistekst(List1.ListIndex)
End Sub
Private Sub list2_click()
Text1.Text = vistekst(List2.ListIndex)
End Sub
Private Sub list3_click()
Text1.Text = vistekst(List3.ListIndex)
End Sub
Avatar billede sjh Nybegynder
03. januar 2002 - 07:45 #1

Option Explicit

Private listtekst1() As String
Private listtekst2() As String
Private listtekst3() As String

Public Function addtekst1(tekst As String, index As Integer)
ReDim Preserve listtekst1(index) As String
  listtekst1(index) = tekst
End Function

Public Function vistekst1(index As Integer) As String
  vistekst1 = listtekst1(index)
End Function

Public Function addtekst2(tekst As String, index As Integer)
ReDim Preserve listtekst2(index) As String
  listtekst2(index) = tekst
End Function

Public Function vistekst2(index As Integer) As String
  vistekst2 = listtekst2(index)
End Function

Public Function addtekst3(tekst As String, index As Integer)
ReDim Preserve listtekst3(index) As String
  listtekst3(index) = tekst
End Function

Public Function vistekst3(index As Integer) As String
  vistekst3 = listtekst3(index)
End Function


Private Sub Form_Load()
List1.AddItem \"Bamse List1\"
addtekst1 \"List1 Denne tekst handler om Bamse og er på  1000 ord.\", 0

List1.AddItem \"Dukkelise List1\"
addtekst1 \"List1 Dukkelise er også med i det.\", 1

List1.AddItem \"Kylling List1\"
addtekst1 \"List1 Kylling:\" & vbNewLine & \"Og hvad med kylling Tekst på 1000 ord.\", 2


List2.AddItem \"Bamse List2\"
addtekst2 \"List2 Denne tekst handler om Bamse og er på  1000 ord.\", 0

List2.AddItem \"Dukkelise List2\"
addtekst2 \"List2 Dukkelise er også med i det.\", 1

List2.AddItem \"Kylling List2\"
addtekst2 \"List2 Kylling:\" & vbNewLine & \"Og hvad med kylling Tekst på 1000 ord.\", 2


List3.AddItem \"Bamse List3\"
addtekst3 \"List3 Denne tekst handler om Bamse og er på  1000 ord.\", 0

List3.AddItem \"Dukkelise List3\"
addtekst3 \"List3 Dukkelise er også med i det.\", 1

List3.AddItem \"Kylling List3\"
addtekst3 \"List3 Kylling:\" & vbNewLine & \"Og hvad med kylling Tekst på 1000 ord.\", 2

List2.ListIndex = 0
List3.ListIndex = 0
List1.ListIndex = 0
End Sub

Private Sub list1_click()
Text1.Text = vistekst1(List1.ListIndex)
End Sub

Private Sub list2_click()
Text1.Text = vistekst2(List2.ListIndex)
End Sub

Private Sub list3_click()
Text1.Text = vistekst3(List3.ListIndex)
End Sub
Avatar billede slejpnir Nybegynder
03. januar 2002 - 10:59 #2
Det er den rene svir at få hjælp fra dig. Det virker bare!!! Mange tak!
Avatar billede sjh Nybegynder
03. januar 2002 - 18:11 #3
du kunne også lave det sådan. :-)



Option Explicit
\'AddText Text , List 1 to 3, Index 1 to 5000

\'                List  , Index
Private ListTekst(1 To 3, 1 To 5000) As String

Public Function AddText(Text As String, List As Integer, Index As Integer)
  ListTekst(List, Index) = Text
End Function

Public Function VisTekst(List As Integer, Index As Integer) As String
  VisTekst = ListTekst(List, Index)
End Function

Private Sub Form_Load()
  \'--- List1 ---
  List1.AddItem \"Bamse\"
  List1.AddItem \"Kylling\"
  List1.AddItem \"Bob\"
 
  AddText \"List1: Tekst Bamse\", 1, 1
  AddText \"List1: Tekst Kylling\", 1, 2
  AddText \"List1: Tekst Bob\", 1, 3
 
  \'--- List2 ---
  List2.AddItem \"Bamse\"
  List2.AddItem \"Kylling\"
  List2.AddItem \"Bob\"
 
  AddText \"List2: Tekst Bamse\", 2, 1
  AddText \"List2: Tekst Kylling\", 2, 2
  AddText \"List2: Tekst Bob\", 2, 3
 
  \'--- List3 ---
  List3.AddItem \"Bamse\"
  List3.AddItem \"Kylling\"
  List3.AddItem \"Bob\"
  List3.AddItem \"Mormor\"
 
  AddText \"List3: Tekst Bamse\", 3, 1
  AddText \"List3: Tekst Kylling\", 3, 2
  AddText \"List3: Tekst Bob\", 3, 3
  AddText \"List3: Tekst Mormor\", 3, 4
 
  List3.ListIndex = 0
  List2.ListIndex = 0
  List1.ListIndex = 0
End Sub

Private Sub List1_Click()
  Text1.Text = VisTekst(1, List1.ListIndex + 1)
End Sub

Private Sub List2_Click()
  Text1.Text = VisTekst(2, List2.ListIndex + 1)
End Sub

Private Sub List3_Click()
  Text1.Text = VisTekst(3, List3.ListIndex + 1)
End Sub
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