-
Posts
1,609 -
Joined
-
Last visited
-
Days Won
88
Posts posted by emotta
-
-
Muito triste a noticia.
Com seu forum ajudou a muitos ! Deixou um legado. Todo respeito ao Toledo.
Que Deus conforte a familia.
-
o negócio e nem depender mais que outros façam o build, basta fazer um git clone do projeto xharbour e compilar você mesmo.
outra sugestão é dar um fork no repositório do xharbour no github e ter o seu clone e eventualmente ir pareando com o oficial.
eu sigo fazendo assim desde agosto, qdo o Ron disponibilizou tudo no github.
-
tem algo errado nas suas libs, vc copiou algo de alguma outra versão?
uso hb_sha256 a muitos anos, é default do xharbour, nem precisa ser o comercial.
-
coloque no inicio do seu fonte o ch de compatibilidade
#include "hbcompact.ch"
ou então, ao vez de colocar o include acima, cole as 2 linhas abaixo no inicio do seu fonte:
#xtranslate hb_ReadIni([<x,...>]) => hb_iniReadStr(<x>)
#xtranslate hb_WriteIni([<x,...>]) => hb_iniWriteStr(<x>) -
Marcio, esse tipo de situação se resolve com expressão regular.
Infelizmente não vou conseguir te ajudar muito pois esse é um assunto que não domino, nas poucas vezes que precisei eu estudei o assunto, resolvi e como uso muito pouco acabo esquecendo como funciona de fato. Já usei pra validar email (por exemplo) e algumas outras coisas pontuais.
Se quiser estudar o assunto pesquise sobre a função HB_RegExAll, ou pesquise sobre expressão regular, esse é um conceito que existe em todas as linguagens que programação.
Veja tb o link abaixo no wikipedia explicando o que é:
Expressão regular – Wikipédia, a enciclopédia livre (wikipedia.org)
-
Ta sumido Vagner, apareça mais amigo.
4 horas atrás, vagner disse:Por favor coloque o erro para que os outros possam saber, eu tenho uma impressão que seria o "ASC"
Abraços
Vagner Wirts
*Ele não sabendo que era impossível, foi lá e fez
-
o ASC no final? não acredito que seja pois apenas indica que quer a ordem ASCENDENTE.
Mas Ascendente é o default, então não é necessário, mas pode ser que o SQLRDD inclua isso automaticamente, sem o controle do desenvolvedor.
De qq maneira não creio que seja esse o erro.
-
Legal
Sempre que dá esse tipo de erro eu pego a queria e executo direto no banco de dados, no meu caso sql server.
-
Se vc pegar essa query e rodar direto no Firebird, ela funciona?
Aparentemente esse erro não é da linguagem.
-
2 horas atrás, Somzeira disse:
eu já postei a função, é essa acima CallEndPoint
-
infelizmente não da pra eu pegar pra ver isso já que a mesma dificuldade que eu teria vc tb teria, que é pesquisar como colocar os parametros do CURL chamando direto para MSXML2.ServerXMLHTTP.6.0
o máximo que consigo é realmente disponibilizar a função que fiz já a alguns anos, baseados em outros exemplos que não lembro agora, mas que uso em produção e perfeitamente funcional.
Então a garantia q vc tem é q a função está funcionando perfeitamente, o seu desafio é entender como passar os parametros que hj vc tem usando CURL para o json.
-
6 horas atrás, kapiaba disse:
Se for no PROGRAMA DE FOLHA DE PAGAMENTOS, salvo engano, isso é permitido. Pero, como faz 150 anos que não trabalho mais nesta área, não tenho certeza, agora NO PONTO ELETRÔNICO, NEM A PAU JUVENAL. abs.
Abs.
Regards, saludos.
A questão nem é ser proibido. Quanto mais informações pessoais vc tem, mais responsabilidade vc tem, então o ideal é ter somente o que e necessário
Pra ponto não é necessário as informações que citei, tiramos outras tb, e deixamos de informação pessoal somente o que precisa. Essa regra vale pra todos os tipos de sistema em relação a lgpd.
A regra é: não precisa da informação, tira fora.
Outro erro comum é pensar informações de empresa entram tb na lgpd. Lgpd é somente de pessoas
-
O que você precisa fazer é no seu contrato com o cliente especificar quais informações o seu sistema armazena. Feito isso o cliente (usuário do sistema) tem que tomar as medidas para pegar o consentimento de tais informações com os respectivos donos. Lembrando que LGPD é somente sobre dados de pessoas (nunca empresa).
O correto é você fazer uma limpa em seu sistema e retirar campos que não sejam necessários. Vou te dar um exemplo meu: Tínhamos no cadastro de funcionários os campos Nome do Pai e Nome da Mãe. Como entendemos que esses campos não são necessários para fazer a gestão de ponto e frequência, nós retiramos os campos do cadastro.
Alguns clientes reclamaram, explicamos o motivo que é pra segurança do próprio cliente, todos entenderam e aceitaram a retirada das informações.
Qualquer dado que possa identificar uma pessoa deve ter cuidado dobrado no sistema (nome, cpf, rg, email, etc). E os dados que contem informações pessoais, como religião, opção sexual, etc, esses mais cuidado ainda.
Mas na pratica tudo se resume ao que eu disse acima: Em contrato deixe claro ao cliente quais campos que identificam uma pessoa no sistema você tem em seu sistema. Se tiver duvida de como colocar isso em seu contrato, faça como o Kapiaba disse acima, procure um advogado pra reformular o seu contrato.
abraços
-
Function TestApi()Local aHeader := {}Local cLink := "https://api-hmg.lecupon.com/client/v2/businesses/123123/authorized_users"Local nStatus_codeaadd(aHeader, {"X-ClientEmployee-Email", "seuemail@email.com"})aadd(aHeader, {"X-ClientEmployee-Token", "auth_token"})aadd(aHeader, {"accept", "application/json"})cResp := CallEndPoint("GET", cLink, "", aHeader, @nStatus_code)? nStatus_code? nStatus_codeReturnStatic Function CallEndPoint(cMode, cLink, cJSon, aHeader, nStatus_code)Local cResp := ""Local nIStatic oHTTPnStatus_code := 0If aHeader == NILaHeader := {{"Content-Type","application/json" }}EndIfIf oHTTP == niloHTTP := CreateObject( "MSXML2.ServerXMLHTTP.6.0" )oHTTP:SetTimeouts(600000, 600000, 600000, 600000)EndIfoHTTP:Open( cMode, cLink, .F. )For nI := 1 to Len(aHeader)oHTTP:SetRequestHeader( aHeader[nI,1],aHeader[nI,2] )NextTryoHTTP:Send(cJson)while oHTTP:readyState # 4oHTTP:waitForResponse(1000)Inkey(.1)enddonStatus_code := oHTTP:statuscResp := oHTTP:responseTextCatchEndoHTTP:Abort()HB_GCALL()Return cResp
-
Você está colocando um MSGINFO dentro de um BEGIN/END TRANSACTION, vc nunca deve fazer isso pois se acontece algum erro a mensagem será apresentada na tela e até o usuário dar ok a sua transação fica aberta e isso gera um lock no banco.
Outro detalhe é que você deve fazer suas transações de forma que se der esse tipo de erro sejam repetidas por algumas vezes. É comum o banco de dados, por algum motivo, dar por exemplo deadlock e o correto é ser feito o rollback e ser enviado o mesmo comando e então o banco aceita.
Se não sabe o que é deadlock sugiro pequisar no youtube sobre o assunto, basicamente ocorre quando uma conexão fica aguardando o unlock de outra conexão e essa outra fica aguardando o unlock da primeira conexão, ou seja, uma fica esperando a outra e o servidor do banco precisa escolher uma pra derrubar e priorizar a outra. Pesquise sobre o assunto.
Eu não trabalho com MySql, mas o que disse acima são informações úteis para qualquer banco de dados que você trabalhe. O comportamento acima é de qualquer SGDB.
Abraços
-
Instale o visual Studio conforme escrito e o acesdk (esse pede pra alguém do fórum não estou com minha máquina)
- instalar visual studio Community - https://visualstudio.microsoft.com/pt-br/downloads/
- instalar apenas DESENVOLVIMENTO PARA DESKTOP COM C++Dps execute as instruções
Importante fazer o clone do xharbour a partir da raiz do drive C: ficando c:\xharbour
Dps é só executar os comando que descrevi no final
Demora uns 10 minutos pra compilar a primeira vez, até parece q travou, mas não interrompa.
Outra coisa é que eventualmente, ao compilar algumas libs da erro, é só dar enter e prosseguir.
Os binários serão gerados dentro de c:\xharbour\bin\vc e tb em c:\xb\bin
As libs estão tb em c:\xharbour\lib e na xhb tb, é só procurar SQL.lib em alguma dessas pastas
Depois de gerado esses binários, pra compilar é só direcionar pra esses paths e tudo será compilado
-
- clonar repositório - c:\git clone https://github.com/ronpinkas/xharbour.git
- instalar visual studio Community - https://visualstudio.microsoft.com/pt-br/downloads/
- instalar apenas DESENVOLVIMENTO PARA DESKTOP COM C++- compilar com comandos abaixo:
cd c:\xharbour
set XBUILD_VC8=YES
set HB_DIR_ADS=c:\acesdk\acesdk
make_vc all && cd c:\xharbour\xHarbourBuilder\xHarbour-Builder && xbldfull.bat -all -
15 horas atrás, Jmsilva disse:
Aparentemente a cada dialog que cria, ele gera código em html no método oDlg: HTML () que pode ser visualizado na twebview(). Longe de aplicabilidade em app comercial.
Exatamente
-
Pelo que entendi você tem o executável em FWH e dentro dele abre páginas WEB, ou seja, vc tem um browser dentro do seu sistema. É isso mesmo?
-
6 minutos atrás, infosys2 disse:
O Marcos gambeta adicionou ao seu repositório do hb++, e dá pra ser compilado com o harbour 3.2 e 3.4, assim como também já removeu a dependência do bison pra compilar o mesmo, e disse que pretende remover a dependência de usar o xhb.hbp na compilação, o que seria ideal também.
Está caminhando, em breve acredito que vai estar no repositório do harbour na pasta contrib.Baixe os fontes já corrigidos para harbour aqui neste link:
fantástico !
-
-
Em 20/08/2023 at 18:59, infosys2 disse:
coloca ai este arquivo sqly.h para mim fazer um teste
Compilando com este esta linha de comando aqui : hbmk2 -xhb sqlrdd.hbp
Error E2209 sqllex.c 16: Unable to open include file 'sqly.h' Error E2147 sqllex.c 23: 'YYSTYPE' cannot start a parameter declaration Error E2147 sqllex.c 31: 'YYSTYPE' cannot start a parameter declaration Error E2147 sqllex.c 42: 'YYSTYPE' cannot start a parameter declaration Error E2451 sqllex.c 71: Undefined symbol 'ERRORVAL' in function sqlyylex Error E2451 sqllex.c 77: Undefined symbol 'ERRORVAL' in function sqlyylex Error E2451 sqllex.c 82: Undefined symbol 'ERRORVAL' in function sqlyylex Error E2288 sqllex.c 93: Pointer to structure required on left side of -> or ->* in function sqlyylex Error E2451 sqllex.c 95: Undefined symbol 'ERRORVAL' in function sqlyylex Error E2451 sqllex.c 102: Undefined symbol 'INTEGERVAL' in function sqlyylex Error E2288 sqllex.c 107: Pointer to structure required on left side of -> or ->* in function sqlyylex Error E2451 sqllex.c 109: Undefined symbol 'ERRORVAL' in function sqlyylex Error E2451 sqllex.c 116: Undefined symbol 'REALVAL' in function sqlyylex Error E2288 sqllex.c 142: Pointer to structure required on left side of -> or ->* in function sqlyylex Error E2288 sqllex.c 143: Pointer to structure required on left side of -> or ->* in function sqlyylex Error E2451 sqllex.c 145: Undefined symbol 'STRINGVAL' in function sqlyylex Error E2451 sqllex.c 150: Undefined symbol 'ERRORVAL' in function sqlyylex Error E2288 sqllex.c 163: Pointer to structure required on left side of -> or ->* in function sqlyylex Error E2288 sqllex.c 164: Pointer to structure required on left side of -> or ->* in function sqlyylex Error E2451 sqllex.c 166: Undefined symbol 'QUOTED_IDENT' in function sqlyylex Error E2451 sqllex.c 170: Undefined symbol 'ERRORVAL' in function sqlyylex Error E2288 sqllex.c 180: Pointer to structure required on left side of -> or ->* in function sqlyylex Error E2288 sqllex.c 181: Pointer to structure required on left side of -> or ->* in function sqlyylex Error E2451 sqllex.c 183: Undefined symbol 'DATEVAL' in function sqlyylex Error E2451 sqllex.c 186: Undefined symbol 'ERRORVAL' in function sqlyylex Error E2451 sqllex.c 194: Undefined symbol 'BINDVAR' in function sqlyylex Error E2288 sqllex.c 201: Pointer to structure required on left side of -> or ->* in function sqlyylex Error E2451 sqllex.c 203: Undefined symbol 'OPERATOR' in function sqlyylex Error E2288 sqllex.c 208: Pointer to structure required on left side of -> or ->* in function sqlyylex Error E2451 sqllex.c 210: Undefined symbol 'OPERATOR' in function sqlyylex Error E2288 sqllex.c 215: Pointer to structure required on left side of -> or ->* in function sqlyylex Error E2451 sqllex.c 217: Undefined symbol 'ASTERISK' in function sqlyylex Error E2288 sqllex.c 222: Pointer to structure required on left side of -> or ->* in function sqlyylex Error E2451 sqllex.c 224: Undefined symbol 'OPERATOR' in function sqlyylex Error E2288 sqllex.c 234: Pointer to structure required on left side of -> or ->* in function sqlyylex Error E2451 sqllex.c 236: Undefined symbol 'EQUALS' in function sqlyylex Error E2288 sqllex.c 243: Pointer to structure required on left side of -> or ->* in function sqlyylex Error E2451 sqllex.c 245: Undefined symbol 'COMPARE' in function sqlyylex Error E2288 sqllex.c 247: Pointer to structure required on left side of -> or ->* in function sqlyylex Error E2451 sqllex.c 249: Undefined symbol 'COMPARE' in function sqlyylex Error E2288 sqllex.c 256: Pointer to structure required on left side of -> or ->* in function sqlyylex Error E2451 sqllex.c 258: Undefined symbol 'COMPARE' in function sqlyylex Error E2288 sqllex.c 262: Pointer to structure required on left side of -> or ->* in function sqlyylex Error E2451 sqllex.c 264: Undefined symbol 'COMPARE' in function sqlyylex Error E2288 sqllex.c 266: Pointer to structure required on left side of -> or ->* in function sqlyylex Error E2451 sqllex.c 268: Undefined symbol 'COMPARE' in function sqlyylex Error E2288 sqllex.c 275: Pointer to structure required on left side of -> or ->* in function sqlyylex Error E2451 sqllex.c 277: Undefined symbol 'COMPARE' in function sqlyylex Error E2451 sqllex.c 279: Undefined symbol 'NOT' in function sqlyylex Error E2288 sqllex.c 284: Pointer to structure required on left side of -> or ->* in function sqlyylex Error E2228 sqllex.c 284: Too many error or warning messages in function sqlyylex *** 51 errors in Compile *** hbmk2[sqlrdd]: Erro: Executando compilador C/C++. 2 bcc32.exe -c -q -CP437 -d -O2 -OS -Ov -Oc -Oi -6 -tWM -w -Q -w-sig- -n.hbmk\win\bcc -Ic:\bcc7\Include -Ic:\bcc7\Include\dinkumware -Ic:\bcc7\Include\windows\crtl -Ic:\bcc7\Include\windows\rtl -Ic:\bcc7\Include\windows\sdk -IC:\harbour32\include -I.hbmk\win\bcc -I. sqlact.c sqllex.c
não adianta eu mandar o meu, ele tem que gerar corretamente, quem gera o BISON. Mas ainda estou trabalhando pra conseguir compilar xharbour open source e sqlrdd de acordo com o repositório que o ron postou no git
quando conseguir vou ver se consigo clarear um pouco esse trabalho de compilação que é bem complexo.
-
só pra ficar registrado aqui e ajudar alguem que também estava com este problema.
eu já tinha instalado o gnu BISON mas ele estava no meu drive C
a compilação do projeto eu estava fazendo no drive G
então só precisei copiar a pasta c:\GnuWin32 para g:\GnuWin32 de forma que o arquivo g:\GnuWin32\bin\bison.exe fosse encontrado pelo xBuildw e gerou o sqly.h
agora estou com outros problemas que estou investigando
-
mesma coisa pra mim.
está dando falta do arquivo sqly.h
se encontrar este arquivo poderemos compilar os demais
Calcular quantos minutos o item foi lançado na comanda/pedido
in Programação
Posted
Elaptime já controla virada de dia, segue um exemplo simples pra fazer o que vc precisa (o exemplo abaixo só não vai funcionar se a pessoa ficar mais de 24 horas na mesa, se ficar até 23h 59m na mesa da certo)