![]() |
problemas con estring
Hola. Tengo un list box con un listado de palabras y 8 editores.
Eligo una palabra aleatorio del ListBox y luego lee letra por letra y la agrego a los editores, esto la hago a traves de variables. Si la palabra tiene menos que ocho letras desea que se borren los restantes editores. El código es el siguiente: var L1,L2,L3,L4,L5,L6,L7,L8: string; Pa: String; I: Integer; begin Randomize; I:= Random(ListBox1.Items.Count - 1); Pa:= ListBox1.Items.Strings[i]; L1:= PA[1]; L2:= PA[2]; L3:= PA[3]; L4:= PA[4]; L5:= PA[5]; L6:= PA[6]; L7:= PA[6]; L8:= PA[7]; ...... Mi pregunta es la siguiente: si la palabra contiene cuatro letras, que valor es asignado a L4,L5,L6, L7,L8? Viendo las variables a traves de Local variable, me aparecen: #0, &, #2, '', Me pregunto, porque es esto. Ademas, que diferencia hay entre '' y #0 Si alguien me puede decir donde encontrar ayuda sobre como trabaja esto, se los agradecere, ya que, por mas que recorro la ayuda no encuentro nada. Desde ya muchas gracias a todos |
No entiendo muy bien qué es lo que estás haciendo pero vamos a ver. Si la cadena tiene menos de ocho letras, digamos 5, entonces PA[6], PA[7], PA[8] contendrán basura, es decir, cualquier cosa que en esos momentos haya en la memoria. Sencillamente no puedes acceder a elementos inexistentes de la cadena.
En lugar de eso lo que puedes hacer es usar la función Copy:
ya que ésta te devolverá una cadena vacía en caso de que los parámetros no correspondan a ninguna porción de la cadena. // Saludos |
La franja horaria es GMT +2. Ahora son las 22:00:42. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi