Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   problemas con estring (https://www.clubdelphi.com/foros/showthread.php?t=13692)

Diego 27-08-2004 04:51:40

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

roman 27-08-2004 07:33:24

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:

Código Delphi [-]
L1 := Copy(PA, 1, 1);
L2 := Copy(PA, 2, 1);
L3 := Copy(PA, 3, 1);
L4 := Copy(PA, 4, 1);
L5 := Copy(PA, 5, 1);
L6 := Copy(PA, 6, 1);
L7 := Copy(PA, 7, 1);
L8 := Copy(PA, 8, 1);

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