PROBLEMA CON INDICES DE VECTORES
Publicado por Xabi (1 intervención) el 07/05/2008 16:04:36
Tengo el siguiente problema.
He definido un array de numeros enteros, cuyos indices son letras 'A' 'B' 'C' ... etc.
resulta que en el programa realizado tengo que pedir al usuario que me escriba una letra, para acceder a la posicion del vector A, B, C etc... y hay hacer unas operaciones.
Resulta que al poner el caracter introducido por el usuario en el vector me da Range check error...
y no entiendo porque...
Os dejo el codigo...
Procedure entrada_piezas(var Lista:TListaPiezas);
Var
TP: char;
CP: integer;
Begin
Writeln('Se¤ale el tipo de pieza introducida');
readln(TP); {QUE SEA UNA DE LAS LETRAS INTRODUCIDAS}
Writeln('Cantidad: ');
read(CP);
Lista.Piezas.Cantidad[TP]:= (Lista.Piezas.Cantidad[TP]) + CP;
end;
He comprobado sustituyendo el TP por una 'A' en la operacion final y de esta forma SI que va, asi que el error esta en que no reconoe TP como un char, y me pone RangeChekError... Cosa que no entiendo...
¿Me podeis ayudar por favor?
He definido un array de numeros enteros, cuyos indices son letras 'A' 'B' 'C' ... etc.
resulta que en el programa realizado tengo que pedir al usuario que me escriba una letra, para acceder a la posicion del vector A, B, C etc... y hay hacer unas operaciones.
Resulta que al poner el caracter introducido por el usuario en el vector me da Range check error...
y no entiendo porque...
Os dejo el codigo...
Procedure entrada_piezas(var Lista:TListaPiezas);
Var
TP: char;
CP: integer;
Begin
Writeln('Se¤ale el tipo de pieza introducida');
readln(TP); {QUE SEA UNA DE LAS LETRAS INTRODUCIDAS}
Writeln('Cantidad: ');
read(CP);
Lista.Piezas.Cantidad[TP]:= (Lista.Piezas.Cantidad[TP]) + CP;
end;
He comprobado sustituyendo el TP por una 'A' en la operacion final y de esta forma SI que va, asi que el error esta en que no reconoe TP como un char, y me pone RangeChekError... Cosa que no entiendo...
¿Me podeis ayudar por favor?
Valora esta pregunta


0