FOR EACH pra facilitar

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

FOR EACH pra facilitar

Mensagem por JoséQuintas »

O FOR EACH facilita, mas facilita muito mais se usar nomes adequados

Código: Selecionar todos

   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...

Código: Selecionar todos

   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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
NiltonGM
Usuário Nível 3
Usuário Nível 3
Mensagens: 397
Registrado em: 05 Jun 2014 23:47
Localização: Caieiras/SP

FOR EACH pra facilitar

Mensagem por NiltonGM »

Gosto muito de usar o for each, switch e o with object
Nilton Medeiros
nilton@sistrom.com.br
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

FOR EACH pra facilitar

Mensagem 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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
NiltonGM
Usuário Nível 3
Usuário Nível 3
Mensagens: 397
Registrado em: 05 Jun 2014 23:47
Localização: Caieiras/SP

FOR EACH pra facilitar

Mensagem 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:

Código: Selecionar todos

SWITCH nVar
   CASE 1
      ...codigo1...
      EXIT
   CASE 2
      ...codigo2...
      EXIT
   CASE 3
      ...codigo3...
      EXIT
ENDSWITCH
Nilton Medeiros
nilton@sistrom.com.br
Responder