Jump to content
Fivewin Brasil

oribeiro

Membros
  • Posts

    1,291
  • Joined

  • Last visited

  • Days Won

    35

Reputation Activity

  1. Like
    oribeiro got a reaction from aferra in Atualizar dados no xBrowse   
    Consegui, tinha um comando na aplicação que não deixava pesquisar.
    Era esse aqui:
     FW_SetUnicode( .T. )       // Essa função não deixa pesquisar acentos no MySQL (não usar)

    Obrigado a todos.
  2. Like
    oribeiro got a reaction from rochinha in ACBRLIB ou melhor ACBRDLL   
    Boa tarde, Rochinha.
    Eu baixei os fontes do ACBrLib e compilei com o Lazarus.
    Está tudo funcionando perfeitamente, inclusive o envio direto para a impressora, sem o preview.
    Aqui as LIBs do ACBr de NF-e, CT-e, SAT e Mail estão rodando 100%
    É muito fácil baixar os fontes e criar as DLLs com o Lazarus. 
  3. Like
    oribeiro got a reaction from rochinha in ACBRLIB ou melhor ACBRDLL   
    Configurei as três classes NF-e, SAT e CT-e para xHarbour seguindo o exemplo do site do ACBr. 
    Está tudo rodando perfeitamente. É muito mais rápido e funcional que o ACBrMonitor por não haver troca de arquivos.
  4. Like
    oribeiro got a reaction from rochinha in ACBrLibSat Windows - x86/x64   
    Pessoal, estou terminando as rotinas para uso das DLL do ACBr para (NFe, SAT e CTe). Agora apenas com alguns poucos erros. Se precisarem de ajuda, conte comigo. Já trilhei o caminho mais difícil com a ajuda do Jorge.
  5. Like
    oribeiro got a reaction from Jmsilva in ACBRLIB ou melhor ACBRDLL   
    Pessoal,
    Estou com as rotinas do ACBrNFe32.Dll e ACBrSAT32.Dll funcionando, vou trabalhar agora com o ACBrCTe32.Dll. Daí eu deixarei o ACBrMonitorPLUS no banco de reservas. 
    Se precisarem de ajuda. Avisem.
     
  6. Like
    oribeiro got a reaction from rochinha in Desativação dos protocolos SSL, TLS 1.0 e TLS 1.1   
    João,
    Com SMTPSend.exe eu consegui enviar email de HotMail e OutLook.
    Assim:
    ******************************************************************************************** Function EnviaHotMail( cDe, cPara, cMensagem, cCC, cBCC, cSMTP, cAssunto, cAnexo, cSenhMail ) ******************************************************************************************** TRY cFileName := "htm.txt" // Cria arquivo HTML com a Mensagem MemoWrit(cFileName, cMensagem) cFileTxt := "cmd.txt" // Cria arquivo TXT para o Comandos cFileRet := "ret.txt" // Cria arquivo TXT para o Retorno MemoWrit(cFileTxT, "-f" +cDe +CRLF+; "-t" +cPara +CRLF+; "-c" +cCC +CRLF+; "-b" +cBCC +CRLF+; "-h" +cSMTP +CRLF+; "-s" +cAssunto +CRLF+; "-a" +cAnexo +CRLF+; "-mbhi"+cFileName +CRLF+; "-lu" +cDe +CRLF+; "-lp" +cSenhMail +CRLF+; "-mfH" +CRLF+; "-dNFSD" +CRLF ) MyRun(pPath+"SmtpSend.Exe -@" + cFileTxt + " >"+cFileRet, 0) // Executa o smtpsend.exe lRet := iif("Message sent!"$memoread(cFileRet), .T., .F.) // Verifica o Retorno FErase( cFileName ) // Apaga arquivo HTML FErase( cFileTxt ) // Apaga arquivo TXT FErase( cFileRet ) // Apaga arquivo Retorno SysRefresh() CATCH oError lRet := .F. END lRet:=.T. ******************************************************************************************** Function MYRUN( cComando ) // MsgRun(): Executa um comando DOS e espera até terminar. ******************************************************************************************** Local oShell, Ret oShell := CreateObject( "WScript.Shell" ) Ret := oShell:Run( "%comspec% /c " + cComando, 0, .t. ) oShell := Nil Return If( Ret=0, .t., .f. )  
  7. Like
    oribeiro got a reaction from rochinha in Desativação dos protocolos SSL, TLS 1.0 e TLS 1.1   
    Maravilha Rochinha.
    Agora eu consigo enviar do Hotmail e Outlook com o SMTPSend.exe.
    Obrigado.
  8. Like
    oribeiro got a reaction from evertonlb in Envio de SMS - Pronto   
    Me cadastrei e dei uma olhada no site. O serviço me interessa.
    Você tem um exemplo de integração usando Fivewin + xHarbour?
  9. Like
    oribeiro got a reaction from kapiaba in Consulta NFe pela Chave   
    Certo João,
    A função NFe_ChecaPortal( cChave, 2 ) deu  certinho para a consulta. 
    Obrigado.
  10. Like
    oribeiro got a reaction from kapiaba in Instalador de Programas.   
    João,
    Eu uso esse software somente para instalar os executáveis e as bibliotecas necessárias para rodar o sistema.
    O meu executável é que verifica se o banco de dados existe ou não, verifica se houve alteração no layout das tabelas, etc.
    Mas eu acho que o que você quer está na última aba do instalador chamada "Outros". Lá atem origem, destino e o que fazer se existir.
    Se não conseguir com essa versão, baixe a versão mais recente desse utilitário que ela está bem mais completa. Sucesso!
  11. Like
    oribeiro got a reaction from kapiaba in Instalador de Programas.   
    Uso a anos o CreateInstall que é leve, simples e eficiente.
    https://www.createinstall.com/
  12. Like
    oribeiro got a reaction from Valdir in xBrowse com Gráfico   
    Pessoal, 
    Desenvolvi uma função para criar um Browse com gráfico.
    ********************************************************************************************* Function xBrwChart(cTitu, aHead, aData) // BROWSE COM GRÁFICO (Oscar 16/08/2019) ********************************************************************************************* // Exemplo: // cTitu := "Demonstratico de Compras x Vendas nos últimos 6 meses." // aHead := {"Descrição", "Jan/19", "Fev/19", "Mar/19", "Abr/19", "Mai/19", "Jun/19"} // aData := {{"Compras" , 100 , 200 , 300 , 50 , 100 , 400 },; // {"Vendas" , 0 , 100 , 500 , 150 , 100 , 400 }} // xBrwChart(cTitu, aHead, aData) Local oDlg, oBrw, oFont, i, aChart:={} Default cTitu := "Título" Default aHead := {} // Cabeçalho Default aData := {} // Dados DEFINE FONT oFont NAME "Segoe UI" SIZE 0,-16 DEFINE DIALOG oDlg SIZE 1200,580 PIXEL TRUEPIXEL FONT oFont TITLE cTitu TRANSPARENT STYLE nOr( WS_CAPTION, WS_THICKFRAME, WS_SYSMENU, WS_MAXIMIZEBOX ) @ 75,20 XBROWSE oBrw SIZE -20,-20 PIXEL OF oDlg DATASOURCE aData AUTOCOLS HEADERS aHead CELL LINES FOOTERS NOBORDER FASTEDIT For i=2 To Len(aHead) AAdd(aChart, aHead[i]) // Separa os valores para o gráfico a partir da segunda coluna oBrw:aCols[ i ]:cEditPicture := '@E 999,999,999.99' // Formata os valores do gráfico com duas casas decimais Next WITH OBJECT oBrw:AddCol() // Adiciona uma coluna com o gráfico :cHeader := "CHART" :aChartCols := aChart :nWidth := 190 END oBrw:bClrStd := {|| {CLR_BLACK, iif(oBrw:Keyno()%2=0, CLR_WHITE, RGB(236,236,236)) } } // Cores nas linhas (Par/Impar) ou (oBrw:cAlias)->(RecN())%2=0 oBrw:nRowHeight := 50 oBrw:CreateFromCode() @ 21, 20 BTNBMP PROMPT { || If( oBrw:Chart:cChartType == "LINE", "&Gráfico de Barras", "&Gráfico de Linhas" ) } ; SIZE 130,30 PIXEL OF oDlg FLAT ; ACTION ( oBrw:Chart:cChartType := If( oBrw:Chart:cChartType == "LINE", "BAR", "LINE" ), oBrw:Refresh(), oBrw:SetFocus() ) @ 21,160 BTNBMP PROMPT "&Imprimir" ; SIZE 130,30 PIXEL OF oDlg FLAT ; WHEN oBrw:oRightCol == nil ACTION oBrw:Report() @ 21,300 BTNBMP PROMPT "&Fechar" ; SIZE 130,30 PIXEL OF oDlg FLAT ; ACTION oDlg:End() Cancel oDlg:bResized := {||(oBrw:nHeight:=oDlg:nHeight()-85,oBrw:nWidth:=oDlg:nWidth()-55,oBrw:Resize())} // Redimensiona o Browse conforme o tamanho do Dialog ACTIVATE DIALOG oDlg CENTERED RELEASE FONT oFont Return nil  
  13. Like
    oribeiro got a reaction from Jorge Andrade in ACBRLIB ou melhor ACBRDLL   
    Eu uso o ACBr Monitor faz muito tempo e gosto muito dele, se a DLL ou LIB tiver todos os recursos do monitor e as atualizações simultâneas as do monitor eu migrarei. Confirme, por favor, com o RAFAEL sobre as atualizações.
  14. Like
    oribeiro got a reaction from Jorge Andrade in ACBRLIB ou melhor ACBRDLL   
    Eu tenho interesse. Como faço para começar?
  15. Like
    oribeiro got a reaction from kapiaba in Problemas: ntdll, Method bKeyDown   
    Resolvi! Era uma função que eu tinha incluído no final do ano passado na windows principal que criava as teclas de atalho que estava interferindo no oLbx:nKeyDown.
    Obrigado.
  16. Like
    oribeiro got a reaction from kapiaba in C para xHarbour   
    Eita João,
    Você me ajudou muito!
    Só faltava colocar .T. como segundo parâmetro do hb_sha1().
    // CRIAR HashCSRT // wCSRT := "G8063VRTNDMO886SFNK5LDUDEI24XJ22YIPO" wChave := "41180678393592000146558900000006041028190697" codigo := wCSRT + wChave codigo1 := hb_sha1(codigo, .T.) codigo2 := HB_Base64encode(codigo1, Len(codigo1)) Msginfo( codigo1+chr(13)+chr(13)+"Modelo: aWv6LeEM4X6u4+qBI2OYZ8grigw="+chr(13)+chr(13)+"Gerado: "+codigo2, "HB_base64encode() -> Tamanho: "+str(len(codigo2)) ) Muito obrigado, mais uma vez.
  17. Like
    oribeiro got a reaction from frkiko in HashCSRT   
    Valdir,
    Cheguei no resultado com a ajuda do João.
    // CRIAR HashCSRT // wCSRT := "G8063VRTNDMO886SFNK5LDUDEI24XJ22YIPO" wChave := "41180678393592000146558900000006041028190697" codigo := wCSRT + wChave codigo1 := hb_sha1(codigo, .T.) codigo2 := HB_Base64encode(codigo1, Len(codigo1)) Msginfo( codigo1+chr(13)+chr(13)+"Modelo: aWv6LeEM4X6u4+qBI2OYZ8grigw="+chr(13)+chr(13)+"Gerado: "+codigo2, "HB_base64encode() -> Tamanho: "+str(len(codigo2)) )  
  18. Like
    oribeiro got a reaction from Valdir in HashCSRT   
    Valdir,
    Coloquei uma função em C# noutro tópico que se alguém conseguir entender e criar uma no xHarbour o nosso problema estará resolvido.
     
     
  19. Like
    oribeiro got a reaction from kapiaba in LogOff ao fechar o sistema (resolvido)   
    Aí João,
    Resolveu 100%.
    Muito obrigado.
  20. Like
    oribeiro got a reaction from kapiaba in Contador de Registros   
    Obrigado João,
    Mas essa função retorna a quantidade de campos de uma tabela, eu preciso do número de registros ativos dela.
    FCount: - The function returns a numeric value which is the number of field variables available in a work area. If a work area is not used, the return value is zero.
  21. Like
    oribeiro got a reaction from kapiaba in INDEX MEMORY / TEMPORARY   
    Achei as respostas nesse link: http://www.pctoledo.com.br/forum/viewtopic.php?f=4&t=16714
    1ª) Tanto faz MEMORY ou TEMPORARY
    2ª) Quando fecho o arquivo o indice temporário é apagado automaticamente, mas se eu quiser apagá-lo sem fechar o arquivo, basta usar  OrdDestroy( "nome_do_arquico_temporario" )
    Obrigado.
  22. Like
    oribeiro got a reaction from kapiaba in ALTERNATIVA A FUNÇÃO FILE()   
    Dei uma melhorada na função.
    Execute assim para permitir que o usuário abandone a função caso não houver retorno do arquivo:
    MsgWait1( "Aguarde o retorno do arquvo"+cFile, "Aguarde o retorno", 30, .T., {||File( cFile )} ) Se o usuário não puder cancelar e deve esperar até o arquivo aparecer na pasta, então faça assim:
    MsgWait1( "Aguarde o retorno do arquvo"+cFile, "Aguarde o retorno", 30, .F., {||File( cFile )} ) A diferença está no quarto parâmetro .T. ou .F.
    O legal dessa função é que mostra para o usuário que o sistema não está travado. É o que eu queria fazer com o MSGRUN()
    Confira.
    ******************************************************************************************* Function MsgWait1( cCaption, cTitle, nSeconds, lBot, bAction ) // MsgWait com "botão" de sair e "função" -> Exemplo: MsgWait1("cCaption", "cTitle", 5, .T., {||File("xxx.txt")} ) // o code block deve retornar (.T.) ******************************************************************************************* LOCAL oDlg, oProg1, oSay, oBtn, bOk, nInicio:=0 cCaption := iif(ValType(cCaption)#"C", "Por favor, aguarde...", cCaption) // Mensagem para a janela cTitle := iif(ValType(cTitle )#"C", "(OASyS) Mensagem com espera programada.", cTitle ) // Título para a janela nSeconds := iif(ValType(nSeconds)#"N", 5, nSeconds) // Quantos segundos a janela ficará aberta lBot := iif(ValType(lBot )#"L", .F., lBot ) // O Botão de Fechar será liberado? Se informado um Code Block será será oculto. bAction := iif(ValType(bAction )#"B", "", bAction ) // Code Block a ser executado. Exemplos: {|| Funcao() } ou {|| File("ent.txt") } // A ação deve sempre retornar (.T.) no fim da execução PRIVATE n := 0 PRIVATE lBtn := .F. PRIVATE lAction := ValType(bAction)="B" PRIVATE lRet := iif(lAction, .F., .T.) DEFINE DIALOG oDlg SIZE 400,300 COLOR CLR_BLUE,CLR_HGRAY FONT oFontGet TITLE cTitle STYLE DS_MODALFRAME PIXEL @ 001,001 GROUP TO 109,199 FONT oFontSay TRANSPARENT PIXEL @ 110,001 GROUP TO 138,199 FONT oFontSay TRANSPARENT PIXEL @ 120,008 METER oProg1 VAR nInicio TOTAL nSeconds NOPERCENTAGE SIZE 145,011 PIXEL @ 120,159 BUTTON oBtn PROMPT "&Fechar" SIZE 35,12.5 ACTION lBtn:=.T. WHEN lBot PIXEL CANCEL @ 010,008 SAY oSay PROMPT cCaption SIZE 189,092 COLOR CLR_RED,CLR_HGRAY PIXEL oBtn:cToolTip:="Atenção: Se você fechar essa tela eu não vou conseguir executar a tarefa e algo pode sair errado." ACTIVATE DIALOG oDlg CENTER ON INIT oDlg:bStart:={|| Increase(oDlg, oProg1, nSeconds, bAction) } Return( lRet ) Static Function Increase(oDlg, oProg1, nSeconds, bAction) oDlg:Refresh() oProg1:Set(0) oProg1:cText := "Essa tela fechará em "+Alltrim(Str(nSeconds))+" segundos." SysRefresh() For n=0 To nSeconds oProg1:Set( n ) oProg1:cText := "Essa tela fechará em "+Alltrim(Str(nSeconds - n))+" segundos." if lAction // Se houver um code block a ser executado: if Eval( bAction ) // - Verifica se a tarefa foi executada. lRet := .T. Exit elseif lBtn .OR. n=nSeconds // - Recomeça a contagem caso não tenha executado a tarefa ainda.. if lBtn .AND. !MsgYesNo("Eu ainda não consegui terminar a tarefa que fui programado para executar, devo continuar até a conclusão?","(OASyS) Estou tentando executar uma tarefa importante.") Exit endif lBtn := .F. n := 0 oProg1:Set( n ) oProg1:cText := "Essa tela fechará em "+Alltrim(Str(nSeconds))+" segundos." endif endif if lBtn Exit endif WaitSeconds( 1 ) SysRefresh() Next oDlg:End() Return nil  
  23. Like
    oribeiro got a reaction from kapiaba in telegram   
    Consegui enviar mensagem para o Chat_Id que eu criei.
    Estou tendo dificuldade para descobrir o Chat_Id dos meus contatos. Qual é o segredo?
  24. Like
    oribeiro got a reaction from Ladinilson in NFe 4.00   
    Estou usando NF 4.0 com ACBr, ficou show de bola. Recomendo.
  25. Like
    oribeiro got a reaction from kapiaba in IrfanView: comando batuta para capturar tela.   
    Esse comando captura a tela inteira e grava no arquivo c:\temp\tela.jpg
    Vou ver se acho uma aplicação disso para o sistema. Risos
×
×
  • Create New...