El día de ayer estaba realizando unas pruebas algo importantes y habia un pequeño error que me quebro la cabeza por 5 o 10 min jejejejeje no se si a alguien le ha pasado antes pero aqui van unas lineas de código que ejemplifican de manera muy general mi desconcierto del día ayer:
delphi
procedure TForm1.Button1Click(Sender: TObject); var item: integer; const arreglo1: array [0..3] of string = ('uno','dos','tres','cuatro'); arreglo2: array [1..3] of string = ('cinco','seis','siete'); begin item:= StrToInt( inputbox('elemento','elemento','5') ); showmessage(arreglo1[item]); //<-- "arreglo1" end;
Normalmente yo me esperaria que al intentar ingresar a un elemento de arreglo1 superior a 4 me arrojara un index out of bound o algo por el estilo, pero lo que a mi me ha mostrado, es el elemento 1 del arreglo2.
Ahora que si se ingresa un numero mayor a la suma del total de elemento de los dos arreglos, me manda caracteres raros, pero nunca un excepcion. mas sin embargo, en vez de ingresar a los elemento mediante una variable, lo hago con una constate mayor a la longitud del arreglo1, por ejemplo un 5, me manda un error de compilación .
Repito, no se si a alguien le ha pasado anteriormente o si ya conocian este comportamiento, pero a mi me parecio curioso y por lo mismo deseo compartirselos para aquellos que como yo no lo sabian
Saludos
Kafastoforman