A sentença CASE só pode ser usada com tipos de dados ordinais (integer, char, byte, boolean) e tipos enumerados. Se quiser usar com string, sugiro fazer uso da função AnsiIndexStr().
Exemplo: procedure TForm1.Button1Click(Sender: TObject); var lBusca: String; lStrings: array of String; begin lBusca := 'DA'; SetLength(lStrings, 4); lStrings[0] := 'RUBEM'; lStrings[1] := 'ROCHA'; case AnsiIndexStr(lBusca, lStrings) of 0: ShowMessage('Achou a palavra'); -1: ShowMessage('Não achou a palavra'); end; end; Sds. >From: "Gabriel Herdt" <[EMAIL PROTECTED]> >Reply-To: delphi-br@yahoogrupos.com.br >To: delphi-br@yahoogrupos.com.br >Subject: [delphi-br] Re: O Comando Case >Date: Tue, 13 Feb 2007 10:42:00 -0000 > >Jorge, obrigado pela ajuda. Mas esse não eu o caso eu me refiro ao >comando CASE OF do delphi(2005) não ao CASE WHEN de Select. >Oque eu gostaria de fazer é o seguinte: >case trim(UpperCase(sNome)) of 'Gabriel': >Begin > > >End; >`Gustavo': Begin > >End; > > > > Pessoal o comando case não aceita comparação de strings? > > > Alguma alternativa? Que não seja if if if? > > > case trim(UpperCase(sTabela)) of 'FCHISTOR': Begin > > > Como vai ter muitas comparações eu não gostaria que passasse em > > > todas > > > s opções como no if. > > > qual a alternativa? > > > >--- Em delphi-br@yahoogrupos.com.br, "Jorge Ericsson" ><[EMAIL PROTECTED]> escreveu > > > > Gabriel eu não sei qual o banco que vc utiliza, mas tente a >condição abaixo > > caso esteje trabalhando com o ORACLE. > > > > SELECT CASE TRIM(TO_CHAR(TO_DATE(TO_CHAR(vCONT) || '/' || >vMES_INPUT || '/' > > || vANO_INPUT,'dd-mm-yyyy') , 'Day')) > > WHEN 'Segunda-Feira' then 'Segunda' > > WHEN 'Terça-Feira' then 'Terça' > > WHEN 'Quarta-Feira' then 'Quarta' > > WHEN 'Quinta-Feira' then 'Quinta' > > WHEN 'Sexta-Feira' then 'Sexta' > > WHEN 'Sábado' then 'Sábado' > > WHEN 'Domingo' then 'Domingo' > > ELSE 'NENHUM' > > END INTO vDIA_SEMANA FROM DUAL; > > > > []´s > > > > > Em 12/02/07, Gabriel Herdt <[EMAIL PROTECTED]> escreveu: > > > > > > Pessoal o comando case não aceita comparação de strings? > > > Alguma alternativa? Que não seja if if if? > > > case trim(UpperCase(sTabela)) of 'FCHISTOR': Begin > > > > > > Como vai ter muitas comparações eu nao gostaria que passa-se em >todas > > > as opções como no if. > > > qual a alternativa? > > > > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > _________________________________________________________________ MSN Hotmail, o maior webmail do Brasil. http://www.hotmail.com