Foros del Web » Creando para Internet » Flash y Actionscript »

Problemas con String

Estas en el tema de Problemas con String en el foro de Flash y Actionscript en Foros del Web. Les cuento, estoy desarrollando una funcion para que me formatee el texto en un textBox, en realidad ya la habia realizado en JavaScript y siempre ...
  #1 (permalink)  
Antiguo 08/09/2006, 15:48
 
Fecha de Ingreso: diciembre-2003
Mensajes: 29
Antigüedad: 14 años
Puntos: 0
Problemas con String

Les cuento, estoy desarrollando una funcion para que me formatee el texto en un textBox, en realidad ya la habia realizado en JavaScript y siempre funciono bien, pero al migrarla a flash tengo un problemita en la opcion de capitalizacion de texto, cuando ingreso texto en el textbox e ingreso un enter ("\r") o chr(13), y envio el texto a la funcion me devuelve la primera palabra ingresada en minusculas, este problema lo solucione en Javascript con ElTexto.replace(/(\s*)([^\s])/,"$2"), pero no encuentro la forma de hacerlo con flash, les dejo el codigo para que alguien lo revise


function rvTexto(txtEntrada,modo){// vers. 1.0 Por Rubén Vazquez [email protected] www.rmjs.com.ar Bs. As. Argentina
// modo 1 convierte el texto a mayusculas
// modo 2 convierte el texto a minusculas
// modo 3 convierte el texto a Capitalizacion (primer letra en mayuscula)
if (modo==3){
var ElTexto = txtEntrada;
var TxTsalida = "";
var sp = " ";
var Chicas = false;
var LetrasChicas = new Array('y/o','e','o','u','a','y','Y','PC','\r');
ElTexto = ElTexto.toLowerCase();
// ElTexto.replace(/(\s*)([^\s])/,"$2")
var EntradaArray = ElTexto.split(sp);
TxTsalida = EntradaArray[0].slice(0,1).toUpperCase()+EntradaArray[0].slice(1);
for (i = 1; i < EntradaArray.length; i++){


Chicas=false;
for (ii=0;ii<LetrasChicas.length-1;ii++){
if(EntradaArray[i] == LetrasChicas[ii]) Chicas = true;
}

if(!Chicas ) EntradaArray[i] = EntradaArray[i].slice(0,1).toUpperCase()+EntradaArray[i].slice(1);
TxTsalida = TxTsalida + sp + EntradaArray[i];
}
txtEntrada = TxTsalida;
return txtEntrada;};
if (modo==2){
var ElTexto = txtEntrada;
var TxTsalida = "";
TxTsalida = ElTexto.toLowerCase();
txtEntrada = TxTsalida
return txtEntrada;
};
if (modo==1){
var ElTexto = txtEntrada;
var TxTsalida = "";
TxTsalida = ElTexto.toUpperCase();
txtEntrada = TxTsalida
return txtEntrada;
};
}


Desde ya Muchas Gracias...
__________________
Saludos, Rubén Vázquez
Buenos Aires - Argentina
  #2 (permalink)  
Antiguo 08/09/2006, 17:09
Avatar de seyacat  
Fecha de Ingreso: agosto-2006
Mensajes: 382
Antigüedad: 11 años, 3 meses
Puntos: 0
pues lastimosamente en actionscript no hay regexp

asi que deberas valerte del for que tienes ahi y con un simple if bastaria

texto = "hola texto"
salida = ""
for(i=0;i>tento.length;i++){

ch1 = texto.charAt(i)
ch0 = texto.charAt(i-1)
if(ch0==undefined and ch0=="\n" and ch0=="\t" and ch0==" "){//no se si valdra poner \s enves de todo eso
ch1 = ch1.toUpperCase()
} else{ch1 = ch1.toLowerCase()}
salida += ch1
}

Última edición por seyacat; 08/09/2006 a las 17:14
  #3 (permalink)  
Antiguo 09/09/2006, 13:22
 
Fecha de Ingreso: diciembre-2003
Mensajes: 29
Antigüedad: 14 años
Puntos: 0
Ok, Gracias voy a probar
__________________
Saludos, Rubén Vázquez
Buenos Aires - Argentina
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:05.