Jairo Maia escreveu:Porém, você tem que atribuir esse valor lógico (.T. ou .F.) a uma outra variável.
Pequeno ajuste na resposta: pode ou não atribuir a uma variável, depende da necessidade/gosto pessoal.
Igual colocou pra sair do sistema, pode colocar direto no IF.
É que as vezes um IF pode ficar comprido, muito fonte, ou pode querer usar essa comparação mais vezes, então há casos aonde se torna vantagem primeiro atribuir a uma variável.
por exemplo a saída do aplicativo:
Código: Selecionar todos
IF Alert( "Sair do aplicativo", { "Sim", "Não" } ) = 1
QUIT
ENDIF
Código: Selecionar todos
nOpc := Alert( "Sair do aplicativo", { "Sim", "Não", "Na dúvida" }
IF nOpc == 3
Alert( "Endoidou? É sim ou não!" )
LOOP
ELSEIF nOpc == 2
Alert( "ok, vamos resolver mais coisas" )
LOOP
ELSE
Alert( "Ok, já estou com saudades... eu amo escravos trabalhando" )
EXIT
ENDIF
E o erro que recebeu na compilação, igual falar pra humano:
- vai no mercado...desconto menor ou igual desconto da banana.... - isto seria o que colocou, sem sentido
- Vai no mercado e veja se o desconto é menor ou igual ao desconto da banana. - isto seria a atribuição a variável, pra uso posterior
- Vai no mercado e... se o desconto for menor ou igual ao desconto da banana... - isto seria o IF direto
Então, não é que escreveu palavras inválidas no fonte, é que não fez sentido do jeito que colocou.