Junio 19, 2013, 01:41:07 am

Autor Tema: Problema con cadenas e inserción de carácter  (Leído 194 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Silver_light

  • Adicto
  • *
  • Puntos: 46
  • Mensajes: 368
  • Luz Plateada!
    • Ver Perfil
Problema con cadenas e inserción de carácter
« en: Abril 28, 2012, 02:32:51 am »
Hello! again...
 Estabamos diseñando con un amigo un sistema de "texto inteligente" que hiciese un salto de linea antes de cierta cantidad de caracteres. Sin embargo tuvimos la incertidumbre de no saber porque nuestro código no funcionaba.

Según puedo llegar a entender, la explicación vá así:
 Si A es menor a la longitud del texto original, entonces se copia caracter por caracter a "texto_cpc". Esto lo utilizo para poder dibujar el texto con una animación de letra por letra. Para ello incremento la variable A.
 Luego tengo otra variable B, que en teoría si, encontrase un espacio en blanco luego de los primeros 60 caracteres, entonces debería insertar el salto de linea. Entonces la funcionalidad es: Si luego de los primeros 60 caracteres (o b mayor a 60) entonces la variable "caracter" es igual al caracter que se encuentra en la posicion de B. Ahora, Si, dicho caracter es un espacio en blanco, entonces inserta salto de linea y vuelve a colocar B en 0

Citar
if (A <= string_length(texto))
{
 texto_cpc = string_copy(texto,0,a);
 A += 1;
 B += 1;
 
 if (B > 60)
 {
  caracter = string_char_at(texto,B);
 
  if (caracter == chr(255))
  {
   texto = string_insert("#",texto,B);
   B = 0;
  }
 }
}

El problema es que no funciona y mi razonamiento no sabe porqué XD Haha
 Me gustaría saber en dónde me estoy equivocando.

Nyan! :)
¡Cierto!, ¡En un cien por ciento!

Tutorial 39DLL :3
No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.

Desconectado Texic

  • Moderadores globales
  • Okupa
  • *
  • Puntos: 684
  • Mensajes: 1804
  • Sexo: Masculino
  • I Have The Fire!
    • Ver Perfil
Re:Problema con cadenas e inserción de carácter
« Respuesta #1 en: Abril 28, 2012, 04:36:59 am »
Porque estás metiendo el salto de línea en la posición de B cuando deberías hacerlo en la posición de A

if (A <= string_length(texto))
{
 texto_cpc = string_copy(texto,0,A);
 A += 1;
 B += 1;
 
 if (B > 60)
 {
  caracter = string_char_at(texto,A);
 
  if (caracter == " ")
  {
   texto = string_insert("#",texto,A);
   B = 0;
  }
 }
}




Desconectado Silver_light

  • Adicto
  • *
  • Puntos: 46
  • Mensajes: 368
  • Luz Plateada!
    • Ver Perfil
Re:Problema con cadenas e inserción de carácter
« Respuesta #2 en: Abril 28, 2012, 05:13:31 am »
Muchas gracias por responder, tu respuesta funciona en efecto.
 Y ahora noto la difetencia entre un chr(255) y un " ", es por ello que nisiquiera hacía salto de linea. Es decir, seguía todo derecho.
 Luego de analizar cuidadosamente por no sé cuanta vez, comparando tu respuesta llegué por fin a entender la diferencia.
 Muchas Gracias!

Saludos!
Nyan!
¡Cierto!, ¡En un cien por ciento!

Tutorial 39DLL :3