View Single Post
Old 18-06-2007, 12:11   #2
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Io prenderei il testo dal primo carattere fino alla posizione corrente del carrello, poi separerei la parte completa del percorso da quella incompleta. Cioè se nel campo di testo c'è scritto:

c:\programmi\ja[carrello]quel che è

Prenderei la stringa

s = c:\programmi\ja

con

int last = s.lastIndexOf(File.separator)
dir = s.substring(0, last + 1)

ricavo la "base" del percorso, esamino il contenuto di quella cartella:

File[] files = new File(base).listFiles();

e con una semplice scansione lineare decido quale sia il candidato ideale. Per lo scorrimento circolare dei candidati si potrebbe usare la condizione "se base è uguale alla base precedente allora il candidato è quello successivo all'ultimo proposto". Per farlo è sufficiente un piccolo caching della base, della lista di file e dell'indice dell'ultimo candidato.

10 a 1 che ho frainteso il problema .
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso