GARANTIR DESCONTO

Fórum If com In (existe?) #333067

13/11/2006

0

Ola Pessoal.. uma perguntinha..
existe condições de fazer o ´if´.. com um ´in´ ..ou coisa parecida...
tipo:
if querycodigos ´in´ ´variavel´ then begin

tem como??

estou no aguardo..obrigado..


Thiago Coleti

Thiago Coleti

Responder

Posts

13/11/2006

Massuda

Existir, existe. Por exemplo:
const
  CaracteresVálidos = [´A´..´Z´, ´a´..´z´, ´0´..´9´];
var
  C: Char;
...
  if C in CaracteresVálidos then 
    // C é um caractere válido
  else
    // C é um caractere inválido
Note que o [b:4087822c9f]in[/b:4087822c9f] só se aplica a [b:4087822c9f]set[/b:4087822c9f]s (conjuntos). Um [b:4087822c9f]set[/b:4087822c9f] reúne valores ordinais ou enumerados.

Mas provavelmente não é isso que você deseja.

Se quiser testar se uma string está contida em outra, use a função Pos.


Responder

Gostei + 0

13/11/2006

Thiago Coleti

Olá Massuda..
o q eu quero é comparar uma valor de um campo de uma query com os valores de uma váriavel..
ex:
tenho a variavel codigos(string) com os valores: ´100´,´200´,´300´

quero verificar se o valor do campo da query está dentro desses numeros...
if querycampocodigo.value in codigos then <executa>


sera q funfa???
valew


Responder

Gostei + 0

13/11/2006

Massuda

[b:260e4ce1c4]set[/b:260e4ce1c4]s só trabalham com números (ordinais ou enumerações) dentro de uma faixa limitada de valores, não trabalham com strings.

Uma possibilidade (não testei) seria fazer...
if querycampocodigo.AsInteger in [100, 200, 300] then <executa>



Responder

Gostei + 0

14/11/2006

Thiago Coleti

Olá Massuda... naum consegui fazer funcionar naum...

eu criei uma variavel string q em um looping em um campo string de uma tabela eu coloco os valores nela(variavel)... no caso 00100, 00200, 00300

eu presciso comparar com um campo da query q é string.... e até agora nada....

alguma idéia?


Responder

Gostei + 0

14/11/2006

Dopi

Use o [b:434e517851]POS[/b:434e517851] para saber se a Sub-String que vc procura está dentro do ´conjunto´ (String)

Primeiro crie a váriavel [b:434e517851]codigo [/b:434e517851]separando os valores válidos usando um ´separador´ qualquer... Exemplo, usando ´|´ como separador

Codigo := "100|200|400|300" ;
if pos(querycampocodigo.value,codigos) > 0 then <executa> 



Responder

Gostei + 0

14/11/2006

Thiago Coleti

Dopi..valew pela ajuda... o POS resolveu meu problema aki...
Massuda..obrigado pela ajuda. tmb.... não conhecia a relacão do If com o In..
valew galera..


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar