Resolvido... achei que não era possível, mas pode ser feito desta forma:
LOCAL cCodigo := "00001"
LOCAL cNome := "Marcio Augusto"
LOCAL cSexo := "M"
LOCAL aResultado := Hash()
aResultado := hb_JSonEncode( { "codigo"=>cCodigo, "nome"=>cNome, "sexo"=>cSexo }, .T. )
Isso é um hash e dps transformado em JSON
esse codigo abaixo:
aResultado := hb_JSonEncode( { "codigo"=>cCodigo, "nome"=>cNome, "sexo"=>cSexo }, .T. )
é o mesmo que fazer isso:
hDados := Hash()
hDados[ "codigo"] := cCodigo
hDados[ "nome"] := cNome
hDados[ "sexo"] := cSexo
aResultado := hb_JSonEncode( hDados, .T. )
em aResultado é uma string do tipo json
{
"codigo": "00001",
"nome": "Marcio Augusto",
"sexo": "M"
}
E qdo for restaurado e cair na mão do programador?
Se ele vazar os dados vc se ferrou
A poha não tem besteira, se vc acha isso é pq ainda não entendeu a lei.
Vc pode até achar q a lei é exagerada, desnecessário, cheia de frescura e mais uma série de coisas que até concordo, mas falar q só colocar senha na hora do backup resolve vc está bem por fora....
Se poder fuja do SQLRDD, use comandos SQL nativo, tem as lib do próprio xHarbour/harbour também pra uso com SQL direto, no Harbour tem o SQLMIX que aceita alguns comando xbase e o resto SQL.
Boa tarde. eu escolheria ficar nativo. nessa sua versão tem isso. dê uma olhada em todos os fontes maria*.prg, em mariainv.prg lhe dará todo o suporte necessário pra o CRUD.
Boas práticas de hj é sobre pesquisa INCREMENTAL em TBrowse com uso BackGound - Rotina em segundo plano.
Tenho interesse por processamento paralelo e BackGround, o primeiro não consegui ainda, sei que tem parâmetros para incluir na compilação, mas não deu certo, o segundo consegui, no caso a rotina abaixo está rodando tbrowse() em uma tabela 'temp' indexada por nome, ao precionar F3 abre get para digitar e o conteúdo GET vai "Refresh() ando" no Browse.
Se curtiu tecle "Joinha"
oTB:ForceStable()
nKEY := Inkey(0)
IF nKEY == K_ESC
EXIT
ELSEIF nKEY == K_F3
/*processamento em segundo plano*/
HB_IdleAdd( {|| HB_BackGroundRun() } )
nTask := HB_BackGroundAdd( {|| RefreshTB(oTB) }, 1000 )
SET BACKGROUND TASKS ON
/*------------------------------*/
cChave := Space(35)
//BOX3DOF(14,16,18,58)
@ 14,16 clear to 18,58
DispBox(14,16,18,58,2,"n/b")
@ 16,20 GET cChave PICT "@!"
READ
HB_BackGroundDel( nTask )
oTB:RefreshAll()
Endif
**----------------------------------------------------------------------
Function RefreshTB(oTB) //fica rodando BackGround
**----------------------------------------------------------------------
Local cTela,oGet:=GetActive()
Static cLast := ''
If HB_IsObject(oGet) .and. cLast != oGet:buffer
cTela := SaveScreen(14,16,18,58)
TEMP->(DBSEEK(oGet:buffer,.T.))
oTB:RefreshAll()
oTB:ForceStable()
Restscreen(14,16,18,58,cTela)
cLast := oGet:buffer
oGet:SetFocus()
Endif
Return .t.
xHarbour/Harbour, FiveWin, SqlRdd e Pelles C - Editor xEdit
Ai povo.. a coisa qdo aperta a gente tem que se virar né?? Agora além de programar durante as noites e meia madrugada, estou trabalhando numa Telecom..
Temos uma solução bem legal pra envio de SMS, integra via API, e a ferramenta de envio conta com um CRM, qdo uma mensagem é enviada essa info vai pra uma time line, se quiser responder de dentro do "DisparoPro", pode ser feito com um box.. o lance vira um Chat praticamente. rsrsrsrsrsr Não há custo algum de integração, claro.. a única coisa que vendemos são os SMS mesmo...
se alguém tem algum interesse ou dúvida, (49)99984-3663 WhatsApp
O problema sempre vai esbarrar que o DBF tem que transitar inteiro para a outra ponta da rede. Sendo locais conectados via internet isso vai tornar lento sempre.
A solução pra melhorar isso só se for SQL e usar comandos SQL e não como uma rdd (skip/loop/dbseek/etc)
Eu uso HAMACHI até hoje para fazer teste de conexões e às vezes apresentações. O Hamachi não é lento meu amigo, o caso aí é o DBF (conforme o eMotta disse). A solução dfinitiva é ir para SQL.
Atualização, antes tinha um estouro no vetor de consulta de saldo, agora a consulta ta bacana, verifica as respostas dos SMS, abre uma janela com os filtros de telefone e data na hora da consulta, e verifica se a Internet está ativa.. Acho que tudo o que precisam para ver a DisparoPro funcionando integrada, está ai.
https://www.4shared.com/s/fRO5Md409ea
Att.
Everton
Bom dia meus amigos... Com uma ajuda do kapiaba e Vagner Nunes, que me deu um baita norte, concluí a integração com a DisparoPro.. To com os códigos ainda muito sujos.. vou dar uma limpada e comentar para deixar mais inteligível... Mas tá mandando SMS e pegando os retornos que é uma belezura. Até pensei em fazer uma LIB para ajudar quem não tem o xHb ou Hb atualizados. Nunca fiz isso, outro aprendizado!! Depois posto umas imagens!.. Se alguém quiser os fontes, me passa o e-mail ( evertonlb@gmail.com ) que eu envio hj a noite!
Att.
Everton
Bom dia meus amigos... Com uma ajuda do kapiaba e Vagner Nunes, que me deu um baita norte, concluí a integração com a DisparoPro.. To com os códigos ainda muito sujos.. vou dar uma limpada e comentar para deixar mais inteligível... Mas tá mandando SMS e pegando os retornos que é uma belezura. Até pensei em fazer uma LIB para ajudar quem não tem o xHb ou Hb atualizados. Nunca fiz isso, outro aprendizado!! Depois posto umas imagens!.. Se alguém quiser os fontes, me passa o e-mail ( evertonlb@gmail.com ) que eu envio hj a noite!
Att.
Everton
Se não conseguir agora... kkkkkkkkkkkkkkkkkk
xHarbour Language Reference Guide
https://code.google.com/archive/p/santysoft/downloads
http://www.marinas-gui.org/projects/harbour_manual/
http://www.fivetechsoft.com/harbour-docs/harbour.html
https://pt.scribd.com/doc/61362967/xHarbour-Language-Reference-Guide
https://www.xharbour.com/store/p33/OrderDocs.html
https://sourceforge.net/p/xharbour/mailman/message/16233246/
Johny, johny... "Cérebro de minhoca"? Não subestime a capacidade do colega.. é feio assim! kkkkkk
Não travou o programa nem o mouse.. e muito menos meu cérebro de minhoca!!! O mouse anda.. e clica em outras coisas ao redor do programa.. as tecas funcionam e com o TAB eu navego do software.. se eu colocar o BMP atras de um Group somente, NESTE group o mouse não clica.. mas nos outros get´s, e Btn ele clica normalmente... e em todas essas situações meu cérebro de minhoca continua funcionando... Falando em "cérebro de minhoca" .. lembrei de você há alguns dias! kkkkkkkkkk