Clipper On Line • Ver Tópico - FOR EACH pra facilitar
Página 1 de 1

FOR EACH pra facilitar

MensagemEnviado: 03 Jul 2020 19:36
por JoséQuintas
O FOR EACH facilita, mas facilita muito mais se usar nomes adequados

   FOR nCont = 1 TO Len( ::acKeyboard )
      FOR nCont2 = 1 TO Len( ::acKeyboard[ nCont ] )
         @ ::nTop + 1 + nCont * 2, ::nLeft + 1 + ( nCont2 - 1 ) * 5 SAY ::acKeyboard[ nCont, nCont2 ]
      NEXT
   NEXT


olhando assim, difícil entender, e com FOR/EACH talvez não facilite.
Mas com nome adequado...

   FOR EACH aLinhaTeclado IN ::acKeyboard
      FOR EACH cTecla IN aLinhaTeclado
         @ ::nTop + 1 + aLinhaTeclado:__EnumIndex * 2, ::nLeft + 1 + ( cTecla:__EnumIndex - 1 ) * 5 SAY cTecla
      NEXT
   NEXT


É a montagem do teclado da calculadora, uma linha por vez, e uma tecla por vez.
Eu estava na dúvida se alterava pra FOR/EACH, porque parecia que ia só complicar.
Mas pensei no nome adequado, e aí achei que valia a pena.

FOR EACH pra facilitar

MensagemEnviado: 08 Jul 2020 16:47
por NiltonGM
Gosto muito de usar o for each, switch e o with object

FOR EACH pra facilitar

MensagemEnviado: 09 Jul 2020 11:53
por JoséQuintas
NiltonGM escreveu:Gosto muito de usar o for each, switch e o with object


O SWITCH ainda acho esquisito.
Isso porque ele é diferente do DO CASE, pode entrar em todas as condições seguintes.

FOR EACH pra facilitar

MensagemEnviado: 09 Jul 2020 13:12
por NiltonGM
JoséQuintas escreveu:
NiltonGM escreveu:Gosto muito de usar o for each, switch e o with object


O SWITCH ainda acho esquisito.
Isso porque ele é diferente do DO CASE, pode entrar em todas as condições seguintes.


o SWITCH tem uma finalidade um pouco diferente do DO CASE, dependendo da lógica eu uso o SWITCH ou o DO CASE, só temos que lembrar que no SWITCH para não passar em todas as condições, tanto em harbour como em outras linguagens que utiliza o SWITCH, tem que dar um EXIT no final de cada condição.
Exemplo:
SWITCH nVar
   CASE 1
      ...codigo1...
      EXIT
   CASE 2
      ...codigo2...
      EXIT
   CASE 3
      ...codigo3...
      EXIT
ENDSWITCH