Página 2 de 2

Libs xHarbour 1.2.1

Enviado: 13 Abr 2022 21:58
por Linguagemclipper
Estou procurando a lib: hbjson.lib
Eu uso o xHarbour 1.2.1
Não encontro de jeito nenhum. Só achei o hbjson.c no https://github.com/harbour/core/blob/ma ... l/hbjson.c que é do Harbour
Como eu poderia compilar ele para se tornar uma lib do xharbour eu não sei.
Alguém pode me ajudar?

É para fins de usar os serviços de https://www.cnpja.com/

Libs xHarbour 1.2.1

Enviado: 13 Abr 2022 22:17
por Itamar M. Lins Jr.
Olá!
2011-02-24 23:36 UTC+0700 Andi Jahja <xharbour/AT/telkom/net/id>
+ include/hbjson.h
+ source/rtl/hbjson.c
! JavaScript Object Notation (JSON) routines borrowed from Harbour
Está no xHb desde essa data ai.

Atenção, não precisa colocar a mesma msg no forum todo.

Saudações,
Itamar M. Lins Jr.

Libs xHarbour 1.2.1

Enviado: 13 Abr 2022 22:28
por Linguagemclipper
ok, como faço pra compilar a respectiva lib?

Libs xHarbour 1.2.1

Enviado: 14 Abr 2022 12:35
por JoséQuintas
Linguagemclipper escreveu:ok, como faço pra compilar a respectiva lib?
Não faz.
Itamar M. Lins Jr. escreveu:2011-02-24 23:36 UTC+0700 Andi Jahja <xharbour/AT/telkom/net/id>
+ include/hbjson.h
+ source/rtl/hbjson.c
! JavaScript Object Notation (JSON) routines borrowed from Harbour
Se está em source/rtl, faz parte do núcleo do xHarbour.
Baixe a versão mais recente do XHarbour e pronto.

Se é pra apanhar com uma versão da LIB duvidosa, melhor ir direto pra versão mais recente do XHarbour que já tem isso.

Libs xHarbour 1.2.1

Enviado: 14 Abr 2022 15:00
por frazato
Tarde!
faz parte xharbour 1.2.3!
Uso desta forma.

Código: Selecionar todos

   hHash2 := Hash()


   
   hb_jsondecode( Linha,@hHash2 )
            
   IF VALTYPE(hHash2) != 'H'
     *Alert( 'Algo deu errado, verifique Endereço/token da API')
      RETURN(.F.)
   ENDIF 
   
   IF len(hHash2)<0
      *Alert('Algo deu errado, verifique Endereço/token da API ou retorno vazio, tente novamente')
      RETURN(.F.)
   ENDIF 

   IF HHasKey( hHash2, 'accountStatus' ) // True
      If hHash2['accountStatus']  // True
	 if HHasKey( hHash2, 'state' ) 
   	    If hHash2['state']=='connected'
	       Return .t. // Concentaro
	    Endif
	  Endif
      Endif
   ENDIF
Mudei o meu xHarbour de 0.99 para esse apenas para fazer uso desta função, apesar que tem uma Quintas que faz leitura de JSON!

Frazato

Libs xHarbour 1.2.1

Enviado: 02 Jun 2022 14:03
por Linguagemclipper
xHarbour v1.2.1: https://sourceforge.net/projects/xharbour/
Link direto: https://sourceforge.net/projects/xharbo ... t/download

O xHarbour 1.2.3 dá problema com meu sistema de impressão, não imprime nada, já com a versão 1.2.1 imprime normalmente. Não é a gente que complica, Quintas!

Para transformar um JSon para hash tem uma rotina feita em [x]Harbour mesmo e funciona perfeitamente. Basta ler o JSon com memoread() e passar como parâmetro pra ela.
Vejamos:

Código: Selecionar todos

Function JSontoHash( cStringJson )
/***
* Converte string formato Json em Hash
*/
Local hJson := {=>}
cStringJson := StrTran( cStringJson,':[','=>{')
cStringJson := StrTran( cStringJson,'":"','" => "')
cStringJson := StrTran( cStringJson,'[','{')
cStringJson := StrTran( cStringJson,']','}')
cStringJson := StrTran( cStringJson,'":null','"=>nil')
cStringJson := StrTran( cStringJson,'":true' ,'"=>.t.' )
cStringJson := StrTran( cStringJson,'":false','"=>.f.')
cStringJson := StrTran( cStringJson,'":','"=>')
cStringJson := StrTran( cStringJson,"\/","/" )
hJSon := &( cStringJson )
Return hJson