Página 1 de 1

Como colocar codeblock diferente no WHEN

Enviado: 18 Jun 2026 17:42
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.
                }

Re: Como colocar codeblock diferente no WHEN

Enviado: 18 Jun 2026 17:55
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" )

Re: Como colocar codeblock diferente no WHEN

Enviado: 18 Jun 2026 18:27
por alxsts
Olá!

Só achei estranho colocar estes ; no final das linhas. Pelo que sei, não precisa disto...

Re: Como colocar codeblock diferente no WHEN

Enviado: 19 Jun 2026 13:30
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)

Re: Como colocar codeblock diferente no WHEN

Enviado: 19 Jun 2026 13:51
por alxsts
Olá!

Tem razão... me confundi.