Toon posts:

[VB6] Hoe regel uit listbox vervangen.

Pagina: 1
Acties:

Verwijderd

Topicstarter
In het programma wat ik schrijf zit een listbox. In deze listbox staan op iedere regel een getal. deze getallen worden netjes opgeslagen in een tekstbestand. Ik kan ook vanuit een tekstbestand data inlezen en terug plaatsen in een listbox.

Het probleem is nu dat wanneer je een bestand hebt aangemaakt van bijvoorbeeld 10 getallen (10 regels) en je ergens een fout hebt gemaakt bij het invoeren je het hele bestand opnieuw zou moeten aanmaken. Wat ik nu wil is dat wanneer je een getal (regel) selecteerd, dit getal in een tekstvak (het tekstvak dat ik ook gebruik om getallen toe te voegen aan de listbox) komt te staan. Ik kan dan in dit tekstvak een nieuw getal intoetsen, daarna zal dit getal op de plaats van het geselecteerde getal komen te staan.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Command1_Click()           'Om data toe te voegen in de listbox
List1.AddItem (Text1)
End Sub

Private Sub Command2_Click()
a = 0                                                'Tel het aantal items in een listbox
x = List1.ListCount
Label1.Caption = x

For a = 0 To x                                   'Scan van a tot x 
If List1.Selected(a) = True Then          'Als een geselecteerde waarde true is,
Text2 = List1.List(a)                          'onthoud dan de index 
End If
Next a
End Sub

Op deze regels krijg ik de volgende fout:
runtime error 381, invalid property array.

Mocht iemand mij kunnen helpen met deze oplossing werkende krijgen, dan zou dat fijn zijn. Als iemand een andere oplossing weet die sneller en korter is, dan ben ik altijd bereid om die te proberen.

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 06-05 18:51

Creepy

Tactical Espionage Splatterer

Op deze regels? Op welke regel PRECIES? En wat heb je zelf al geprobeerd om dit op te lossen? We gaan er hier vanuit dat je in eerste instantie zelf aan de slag gaat om te debuggen. Droogjes melden dat het ergens misgaat met een foutmelding is in elk geval niet genoeg...

Wilde gok: list1.list(a) is geen array... maar hoe die list werkt is prima te vinden in de docs (en ja, ik ben te lui om dat voor je op te zoeken ;) )

[ Voor 23% gewijzigd door Creepy op 19-04-2005 15:58 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • RayNbow
  • Registratie: Maart 2003
  • Laatst online: 21:11

RayNbow

Kirika <3

Ten eerste, leer wat inspringen is. Alle code links uitgeleend leest niet lekker. Verder is het verstandig als je bovenaan je VB files Option Explicit zet en je variabelen van tevoren declareert.

Over de fout die je krijgt, Invalid Property Array Index... Je loopt nu alle items af van 0 t/m ListCount. ListCount is niet de index van het laatste lijst element, maar het aantal elementen. Aangezien er vanaf 0 geteld wordt, heeft het laatste element de index ListCount - 1.
Creepy schreef op dinsdag 19 april 2005 @ 15:57:
Wilde gok: list1.list(a) is geen array... maar hoe die list werkt is prima te vinden in de docs (en ja, ik ben te lui om dat voor je op te zoeken ;) )
List1.List(index) geeft een String terug van lijst element index, dus dat werkt wel.

Ipsa Scientia Potestas Est
NNID: ShinNoNoir


Verwijderd

inderdaad, telt 1 stap te ver, komt dus buiten array....