wacie Skrevet 26. juni 2003 Del Skrevet 26. juni 2003 Er det mulig å få sånn at når man klikker i en listbox på en av itemene så får man opp en text i textboxen? f.eks hvis man lager et program som holder styr på cdkeyer så adder man et spill eller program og serial nr. og når man klikker på den igjen så kommer serial nr opp i textboxen under....? mvh wacie Lenke til kommentar
b-urn Skrevet 26. juni 2003 Del Skrevet 26. juni 2003 Hvis du har en form med en textbox (Text1) og en listbox (List1) kan du legge følgende kode: Private Sub List1_Click() Text1.Text = List1.List(List1.ListIndex) End Sub Lenke til kommentar
wacie Skrevet 26. juni 2003 Forfatter Del Skrevet 26. juni 2003 Gå det ann å få sånn at den bare viser noe av det som står i listboxen og ikke alt... Sånn at f.eks man bare viser serial nr. og ikke namnet på spillet eller programmet?? mvh wacie Lenke til kommentar
b-urn Skrevet 26. juni 2003 Del Skrevet 26. juni 2003 Hmmm.. du vet at serie-nummer og sånn er fy-fy ikkke sant? Nuh vel, jeg antar vi snakker hypotetisk her. Du kan gjøre følgende: Dim strTemp As String Dim str_Array() As String strTemp = List1.List(List1.ListIndex) str_Array = Split(strTemp, " ") Text1.Text = str_Array(1) Det forutsetter at nøkkelelementer i hvert item er adksilt med en space. Hvis du skiller med.. f.eks ":" i stedet, bytter du ut den ene linjen med: str_Array = Split(strTemp, ":") Lenke til kommentar
wacie Skrevet 26. juni 2003 Forfatter Del Skrevet 26. juni 2003 Kan man få til at det står f.eks serialn: fårran det som kommer opp i textboxen? (jeg vet at serial nr. er fy, fy men det var bare et eks. :smile: ) mvh wacie Lenke til kommentar
b-urn Skrevet 26. juni 2003 Del Skrevet 26. juni 2003 Er det slik du mener? Dim strTemp As String Dim str_Array() As String strTemp = List1.List(List1.ListIndex) str_Array = Split(strTemp, " ") Text1.Text = "Serial: " + str_Array(1) Lenke til kommentar
wacie Skrevet 26. juni 2003 Forfatter Del Skrevet 26. juni 2003 Ja det var sånn jeg mente. Takk. Men når jeg kjørte programmet å trykket bare i listboxen så kom det opp: Run-Time error '9': Subscript out of range Og da vlir det en gul ramme rundt Text1.Text = "Serial: " + str_Array(1) ....? Lenke til kommentar
b-urn Skrevet 26. juni 2003 Del Skrevet 26. juni 2003 Antakelig er det Split()- funksjonen din feiler. Dermed returnerer den ikke en array med 2 (eller flere) elementer.. Gi et eksempel på hva som ligger i en listbox-elementene, så skal vi sikker fikse det. Lenke til kommentar
wacie Skrevet 26. juni 2003 Forfatter Del Skrevet 26. juni 2003 den feilen kommer bare opp når man klikker med venstre museknapp i formen når det ikke er noe der... Lenke til kommentar
wacie Skrevet 26. juni 2003 Forfatter Del Skrevet 26. juni 2003 sorry skrev litt feil. den feilen kommer opp når man venstreklikker i listboxen når det ikke er noen ting addet. Og hva er listbox-elementene?? (sorry at jeg er lit newbie startet med dette for 2 dager siden ) Lenke til kommentar
b-urn Skrevet 26. juni 2003 Del Skrevet 26. juni 2003 Hvis ingenting er valgt blir ListIndex = -1. Vi må ta høyde for dette. Dim strTemp As String Dim str_Array() As String If List1.listIndex>-1 Then strTemp = List1.List(List1.ListIndex) str_Array = Split(strTemp, " ") Text1.Text = "Serial: " + str_Array(1) End If Lenke til kommentar
wacie Skrevet 26. juni 2003 Forfatter Del Skrevet 26. juni 2003 Ja nå virker programmet som det skal.. Men jeg ble ikke helt fornøyd med den listen... Den ble ganske rotete f.eks Spill1 = 23456789 Sill1234123 = 234567890 Sånn blir det og det er ikke særlig fint... Finnes det en måte å få endret det på sånn at alt stå likt eller at bare navnet står der og når man klikker på det så kommer serial nr. i textboxen under..? - wacie Lenke til kommentar
b-urn Skrevet 26. juni 2003 Del Skrevet 26. juni 2003 Ja nå virker programmet som det skal.. Men jeg ble ikke helt fornøyd med den listen... Den ble ganske rotete f.eks Spill1 = 23456789 Sill1234123 = 234567890 Sånn blir det og det er ikke særlig fint... Finnes det en måte å få endret det på sånn at alt stå likt eller at bare navnet står der og når man klikker på det så kommer serial nr. i textboxen under..? - wacie Er ikke helt sikker på hva som er problemet her. Muligens løser dette problemet ditt: Private Sub Command1_Click() 'Tømmer datastrukturer og legger inn nye data clearData addData "var1", "data1" addData "var2", "data2" addData "var3", "data3" End Sub Private Sub clearData() List1.Clear ReDim str_Data(0) End Sub Private Sub addData(strName As String, strData As String) Dim intCount As Integer List1.AddItem (strName) 'Legger til navn (i listeboks) intCount = List1.ListCount 'Gjør plass for, og legger inn tilhørende data ReDim Preserve str_Data(intCount) str_Data(intCount - 1) = strData End Sub Klikkeventet for listeboksen blir nå: Private Sub List1_Click() If (List1.ListIndex > -1) Then Text1.Text = str_Data(List1.ListIndex) Else MsgBox "Du må har glemt å velge et element i listen" End If End Sub Ikke verdens mest elegante/robuste kode, men den skulle være grei å forstå. Edit: Ser jeg glemte en vesentlig detalj: :oops: Dim str_Data() as string Lenke til kommentar
wacie Skrevet 26. juni 2003 Forfatter Del Skrevet 26. juni 2003 Det jeg mente me spm. mitt var: Om det var en måte jeg kunne adde et spill navn og et serial nr. og så var bare spill navnet synlig i listboxen og når man klikket på et spill i listboxen kom serial nr. til spillet opp i textboxen... er det mulig? Hvis det er det så hvordan? -wacie Lenke til kommentar
b-urn Skrevet 26. juni 2003 Del Skrevet 26. juni 2003 Har du prøvd koden over? Det er jo nettop det den gjør... hvis jeg har forstått deg riktig da. Lenke til kommentar
wacie Skrevet 26. juni 2003 Forfatter Del Skrevet 26. juni 2003 Jeg prøvde den men det kom opp en feil: Den var gul ->Private Sub addData(strName As String, strData As String) Dim intCount As Integer List1.AddItem (strName) 'Legger til navn (i listeboks) intCount = List1.ListCount 'Gjør plass for, og legger inn tilhørende data og den var merket -> ReDim Preserve str_Data(intCount) str_Data(intCount - 1) = strData End Sub Lenke til kommentar
b-urn Skrevet 26. juni 2003 Del Skrevet 26. juni 2003 Sorry.. min feil. Sjekk Edit i posten over. Jeg glemte å deklarer selve array'en som inneholder dataene. Lenke til kommentar
wacie Skrevet 26. juni 2003 Forfatter Del Skrevet 26. juni 2003 Hvor skal den texten addes?? Noe spess sted?? Lenke til kommentar
b-urn Skrevet 26. juni 2003 Del Skrevet 26. juni 2003 Helt på toppen i formkoden din. Hvis du har en form som inneholder en tekstboks (Text1) og en listeboks (List1) kan du evt lime inn koden under. Dim str_Data() As String Private Sub Form_Load() 'Tømmer datastrukturer og legger inn nye data clearData addData "var1", "data1" addData "var2", "data2" addData "var3", "data3" End Sub Private Sub List1_Click() If (List1.ListIndex > -1) Then Text1.Text = str_Data(List1.ListIndex) Else MsgBox "Du må har glemt å velge et element i listen" End If End Sub Private Sub clearData() List1.Clear ReDim str_Data(0) End Sub Private Sub addData(strName As String, strData As String) Dim intCount As Integer List1.AddItem (strName) 'Legger til navn (i listeboks) intCount = List1.ListCount 'Gjør plass for, og legger inn tilhørende data ReDim Preserve str_Data(intCount) str_Data(intCount - 1) = strData End Sub Lenke til kommentar
wacie Skrevet 26. juni 2003 Forfatter Del Skrevet 26. juni 2003 Ja, ja men jeg tror du misforstod spm mitt litt... jeg vil at når du klikker på en knapp så adder du navnet i en InputBox og så adder du serial nr i en annen innputbox f.eks Private Sub Command1_Click() Dim sTmp As String sTmp = InputBox("Enter the game's name:") stmp2 = InputBox("Enter the serial number:") List1.AddItem sTmp + " = " + stmp2 End Sub Men det som er galt med den er at den adder serial nr og navnet på spillet i list boxen sånn: spill = serial nr men det jeg vill er at jeg adder begge deler med en InputBox og så står bare navnet på spilet i listboxen og når man klikker på den så kommer serial nr opp i textboxen under.... Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå