Op een zeker moment moet het programma dat ik nu aan het schrijven 3000+ items in een ListBox stoppen. Dat gaat momenteel met een loopje. Opzich werkt het wel, maar het probleem is, dat de rest van het programma op deze computer (P-III 1 gHz) ongeveer 2 tot 3 seconden bevriest, totdat de PC uitgeloopt is. Hoe kan ik dit oplossen?
Met andere woorden: wat is de beste manier om hééél veel data in zo kort mogelijke tijd in een ListBox te stoppen? Of is er wellicht een manier om ervoor te zorgen dat de loop niet de rest van het programma bevriest? Dat het vullen van de ListBox 2-3 seconden duurt is niet zo'n probleem, maar wél dat de rest dan niets doet!
Hier is de gebruikte code:
Er wordt dus data uit File1 gehaald. De Mid-functie stript de extensie van de bestanden in File1, zodat die dus niet zichtbaar worden in de ListBox. Er worden tevens twee arrays bijgehouden, DataAudioDescription en DataAudioFile, zodat ik later heel makkelijk de juiste bestandsnaam kan vinden bij het ListBoxItem dat de gebruiker kiest.
De For-Next-Loop zorgt ervoor dat alle data in de ListBox terecht komt.
Met andere woorden: wat is de beste manier om hééél veel data in zo kort mogelijke tijd in een ListBox te stoppen? Of is er wellicht een manier om ervoor te zorgen dat de loop niet de rest van het programma bevriest? Dat het vullen van de ListBox 2-3 seconden duurt is niet zo'n probleem, maar wél dat de rest dan niets doet!
Hier is de gebruikte code:
code:
1
2
3
4
5
6
| For a = 0 To File1.ListCount - 1
Desc = Mid(File1.List(a), 1, Len(File1.List(a)) - 4)
List1.AddItem Desc
DataAudioDescription(a) = Desc
DataAudioFile(a) = File1.Path & "\" & File1.List(a)
Next a |
Er wordt dus data uit File1 gehaald. De Mid-functie stript de extensie van de bestanden in File1, zodat die dus niet zichtbaar worden in de ListBox. Er worden tevens twee arrays bijgehouden, DataAudioDescription en DataAudioFile, zodat ik later heel makkelijk de juiste bestandsnaam kan vinden bij het ListBoxItem dat de gebruiker kiest.