Problema migranção xharbour => harbour

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

Moderador: Moderadores

Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Problema migranção xharbour => harbour

Mensagem por janio »

Olá a todos,

De tanto ouvir falar no harbour, resolvi fazer alguns testes para avaliar seu desempenho, apesar de nao estar tendo nenhum tipo de problema com xharbour. Ocorre que estou tendo muitos erros com o comando Begin Sequence, que uso de mais em minhas aplicações e que no xHarbour compila sem nenhum problema. Mas no harbour, nem compila.

Uso Begin Sequece com Do While para retornar ao get anterior com ESC. Ja uso isso ha muito tempo e nao gostaria de mudar. Faço assim:

Código: Selecionar todos

         BEGIN SEQUENCE
         DO WHILE .T.   
         @ li+03,ci+12 GET cCGC Pict "@R 99.999.999/9999-99"
         Read

            If LastKey() = 27
               Exit
            EndIf

         DO WHILE .T.
         @ li+03,ci+32 GET vNOMCLI Pict "@!s40"
         Read

            If LastKey() = 27
               Exit
            EndIf

         DO WHILE .T.
         @ li+06,ci+02 GET vENDCLI Pict "@!s40"
         Read

            If LastKey() = 27
               Exit
            EndIf

        Break
        Enddo ; Enddo ; Enddo
        EndSequece

        If Lastkey() = 27
           Loop
       Endif

So que isso nao compila no Harbour ja que ele reclama do EndSequece.

Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Imatech
Usuário Nível 3
Usuário Nível 3
Mensagens: 350
Registrado em: 24 Ago 2010 23:48
Localização: Goiânia-GO

Problema migranção xharbour => harbour

Mensagem por Imatech »

HARBOUR:

Código: Selecionar todos


   END SEQUENCE

M., Ronaldo

by: IMATECH

IMATION TECNOLOGIA
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Problema migranção xharbour => harbour

Mensagem por janio »

Ok Chefe,

Diminuiu, mas ainda ta dando coisa estranha. O codigo abaixo, por exemplo, nao ta passando. Lembrando q no xharbour passa que é uma beleza. Ele ta reclamando da linha 298 q é justamente o primeiro Loop q tem apos o EndSequence. Nao sei o q este codigo tem de errado...

Código: Selecionar todos

   For i=1 TO vNUMPAR   

	   vVALPAR   := vVALTIT / vNUMPAR

	   @ lin,16 Say StrZero(i,2)
      
      Do While .t.
      @ lin,23 Get vDATVEN
      Read
      
         If Lastkey() = 27
         	Loop
         Endif

			If vDATVEN < vDATEMI
				MSG("VENCIMENTO MENOR QUE A EMISSAO DO TITULO")
				Loop
		   Endif
            
   	   Begin Sequence
   	   
   	   Do While .t.
   	   @ lin,36 Get vVALPAR Pict "@E 999,999.99"
			Read

   	      If Lastkey() = 27
   	      	Exit
   	      Endif

				If vVALPAR > vVALTIT
					MSG("PARCELA MAIOR QUE O TOTAL DO TITULO")
					Loop
				Endif

   	   Do While .t.
   	   @ lin,49 Get vDATPAG
   	   Read
	
   	      If Lastkey() = 27
   	      	Exit
   	      Endif
	
				If !Empty( vDATPAG )
					If vDATPAG < vDATEMI
						MSG("PAGAMENTO MENOR QUE A EMISSAO DO TITULO")
						Loop
					Endif
				Endif

			Break
			Enddo ; Enddo
			End Sequence
		
			If LastKey() = 27
				Loop
			Endif

   	 	lin := lin + 1
   	  	aAdd( mParcelas, { vDATVEN, vVALPAR, vDATPAG })
   	   
   	  	vDATVEN := mParcelas[i,1] + 30
		   vDATPAG := Ctod("")
   	   nSOMA   := nSOMA + vVALPAR
 	
			Exit
		
		Enddo

   Next
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Imatech
Usuário Nível 3
Usuário Nível 3
Mensagens: 350
Registrado em: 24 Ago 2010 23:48
Localização: Goiânia-GO

Problema migranção xharbour => harbour

Mensagem por Imatech »

Tente novamente...

HARBOUR é exigente com o código...
A sintaxe de comandos e funções tem que ser exata... ;)

Enddo ; Enddo: Tambem não pode usar assim...

Código: Selecionar todos


PROC F_TESTE()
  LOCAL i := 0
  LOCAL lin := 10
  LOCAL vVALPAR := 0
  LOCAL vDATEMI := DATE()
  LOCAL vDATPAG := DATE()
  LOCAL vDATVEN := DATE()
  LOCAL vNUMPAR := 1
  LOCAL vVALTIT := 1

  For i := 1 TO vNUMPAR

    vVALPAR := vVALTIT / vNUMPAR

    @ lin,16 Say StrZero(i,2)

    Do While .t.
      @ lin,23 Get vDATVEN
      Read

      If Lastkey() == 27
        Loop
      Endif

      If vDATVEN < vDATEMI
        MSG("VENCIMENTO MENOR QUE A EMISSAO DO TITULO")
        Loop
      Endif

      Begin Sequence

        Do While .t.

          @ lin,36 Get vVALPAR Pict "@E 999,999.99"
          Read

          If Lastkey() == 27
            Exit
          Endif

          If vVALPAR > vVALTIT
            MSG("PARCELA MAIOR QUE O TOTAL DO TITULO")
            Loop
          Endif

          Do While .t.
            @ lin,49 Get vDATPAG
            Read

            If Lastkey() == 27
              Exit
            Endif

            If !Empty( vDATPAG )
              If vDATPAG < vDATEMI
                MSG("PAGAMENTO MENOR QUE A EMISSAO DO TITULO")
                Loop
              Endif
            Endif

            Break
          Enddo
        Enddo
      End Sequence

      If LastKey() == 27
        Loop
      Endif

      lin := lin + 1
      aAdd( mParcelas, { vDATVEN, vVALPAR, vDATPAG })

      vDATVEN := mParcelas[i,1] + 30
      vDATPAG := Ctod("")
      nSOMA := nSOMA + vVALPAR

      Exit

    Enddo

  Next

RETURN

M., Ronaldo

by: IMATECH

IMATION TECNOLOGIA
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Problema migranção xharbour => harbour

Mensagem por janio »

Amigo,

Obrigado. Parece que é isso mesmo: O harbour nao aceita Enddo ; Enddo... na mesma linha. O bixo é exigente de mais heheheheh

Continuando aki...

Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Responder