Como colocar codeblock diferente no WHEN

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

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

Como colocar codeblock diferente no WHEN

Mensagem por JoséQuintas »

Assim funcionou.
Mas queria deixar o WHEN antes do VALID, e não deixa.
Só funciona deixando o WHEN por último.

Código: Selecionar todos

      @ Row() + 1, 1 SAY "Transportador.: " GET nIdTransp PICTURE "@K 999999" ;
         VALID JPTRANSPClass():New():Valida( @nIdTransp ) ;
         WHEN { ||
                IF nPagFrete == 9
                   nIdTransp := 0
                   RETURN .F.
                ENDIF
                RETURN .T.
                }
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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
JoséQuintas
Administrador
Administrador
Mensagens: 20492
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 2 vezes

Re: Como colocar codeblock diferente no WHEN

Mensagem por JoséQuintas »

Mudei pro lugar certo, pro outro get, ficando como valid.

Código: Selecionar todos

      @ Row() + 1, 1 SAY "Frete p/ Conta: " GET nPagFrete PICTURE "9" ;
         VALID { ||
            IF nPagFrete == 9
               nIdTransp := 0
            ENDIF
            RETURN Str( nPagFrete, 1 ) $ "012349" .OR. LastKey() == 5
            }
      @ Row(), Col()+2 SAY "(VEIC.TRANSPORTADORA: 0=Rem, 1=Dest, 2=Terc, VEIC.REMETENTE: 3=Rem, 4=Dest, RETIRADO: 9=Retirado/Sem frete)"
      @ Row() + 1, 1 SAY "Transportador.: " GET nIdTransp PICTURE "@K 999999" ;
         WHEN nPagFrete != 9 ;
         VALID JPTRANSPClass():New():Valida( @nIdTransp ) 
      @ Row() + 1, 1 SAY "Placa Veículo.: SP-" GET mPlaca PICTURE "@K !!!9!99" ;
         WHEN nPagFrete != 9 .OR. hb_AScan( { "CORDEIRO", "CARBOLUB" }, AppEmpresaApelido(),,, .T. ) != 0 VALID JPVEICULOClass():New():Valida( @mPlaca, .F., "placa" )
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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/
alxsts
Colaborador
Colaborador
Mensagens: 3161
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil
Curtiram: 4 vezes

Re: Como colocar codeblock diferente no WHEN

Mensagem por alxsts »

Olá!

Só achei estranho colocar estes ; no final das linhas. Pelo que sei, não precisa disto...
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20492
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 2 vezes

Re: Como colocar codeblock diferente no WHEN

Mensagem por JoséQuintas »

Só teve um que ficou por descuido, após alteração, como colocou no plural, acho que não tem a ver com ele.

Código: Selecionar todos

@ x, y GET var ;
picture "x" ;
when .T. ;
valid .T.
Isso acima precisa de ponto e vírgula, senão vai desconsiderar que é continuação.
É console, não confunda com LIB gráfica, onde algumas permitem uso livre (acho que minigui somente, na sintaxe alternativa)
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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/
alxsts
Colaborador
Colaborador
Mensagens: 3161
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil
Curtiram: 4 vezes

Re: Como colocar codeblock diferente no WHEN

Mensagem por alxsts »

Olá!

Tem razão... me confundi.
[]´s
Alexandre Santos (AlxSts)
Responder