Avatar billede simonhb Praktikant
25. maj 2003 - 14:54 Der er 5 kommentarer og
2 løsninger

commando fra 1 listbox til en anden

Hej.
Hvordan sætter jeg indholdet i én listbox til at skifte indholdet i en anden listbox. Altså når man klikker på den første af tingene på liste1 skifter indholdet af liste2... håber i forstår hvad jeg mener...
Avatar billede joern Nybegynder
25. maj 2003 - 15:49 #1
Hej.

Jeg forstår hvad du mener, men hvorfra kommer data til list2 ?  Fra en ascii-fil, database eller inde fra programmets kode?

ufilnavn = "undgrp" & Left(lsthoved.Text, 2) & ".dat"

Open netsti & ufilnavn For Input As #4
    Do While EOF(4) = False
      Line Input #4, undgrp(a)
      If Val(Left(undgrp(a), 3)) > nyugr Then nyugr = Val(Left(undgrp(a), 3))
      If chkordaf.Value = 0 Then
          lstunder.AddItem undgrp(a)
        Else
          lstunder.AddItem Mid$(undgrp(a), 5) & " " & Left(undgrp(a), 3)
      End If
      a = a + 1
    Loop
  Close #4


Til inspiration, fra mit projekt http://www.jkfsoft.dk/esdh01.htm

M.v.h.  Jørn
Avatar billede simonhb Praktikant
25. maj 2003 - 16:05 #2
Det ser helt rigtigt ud fra Hovedgruppe til Aftalepartner eller Sag nr.
Men jeg er ret meget nybegynder så kan du lave et lille projekteksempel og sende det til shb@tdcspace.dk. jeg forstår vist ikke helt det med hvorfra dataen skal komme, men hvis du kan lave det som kode det hele uden databaser osv. da jeg som sagt er nybegynder
Avatar billede joern Nybegynder
25. maj 2003 - 16:34 #3
Hej.

Jeg anvender rene ascii-filer til data.
Alle mine programmer kan fungere i lokalnetværk, derfor læses konfigurationsindstillinger fra en ini-fil, bl.a. hvor datafiler befinder sig.
Dette kunne også læses i 'Registry', men det er enklere med en ini-fil.

Ligger data i samme mappe som dit program, kan du erstatte 'netsti' med app.path & "\"

Dim linie, data(20) as String
Dim a as Integer

For at læse data ind i list1 gør jeg følgende under Form_Load.

  Open netsti & "data1.txt" for input as #2
    Do While EOF(2) = false
      Line Input #2, linie
      list1.AddItem linie
    Loop
  Close #2

I data2.txt 2 må forekomme en ID der er unik og tillige forekommer i data1.txt

I data2 er 20 felter pr. post

  List1_Click ()
    Open netsti & "data2.txt" for Input as #3
      Do While EOF(3) = False
        For a = 0 to 19
          Line Input #3, data(a)
        Next a
        If data (0) = list1.text then list2.AddItem data(1)
      Loop
    Close #3
  End Sub

I eksemplet er data(0) - første felt - identisk med én af linierne i data1
Derved genkendes posten som en træffer.  Vil du vise postens øvrige felter tænkes det i eksemplet at ske ved klik på linien i list2.  Visningen må ske i tekst- eller labelfelter afhængig af om der skal kunne gemmes rettelser.

Men ellers kan jeg ikke forfatte en hel lærebog her.  Jeg har et lille projekt jeg kan sende dig kildekoden til.  Det er dog ikke et med 2 lister som i ovenstående, men med læsning i ascii-filer.

M.v.h.  Jørn
Avatar billede simonhb Praktikant
25. maj 2003 - 16:52 #4
ja, det ville vist hjælpe lidt hvis jeg kan se det for mig
Avatar billede michaelemanuel Nybegynder
26. maj 2003 - 15:24 #5
Prøv dette, det aktuelle indhold i listboxen skal du selvfølgelig selv indsætte

Private Sub Form_Load
  List1.Clear
  List1.AddItem "1A"
  List1.AddItem "1B"
  List1.AddItem "1C"
End Sub

Private Sub List1_Click()
  Select Case List1.ListIndex
  Case 0
    '1A er valgt i List1 - Fyld List2 med tilhørende indhold
    List2.Clear
    List2.AddItem "1A2A"
    List2.AddItem "1A2B"
  Case 1
    '1B er valgt i List1 - Fyld List2 med tilhørende indhold
    List2.Clear
    List2.AddItem "1B2A"
    List2.AddItem "1B2B"
  Case 2
    '1C er valgt i List1 - Fyld List2 med tilhørende indhold
    List2.Clear
    List2.AddItem "1C2A"
    List2.AddItem "1C2B"
  End Select
End Sub
Avatar billede simonhb Praktikant
26. maj 2003 - 18:18 #6
Undskyld joern men jeg fattede ikke noget af det du sendte men det gav sikkert mening for en der er lidt bedre end jeg. Så tak for svaret michaelemanuel eller hvordan det nu skrives. :)
Avatar billede joern Nybegynder
26. maj 2003 - 19:32 #7
Al begyndelse er svær.

m.v.h.  Jørn
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