comando case com String

Delphi

04/04/2003

Bom dia,
Eu tenho uma variavel Modo do tipo String e eu tenho varias ações diferentes para usar com cada valor q esta variavel receber ex:
if Modo = ´Modo Fdw´ then (acoes);
if Modo = ´Modo gdww´dthen (acoes);
if Modo = ´Modo Fdww´ then (acoes);
if Modo = ´Modo Fdww´ then (acoes);
if Modo = ´Modo Fdwdw´ then (acoes);
if Modo = ´Modo dwF´ then (acoes);
como eu faço para usar o case neste caso.


Anonymous

Anonymous

Curtidas 0

Melhor post

Aroldo Zanela

Aroldo Zanela

04/04/2003

Bom dia, Eu tenho uma variavel Modo do tipo String e eu tenho varias ações diferentes para usar com cada valor q esta variavel receber ex: if Modo = ´Modo Fdw´ then (acoes); if Modo = ´Modo gdww´dthen (acoes); if Modo = ´Modo Fdww´ then (acoes); if Modo = ´Modo Fdww´ then (acoes); if Modo = ´Modo Fdwdw´ then (acoes); if Modo = ´Modo dwF´ then (acoes); como eu faço para usar o case neste caso.

Michael,

A declaração CASE não suporta tipos strings, variáveis ou funções, apenas tipos ordinais, que podem ser: numéricos, char, enumerados, lógicos ou typecasting como Integer(´A´).
No seu caso, acho que serie apropriado um tipo enumerado.

Veja um exemplo do help:

case MyColor of
Red: X := 1;
Green: X := 2;
Blue: X := 3;
Yellow, Orange, Black: X := 0;
end;


GOSTEI 1

Mais Respostas

Adilsond

Adilsond

04/04/2003

O case apenas aceita valores numéricos. O que voce pode fazer é criar um TStringList, jogar os valores para o mesmo e:

case MeuStringList.IndexOf(Modo) of
0:;
1:;
2:;
end;


GOSTEI 0
POSTAR