Usar case com string
Muitas vezes nos deparamos com a necessidade de usarmos o comando "CASE" mas ele não funciona com string. Aqui vou mostrar uma forma de se fazer isso.
uses StrUtils
Depois é so fazer assim:
case AnsiIndexStr(UpperCase(palavra), ['OPCAO1', 'OPCAO2','OPCAO3']) of
0 : showmessage('Opcao1');
1 : showmessage('Opcao2');
2 : showmessage('Opcao3');
end;
*Note que poderia ser usado o AnsiUpperCase em vez do UpperCase, se no caso a "palavra pode ter caracter com acentuação, ou caracter especial.
======================================
Opinião do autor. - Eu particularmente evito usar if encadeado, - pior para entender o código - pior para debugar - ocupa muito mais espaço
=====================================
veja na pratica a diferença
Case com string:
Logo no inicio do artigo mostramos um exemplo bem simples usando o Case;
If Encadeado:
if palavra = 'Opcao1' then
begin
...
end
else
begin
if palavra = 'Opcao2' then
begin
...
end
else
begin
if palavra = 'Opcao3' then
begin
...
end
end
end;
Gastamos 19 linha, vira uma verdadeira "Tripona"
Dê um upgrade no início da sua jornada.
Crie sua conta grátis e baixe o e-book
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo