Newsgroup: it.comp.lang.visual-basic
Titolo: Problema con Listbox

Ragazzi ho un problema con la Listbox.
Sembra che il controllo nn possa memorizzare + di 32736 voci.
Come fare x ovviare a questo inconveniente noioso ?
C'è una soluzione via codice oppure devo utilizzare un altro controllo ?
devo elencare i files contenuti in una cartella (con relative subdir) e
grazie alla proprietà Sorted della lista, li inserisce x ordine alfabetico.
solo che questi files ora sono 32780, e x ora nn posso fare nulla.

 C'è una soluzione via codice oppure devo utilizzare un altro controllo ?
[SNIP]
Nessuna soluzione per il ListBox, tra i controlli standard il ListView
supporta un numero maggiore; non saprei quanto, ma ho provato con 65.000.
Non per entrare nel merito del tuo programma ma, come spesso fa notare
qualcuno, una lista con 30.000 elementi (ma anche con poche migliaia, se e'
per questo) e' alquanto "user-unfrendly", specie se generata per essere
usata interattivamente, piuttosto che per report e simili; probabilmente
sarebbe piu' indicato cambiare stile all'interfaccia, nel tuo caso magari
mantenendo la divisione tra directory e files e creare qualcosa in stile
explorer (treeview+listview ad es.) che oltre ad essere piu' pratico e'
anche piu' performante, visto che, se vuoi, puoi fare un caricamento
incrementale solo quando vengono selezionate determinate directory
Ciao
--
Luca Dormio - 
luca....@tin.it
________________________________
"Marty, non stai ragionando in maniera quadridimensionale"
Dr. Emmett L. Brown

 ha scritto nel messaggio
news:am9ds4$3j2rn$1...@ID-138791.news.dfncis.de...


 spero nn con QuickSort !
Anche... sul Sito Comune trovi parecchi algoritmi di ordinamento, e
possibilmente alcuni di migliori (dipende comunque da come e' fatta la base
dati da ordinare), ma il fatto e' che la lentezza che hai riscontrato con il
QuickSort non e' dovuta alla funzione stessa quanto al fatto che fosse
applicata direttamente a controlli della GUI e alle loro proprieta'; prova
applicarla cosi' come e' direttamente al tuo vettore in memoria e vedrai che
non c'e' paragone.


 ha scritto nel messaggio
news:am9gff$3mq5g$1...@ID-138791.news.dfncis.de...


 > dati da ordinare
Hai tempo per fare una visitina al per niente fantomatico Sito Comune ?
No? Ok, aspetto il tuo prox post.


[SNIP]
Il primo che ho sottomano...
questo lavora su una matrice di Long, lo adatti a String semplicemente
modificando il tipo del primo parametro e dei due itemA/B
La chiamata iniziale alla funzione e' sempre
QuickSort Array, LBound(Array), UBound(Array)
Public Sub QuickSort(theArray() As Long, ByVal First As Long, ByVal Last As
Long)
Dim f As Long, l As Long
Dim itemA As Long
Dim itemB As Long
' theArray()    The array to sort
' First         First element of theArray where sort starts
' Last          Last element of theArray where sort starts
f = First
l = Last
itemA = theArray((First + Last) / 2)
Do While (f <= l)
    Do While (theArray(f) < itemA And f < Last)
        f = f + 1
    Loop
    Do While (itemA < theArray(l) And l > First)
        l = l - 1
    Loop
    If (f <= l) Then
        itemB = theArray(f)
        theArray(f) = theArray(l)
        theArray(l) = itemB
        f = f + 1
        l = l - 1
    End If
Loop
If (First < l) Then QuickSort theArray, First, l
If (f < Last) Then QuickSort theArray, f, Last
End Sub
