Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
joemil Moderador
Registrado: Quinta-Feira, 25 de Março de 2004 Mensagens: 9098 Localização: Sinop-MT
|
Enviada: Qua Jan 04, 2017 10:26 am Assunto: (In)Lógica Ultra Mega Super Hiper avancada |
|
|
fala galera, o vcs me dizem de um programador q usa esta lógica:
Código: | case varBool = False of
True: begin
{ codigo aqui }
end;
False: begin
{ codigo aqui }
end;
end;
|
inovador não? _________________ <b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/ |
|
Voltar ao Topo |
|
|
leo_cj Colaborador
Registrado: Sábado, 26 de Março de 2011 Mensagens: 1335
|
Enviada: Qua Jan 04, 2017 10:39 am Assunto: |
|
|
Rapaz, nunca vi nada parecido com isso, ele provavelmente está trabalhando em algo bem avançado.
realmente, parece bem inovador |
|
Voltar ao Topo |
|
|
strak2012 Colaborador
Registrado: Segunda-Feira, 13 de Janeiro de 2014 Mensagens: 1518 Localização: Maceió - AL
|
Enviada: Qua Jan 04, 2017 11:13 am Assunto: |
|
|
Não entendi o que é estranho no código.
Alguém pode explicar. _________________ Tudo podemos quando tudo sabemos! |
|
Voltar ao Topo |
|
|
joemil Moderador
Registrado: Quinta-Feira, 25 de Março de 2004 Mensagens: 9098 Localização: Sinop-MT
|
Enviada: Qua Jan 04, 2017 1:51 pm Assunto: |
|
|
codigo original:
Código: | case varBool = False of
True: begin
{ codigo aqui }
end;
False: begin
{ codigo aqui }
end;
end; |
simplificando a leitura do codigo:
é verdadeiro q a variavel é falsa?
se é verdadeiro faça ...
se é falso faça ...
confuso nao??? e ainda tem varios trechos assim kakka _________________ <b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/ |
|
Voltar ao Topo |
|
|
strak2012 Colaborador
Registrado: Segunda-Feira, 13 de Janeiro de 2014 Mensagens: 1518 Localização: Maceió - AL
|
Enviada: Qua Jan 04, 2017 2:37 pm Assunto: |
|
|
O trecho é confuso a primeira vista sim, contudo explicável da seguinte forma:
Existe uma variável verdadeira ou falsa qual quero executar algo quando esta premissa for o inverso sem alterar o valor da variável inicialmente ou seja:
Código: |
case varBool = False of // varbool é verdadeiro ou falso e quero que a mesma se mantenha assim para uso em outro ponto qualquer do codigo
True: begin // caso variável varbool falso reconheço que devo disparar este bloco
{ codigo aqui }
end;
False: begin // caso contrario este outro aqui
{ codigo aqui }
end;
end; |
Contudo isso é só forma de escrever o código que pode ser a mesma a mesma coisa que:
Código: | case not varBool of
True: begin
{ codigo aqui }
end;
False: begin
{ codigo aqui }
end;
end; |
Concordo que quem escreveu o código poderia simplesmente fazer:
Código: | case varBool of
True: begin
// escrever aqui o código levando o valor inverso da variável
end;
False: begin
// escrever aqui o código levando o valor inverso da variável
end;
end; |
Situação desta não é comum ser vista, mais a logica de quem programou, na cabeça de quem programa estar correta hehehehe.
E por incrível que pareça é funcional apesar de não muito compreensível a primeira vista.
Já trabalhei em códigos o qual existia casos similar o qual existia variáveis booleana o qual testava-se os valores inverso das mesma sem poder alterar seu valores para isso, neste caso o uso do not vem ser uma mão na roda, quando a situação não se dá para contornar em apenas na troca do trecho de blocos como mencionei no ultimo codigo. _________________ Tudo podemos quando tudo sabemos! |
|
Voltar ao Topo |
|
|
strak2012 Colaborador
Registrado: Segunda-Feira, 13 de Janeiro de 2014 Mensagens: 1518 Localização: Maceió - AL
|
Enviada: Qua Jan 04, 2017 2:42 pm Assunto: |
|
|
Ele tb poderia desprezar o uso case e usado uma estrutura de ifs com o comando not o que deixaria as coisa mais clara.
Código: | if not varBool then
begin
//
end else
begin
//
end; |
_________________ Tudo podemos quando tudo sabemos! |
|
Voltar ao Topo |
|
|
strak2012 Colaborador
Registrado: Segunda-Feira, 13 de Janeiro de 2014 Mensagens: 1518 Localização: Maceió - AL
|
Enviada: Qua Jan 04, 2017 2:47 pm Assunto: |
|
|
Por fim, falando do programador que escreveu tal código como pedido no post, posso dizer que este programador é iniciante, pois algo do tipo só mesmo sendo iniciante, que ainda estar a conhecer logica de programação, assim escreveu um código que funcionava e não um código melhor compreensível. _________________ Tudo podemos quando tudo sabemos! |
|
Voltar ao Topo |
|
|
joemil Moderador
Registrado: Quinta-Feira, 25 de Março de 2004 Mensagens: 9098 Localização: Sinop-MT
|
Enviada: Qua Jan 04, 2017 3:51 pm Assunto: |
|
|
eu tb usaria uma das duas formas, mas como ja esta assim.
Código: | case varBool of
True: begin
// escrever aqui o código levando o valor inverso da variável
end;
False: begin
// escrever aqui o código levando o valor inverso da variável
end;
end; |
Código: | if not varBool then
begin
//
end else
begin
//
end; |
e aproveitando, o programador nao é iniciante, tvz nao seja experiente. mas nao vou mexer no codigo. ta funcionando, vai q eu mexo no codigo e da zica kakaka _________________ <b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/ |
|
Voltar ao Topo |
|
|
joemil Moderador
Registrado: Quinta-Feira, 25 de Março de 2004 Mensagens: 9098 Localização: Sinop-MT
|
Enviada: Qui Jan 05, 2017 4:27 pm Assunto: |
|
|
to olhando o codigo e to rezando pra NÃO encontrar algo assim:
Código: | case NOT(var_boolean = False) of
True:
False:
end;
|
meu coracao ja ta acelerado so de pensar huahuahua _________________ <b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/ |
|
Voltar ao Topo |
|
|
|