Función case

He estado trabajando con función CASE de delphi para ello me he bajado un ejemplo de la web para ver como funciona es este:
case Edit1.Text[1] of
'a': begin Label2.Caption := 'AGUILA'; end;
'b': begin Label2.Caption := 'BECERRO'; end;
'c': begin Label2.Caption := '5 ' + 'CABALLOS'; end;
else begin Label2.Caption := 'No Hay' end;
Funciona bien para hay cosas que no comprendo como: [1] a demás quisiera que el usuario tecleara en el EDIT en ves de un carácter una palabra pero cuando cambio la 'b'por 'blanco' da un soberano error no se si es problema de conversión o no.
Que difícil es esto de verdad, he tenido experiencia con VB y director(lingo) pero esto es mucho más duro.
Ayudame si puedes

1 respuesta

Respuesta
1
Ok mira, el case en delphi, solo es para numero o caracteres, y no es para cadenas de string, es por eso lo del [1] esto indica que va a leer la posición 1 de lo que tenga el edit1.text por ejemplo si tienes GATO edit1.text[1] seria 'G'.
Entonces resumiendo, no puedes poner:
case Edit1.Text of
'AGUILA' :begin
end;
end;
esto esta mal!!! ya que no puede comparar cadenas.
Así que no puedes hacer que el usuario escriba palabras, si quieres compara palabras no uses el case usa if anidado por ejemplo:
if Edit1.Text = 'ANIMAL' then
Label2.Caption := 'AGUILA'
else
if Edit1.Text = 'BECERRO' then
Label2.Caption := 'BECERRO';
Y así sucesivamente y si te das cuenta ya no usas el [1].

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas