if com duas condições, caso a primeira condição seja verdadeira executar o procedimento
Olá pessoal.
Caso eu tenha um if com duas condições, existe a possíbilidade de ele verificar se a primeira condição for verdadeira, ele já executa o solicitado, somente se a primeira condição não for verdadeira ele verifica a segunda. Segue abaixo um exemplo:
Caso o arquivo não exista ele executa o procedimento, sem fazer a pergunta. Somente se o arquivo existir, ele irá fazer a pergunta se deseja sobreescrever o arquivo..
ps.: Sei que é possível fazer isso com if encadeado (como eu fiz), mas gostaria de saber se é possível fazer dessa forma.
Caso eu tenha um if com duas condições, existe a possíbilidade de ele verificar se a primeira condição for verdadeira, ele já executa o solicitado, somente se a primeira condição não for verdadeira ele verifica a segunda. Segue abaixo um exemplo:
if ((not(FileExists(vFilePath))) or (Application.MessageBox('Já existe um arquivo com esse nome!' + #13 + 'Deseja sobrescrever?', 'Pergunta', MB_ICONQUESTION + MB_YESNO) = mrYes)) then begin //Executa procedimento end;
Caso o arquivo não exista ele executa o procedimento, sem fazer a pergunta. Somente se o arquivo existir, ele irá fazer a pergunta se deseja sobreescrever o arquivo..
ps.: Sei que é possível fazer isso com if encadeado (como eu fiz), mas gostaria de saber se é possível fazer dessa forma.
Breno Oliveira
Curtidas 0
Melhor post
Marco Salles
10/07/2010
Olá pessoal.
Caso eu tenha um if com duas condições, existe a possíbilidade de ele verificar se a primeira condição for verdadeira, ele já executa o solicitado, somente se a primeira condição não for verdadeira ele verifica a segunda. Segue abaixo um exemplo:
Caso o arquivo não exista ele executa o procedimento, sem fazer a pergunta. Somente se o arquivo existir, ele irá fazer a pergunta se deseja sobreescrever o arquivo..
ps.: Sei que é possível fazer isso com if encadeado (como eu fiz), mas gostaria de saber se é possível fazer dessa forma.
Mas o compilador do Delphi ja é Otimizado para isto...
Pelo menos no Delphi2010
Veja
Caso eu tenha um if com duas condições, existe a possíbilidade de ele verificar se a primeira condição for verdadeira, ele já executa o solicitado, somente se a primeira condição não for verdadeira ele verifica a segunda. Segue abaixo um exemplo:
if ((not(FileExists(vFilePath))) or (Application.MessageBox('Já existe um arquivo com esse nome!' + #13 + 'Deseja sobrescrever?', 'Pergunta', MB_ICONQUESTION + MB_YESNO) = mrYes)) then begin //Executa procedimento end;
Caso o arquivo não exista ele executa o procedimento, sem fazer a pergunta. Somente se o arquivo existir, ele irá fazer a pergunta se deseja sobreescrever o arquivo..
ps.: Sei que é possível fazer isso com if encadeado (como eu fiz), mas gostaria de saber se é possível fazer dessa forma.
var condicao:Boolean; begin condicao:=StrToBool(edit1.text); if ((not(Condicao)) or (Application.MessageBox('Já existe um arquivo com esse nome!' + #13 + 'Deseja sobrescrever?', 'Pergunta', MB_ICONQUESTION + MB_YESNO) = mrYes)) then Showmessage('Executa somente se Condicao=True');
GOSTEI 1
Mais Respostas
Pedro Saraiva.
09/07/2010
Programa com códigos fontes
Ola pessoal,
você programador que quer um aplicativo exemplo para fins comerciais, tenho uma
dica, compre o WinPhar que vem com todos os códigos fontes e faça um programa
baseado nele, sim ele também vêm com todos os componentes para instalar, voce
além de ganhar um programa complidao, ganha tb os seus códigos fontes e seus
componentes. O programa foi desenvolvido em Delphi 7 com banco de dados
paradox, e custa apenas 20,00 reais
deem uma olhadinha ai no produto
http://produto.mercadolivre.com.br/MLB-149256966-winphar-2008-sistema-para-farmacias-e-drogarias-_JM
e ente em contato pelo e-mail pedroluissaraiva@yahoo.com.br.!
deem uma olhadinha ai no produto
http://produto.mercadolivre.com.br/MLB-149256966-winphar-2008-sistema-para-farmacias-e-drogarias-_JM
e ente em contato pelo e-mail pedroluissaraiva@yahoo.com.br.!
GOSTEI 0
Dorgival Gama
09/07/2010
Olá pessoal.
Caso eu tenha um <SPAN style="FONT-WEIGHT: bold">if</SPAN> com duas condições, existe a possíbilidade de ele verificar se a primeira condição for verdadeira, ele já executa o solicitado, somente se a primeira condição não for verdadeira ele verifica a segunda. Segue abaixo um exemplo:
Caso o arquivo não exista ele executa o procedimento, sem fazer a pergunta. Somente se o arquivo existir, ele irá fazer a pergunta se deseja sobreescrever o arquivo..
ps.: Sei que é possível fazer isso com if encadeado (como eu fiz), mas gostaria de saber se é possível fazer dessa forma.
Caso eu tenha um <SPAN style="FONT-WEIGHT: bold">if</SPAN> com duas condições, existe a possíbilidade de ele verificar se a primeira condição for verdadeira, ele já executa o solicitado, somente se a primeira condição não for verdadeira ele verifica a segunda. Segue abaixo um exemplo:
if ((not(FileExists(vFilePath))) or (Application.MessageBox('Já existe um arquivo com esse nome!' + #13 + 'Deseja sobrescrever?', 'Pergunta', MB_ICONQUESTION + MB_YESNO) = mrYes)) then begin //Executa procedimento end;
Caso o arquivo não exista ele executa o procedimento, sem fazer a pergunta. Somente se o arquivo existir, ele irá fazer a pergunta se deseja sobreescrever o arquivo..
ps.: Sei que é possível fazer isso com if encadeado (como eu fiz), mas gostaria de saber se é possível fazer dessa forma.
<DIV> </DIV>
<DIV>Mas o compilador do Delphi ja é Otimizado para isto...</DIV>
<DIV> </DIV>
<DIV>Pelo menos no Delphi2010</DIV>
<DIV> </DIV>
<DIV>Veja</DIV>
<DIV> </DIV>
<DIV>
</DIV> <DIV>var condicao:Boolean; begin condicao:=StrToBool(edit1.text); if ((not(Condicao)) or (Application.MessageBox('Já existe um arquivo com esse nome!' + #13 + 'Deseja sobrescrever?', 'Pergunta', MB_ICONQUESTION + MB_YESNO) = mrYes)) then Showmessage('Executa somente se Condicao=True');
<DIV> </DIV>
<DIV>Neste pequeno exemplo se o Conteudo do Edit for igual a False >>not(Condicao) ja Retorna Positivo e não</DIV>
<DIV>Ira nen testar a Segunda que no Caso é a Mensagem</DIV>
<DIV> </DIV>
<DIV>Somente se Conteudo do Edit for igual a True >> not(Condicao) j Retorna False e ai
<DIV>Ira Exibir a Pergunta</DIV>
<DIV> </DIV>
<DIV>Teste ai...</DIV></DIV>
Olá sei que é um tópico bem antigo mais fiquei curioso quanto a variável boolean receber o valor do edit, fiz um teste aqui e não funcionou, retorna um erro que não é um valor booleano válido.
GOSTEI 0
Arthur Heinrich
09/07/2010
É possível fazer o if com múltiplas condições, de forma que, ao checar as condições, caso uma avaliação parcial da expressão garanta o resultado, ela seja interrompida. Até acho que este é o comportamento "default".
Porém, você pode configurar o compilador para que as expressões booleanas sejam interpretadas na íntegra, fazendo com que a pergunta seja sempre executada.
Para o seu objetivo, certifique-se de que a opção "Complete Boolean Evaluation" esteja desmarcada.
Porém, você pode configurar o compilador para que as expressões booleanas sejam interpretadas na íntegra, fazendo com que a pergunta seja sempre executada.
Para o seu objetivo, certifique-se de que a opção "Complete Boolean Evaluation" esteja desmarcada.
GOSTEI 0