Bon, problema risolto. Sarà che ieri il mal di testa ha accentuato la mia disperazione ma non era poi così difficile arrivarci.
codice:
track = eval("track" + par);
line = 0;
singleLineLength = new Array(3);
for(i=0; i<track.length; i++) {
if(track.charAt(i)=='\r') {
singleLineLength[line] = i;
line++;
}
}
inizio = 0;
for(j=0; j<line; j++) {
selbox = track.substring(inizio, singleLineLength[j]);
lung = selezione.textWidth;
mask = eval("mask" + j);
mask._width = lung;
lung = 0;
inizio = singleLineLength[j]+1;
}
Commento:
nel primo for si cicla fino alla fine del testo, aumentando la variabile "line" ogni volta che si trova il carattere di a capo e si immagazzina il numero di caratteri nell'array "singleLineLength".
nel secondo for si cicla per tante volte quante sono le righe contate in precedenza, estraendo il substring da "inizio" fino al valore immagazzinato nella rispettiva casella dell'array "singleLineLength". Si passa questa sottostringa ad una casella di testo dinamica dalla quale si recupera poi la lunghezza della stringa con "Selection.textWidth".
Per poi passarne il valore al mio rettangolino.
ciauz,
Ale