Flash: completamento automatico

salve a tutti....io ho un problemino,ho una riga di testo chiamata myText_txt (di imput) e sotto una riga di testo chiamata complete_txt sulla quale visualizzo il suggerimento della parola da completare e che se è giusta,seleziono con il tasto ctrl...il problema è questo:
invece di immettere la parola nel myText_txt,dovrei inviargli le lettere con un pulsante che gli invia una lettera alla volta (purtroppo l'utente può muovere solo un pollice per premere un tasto,per il resto è totalmente paralizzato)...ci ho provato inviandogli il valore di una variabile,ma mi visualizza le lettere ma non il suggerimento,questo è il codice...se qualcuno mi può aiutare farebbe proprio del bene a quel povero ragazzo [code:fq7th1p4]function autoComplete( ) {
if (Key.isDown(Key.CONTROL)) {
myText_txt.text = complete_txt.text + " ";
Selection.setSelection(myText_txt.text.length, myText_txt.text.length);
}
}
function fieldChange( ) {
match = "";
startOfWord = this.text.lastIndexOf(" ") + 1;
lastWord = this.text.substring(startOfWord, this.text.length);
if (lastWord.length > 1) {
for (var i = 0; i < dictionary.length; i++) {
if (lastWord == (dictionary[i].substr(0, lastWord.length))) {
match = dictionary[i];
search = i;
break;
}
}
} else {
search = 0;
}
complete_txt.text = this.text.substr(0, startOfWord) + match;
}
var myText:String = "parole...bla,bla,bla,bla... ";
var dictionary:Array = new Array( );
var search:Number = 0;
var lastWord:String = "";
var startOfWord:String = "";
var control:Object = new Object( );
dictionary = myText.split(" ");
dictionary.sort( );
myText_txt.onChanged = fieldChange;
control.onKeyDown = autoComplete;
Key.addListener(control);
[/code:fq7th1p4] grazie in anticipo

 hotless, N.D.

Ciao ho visto il tuo script l'ho provato e compare una lettera alla volta a pappagallo
il completamento automatico non funziona, ho provato a riempire l'array per creare un dizionario,
ma non và... Ho creato uno script con le mie zampette, l'avevo creato in passato per creare il gioco del lotto ma poi mi sono stuffato ed ho mandato tutto a quel paese. [flash=550,400:244ie7zj]http://max400.netne.net/completamento-automatico-max1.swf[/flash:244ie7zj] il codice sul foogramma:
[code:244ie7zj]i=0;
testo="";
function letterA(){
letteraA=new Array("angelo","albero","arsenio","amico","alberto","anna","andrea");
hhh=letteraA.splice(random(letteraA.length),1);
ggg=hhh;
}
function letterC(){
letteraC=new Array("ciao","che","cosa","ciao","cioccolato","casa","cinema","ciao","cinese");
hhh=letteraC.splice(random(letteraC.length),1);
ggg=hhh;
}
[/code:244ie7zj] il codice sul pulsante per la lettera A
[code:244ie7zj]on (press, keyPress "a") {letterA()
}[/code:244ie7zj] il codice sul pulsante per la lettera C
[code:244ie7zj]on (press, keyPress "c") {letterC()
}[/code:244ie7zj] il codice sul pulsante per la conferma (<spazio>)
[code:244ie7zj]on (press, keyPress "<Space>") { testo=testo + ggg+" ";
}[/code:244ie7zj] i tasti abilitati per il momento sono il tasto A e il tasto C
gli altri li devi aggiungere tu.
Aggiungere altri nomi agli array, ogni funzione è una categoria di nomi
che iniziano con la stessa lettera La prima funzione per la lettera A per le parole Amico, Anna, alberto, ecc
la seconda per la lettera C con le parole più usate come ciao, che, cosa, casa ecc.. vediamo se posso mettere anche il fla che è leggerissimo Con l'occasione di questa discussione faccio gli auguri a Pablito l'amministratore
Messaggio: "Ciao Fratellinoooooo, buona pasqua e un bacioneeeee". [attachment=0:244ie7zj]completamento-automatico-max1.rar[/attachment:244ie7zj]

 max_400, N.D.

grazie max_400,appena ho un attimo provo e ti faccio sapere ;)
p.s.probabilmente il mio script non ti funziona perchè ho dimenticato di menzionare la versione del flash player che deve essere la 6

 hotless, N.D.

io uso flash 7.2 anch'io ho una vecchia versione proprio per essere compatibile con tutti.
comunque mi sono accorto di un problema nel precedente esempio
Ti compaiono le varie parole però non riesci a scriverne altre...
quindi per altre parole non in eenco bisogna disattivare il T9 (la scrittura intuitiva) basta aggiungere un pulsante che disabilita tipo control ed un altro per riattivare il T9. Anzi ora lo faccio. Seguiranno ulteriori istruzioni
a dopo ciao

 max_400, N.D.

sto provando il tuo codice cercando di adattarlo,ma per ora navigo a vista nel buio....il mio problema è che l'utente può solo cliccare il pulsante del mouse,perchè muove solo il pollice e male anche quello,quindi invece di selezionare le lettere con i tasti devo usare un campo di testo che cambia lettera ogni tot secondi e lui clicca su quella che gli interessa

 hotless, N.D.

con il mio codice poi si scrive una lettera alla volta e viene suggerito il completamento ma se non ha parole da suggerire si può comunque continuare lettera per lettera,con il tuo invece è più complicato

 hotless, N.D.

bò... io non ci vedo niente di complicato!
E' la stessa cosa. Si può fare ogni 3 secondi ma poi nel caso in cui deve scrivere
deve disattivare il timer e successivamente riattivarlo allora si che sarebbe più complicato
intendo per lui.
intanto ho fatto questo, ho aggiunto un particolare in più, il focus sulla casella
quindi non ce bisogno di usare il mouse per cliccare dentro la casella, ma basta premere il tasto A oppure C ....Spazio per confermare ed Invio per disattivare il T9 e scrivere liberamente.
Più semplice di cosi? [flash=550,400:gz2yuhmx]http://max400.netne.net/completamento-automatico-max2.swf[/flash:gz2yuhmx] Metto in allegato il fla e l'swf lo stesso che vedi sopra. Se non ti piace aspetta qualke giorno che risp qualkun altro. Questo è tutto. Ciao! [attachment=0:gz2yuhmx]completament-automatico2.rar[/attachment:gz2yuhmx]

 max_400, N.D.

va bene grazie lostesso

 hotless, N.D.
001design.it ® è un marchio registrato.
© 2004-2017 Molfese Paolo - P.Iva: 03430820617 - All rights reserved | Tutti i diritti sono riservati.