Foros del Web » Programando para Internet » Javascript »

predefinicion de codigo hexadecimal a mostrar en textarea

Estas en el tema de predefinicion de codigo hexadecimal a mostrar en textarea en el foro de Javascript en Foros del Web. Hola a todos. Estoy intentandolo de esta forma: function fan () { for ( n = 3333 ; n < 3344 ; n ++) { ...
  #1 (permalink)  
Antiguo 15/10/2005, 14:18
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 9 meses
Puntos: 9
Busqueda predefinicion de codigo hexadecimal a mostrar en textarea

Hola a todos.

Estoy intentandolo de esta forma:

function fan()
{
for(n=3333;n<3344;n++)
{
if(n<10){c="000"+n;}
else if(n<100){c="00"+n;}
else if(n<10){c="0"+n;}
else c=n;
}
//area.value="\u"+c; // error: se esperaba un digito hexadecimal. area=""
//area.value=eval("\u"+c); // error: se esperaba un digito hexadecimal. area=""
area.value="\\u"+c; // error: no hay error. area="\u3343"
//area.value=eval("\\u"+c); // error: caracter no valido. area="\u3343"
}

<textarea name="area" rows=20 cols=80></textarea>


Pero lo que espero es la representacion de un caracter con ese codigo hexadecimal no la cadena literal, ¿ como hago esto ?, gracias.
  #2 (permalink)  
Antiguo 16/10/2005, 02:11
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Hola programeitor:

Creo que tienes que separar los elementos (convirtiéndolos antes en cadena) y ayudarte de algunas funciones fáciles de implementar:

Código:
<html>
	<head>
		<title>
			precarga de sonidos
		</title>
		<script type="text/javascript">
			var hexa = "0123456789abcdef";

			function decahex(n) {
				return hexa.charAt(n / 16) + hexa.charAt(n % 16);
			}
			function nHexa(n) {
				var _n = n.toString();
 				var salida = "";
				for (var i = 0, total = _n.length; i < total; i ++)
					salida += decahex(_n.charAt(i));
				return salida;
			}
		</script>
	</head>
	<body onload="alert(nHexa(34567))">
	</body>
</html>
Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 16/10/2005, 15:03
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 9 meses
Puntos: 9
hola caricatos, creo que no me has entendido.

lo que estoy buscando es la manera de realizar esto:

textarea.value="\u3243"

que devuelve el caracter que tiene ese codigo hexadecimal.

Gracias por contestar.
  #4 (permalink)  
Antiguo 16/10/2005, 18:34
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Hola otra vez:

Me parece que en un textarea solo puede ponerse texto plano porque otra posibilidad es encadenar un "&#" al valor decimal, pero tampoco funciona...

En el "viejo generador": http://www.pepemolina.com/generador/generador.html se podían obtener los caracteres a partir del nº (pinchando en "Letras")... pero en el textarea no se veían más que los números...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 17/10/2005, 17:30
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 9 meses
Puntos: 9
Si se puede, haz la prueba caricatos:

<textareaname="area"rows=20cols=40onmouseover="value='hay dos modos que yo sepa\nesta es la representacion de \\275 \275\nyesta de \\u5555 \u5555\n en un post de este foro no hace mucho que vi un ejemplo para colocar fondo de color a una palabra.'
">
</textarea>

no se puede incluir directamente en el cuerpo del textarea, hay que pasarselo por parametro.


  #6 (permalink)  
Antiguo 18/10/2005, 01:42
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Hola:

Usando innerHTML en vez de value, probé el \u5555 y arrancó bien:

<body onload="document.getElementsByTagName('textarea')[0].innerHTML = '\u5555'">
También sale con el value...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 18/10/2005, 10:54
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años
Puntos: 317
Hola programeitor , caricatos :

Debe tener que ver con el navegador. En IE5 yo los veo.

Select + TextArea
  #8 (permalink)  
Antiguo 18/10/2005, 15:53
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 9 meses
Puntos: 9
Si, el problema(lo comente mas arriba), es que no puedo definir ese "valor" por partes, tengo que pasarselo directamente, es decir:

ini="\u"
n=5555
cad=ini+n
texarea.value=cad


he probado de varias formas y no tira.
  #9 (permalink)  
Antiguo 20/10/2005, 11:46
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años
Puntos: 317
Ah!, perdón. Ultimamente estoy entendiendo muy mal.

Es que no necesitas poner el prefijo. A menos que ya lo tengas así. Pero entonces te conviene cambiarlo en el mismo escript para dejar sólo el número.

Código:
var cad= String.fromCharCode(33,99,8482);
saludos

furoya
  #10 (permalink)  
Antiguo 20/10/2005, 16:09
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 9 meses
Puntos: 9
Asi es .

Eso es lo que necesito. ,no devuelve el mismo resultado String.fromCharCode(5555) que "\u5555", debe ser que fromCharCode lee 5555 como decimal, naturalmente, porque no creo que sean paginas de codigo distintas .

Eso funciona a la perfeccion ,muchas gracias furoya.
  #11 (permalink)  
Antiguo 23/10/2005, 13:14
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años
Puntos: 317
No, de nada. Me alegra que te haya servido.
Y es cierto, el valor que te muestra es el de \x5555. Si ya lo tienes en hexa vas a tener que convertirlo.

Aprovecho y dejo un convertidor para agregar al que puso caricatos y que el tema quede más redondo. Aunque no sé si funciona en cualquier navegador

Código:
<script>
function hexADec(){
var numero = parseInt(document.getElementById("texto").value, 16);
document.getElementById("texto").value = numero;
}
function decAHex(){
var numero =(document.getElementById("texto").value*1).toString(16);
document.getElementById("texto").value = numero;
}
</script>
<input id="texto" />
<input type="button" onclick="decAHex()" value="Dec a Hexa" />
<input type="button" onclick="hexADec()" value="Hexa a Dec" />
  #12 (permalink)  
Antiguo 23/10/2005, 16:28
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 9 meses
Puntos: 9
.

Si ,por lo menos en Ie y Ns-Ff funciona.

...No. Aun no tengo hecho nada....., me quede tirado nada mas empezar, por no poder predefinir los valores concatenando cadenas y numeros. No sabia. ,que pudiese meterse el numero sin la \u. ,de hecho, hace poco que me entere de esto mismo, y menos aun(ahora mismo) de que tambien se puede con /x.

Estaba pensando en hacer algun tipo de aplicacion con esta caracteristica ,que me parecia interesante, pero resulta.. que el ejemplo que vi. ,utilizaba 2 textareas superpuestos para dicha funcion. ,y para colmo ,el efecto no era del todo limpio. Me parece que os he hecho perder el tiempo, pues ahora no estoy muy seguro de querer continuar ,aunque la enseñanza queda.

Os pido mil disculpas y hasta la proxima, Dios.

.
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 05:51.