Jump to content
Fivewin Brasil

fladimir

Membros
  • Posts

    364
  • Joined

  • Last visited

  • Days Won

    12

Posts posted by fladimir

  1. Esse ano tb foi em Curitiba e foi muito bacana, palestras diversas, inclusive fora do tema de programação, como produtividade e saúde, técnicas para desempenho, Startups e Empreendedorismo.

    Além das oficinas sobre Programação Web com PostgreSQL.

    Ano q vem será em São Paulo SP.

    Qdo tiver o local e maiores informações aviso por aki.

    Abraço.

    P.S. Faltou vc lá Jorge. Em SP não terá desculpa viu.. kkkk

  2. Eu discordo na questão de q vale a pena testar.

    Praticamente em todos os pontos nunca discordei o Leonardo (pelo menos q me lembre), respeito pra caramba, mas minha opinião nesse tópico diverge. Vou explicar.

    Se for coisa simples como exibir uma tabela, fazer uma pesquisa, algo assim, acredito q até valha a pena testar, mas pensando-se no contexto de sistemas para Web, tem muita coisa envolvida.

    Hoje trabalho e estudo uma ferramenta em paralelo q gera pra Web também, assim como outras q existem no mercado. Não vou citar o nome pq não é o objetivo, mas sim trazer um contraponto no tópico pra reflexão.

    A ferramenta, como o amigo Leonardo comentou, parece promissora e acredito q possa ser, mas estamos em 2019, a tecnologia vem mudando numa velocidade muito grande, diferentemente de 10 anos atrás, então o q deve-se pensar ao meu ver é o seguinte:

    Tenho tempo pra investir nessa ferramenta promissora q precisa ser aprimorada? Sim tenho, Ok vou investir, agora outra pergunta?

    Vale a pena investir em uma ferramenta dessas no sentido de q, trará os resultados a contento da velocidade e necessidade do mercado atual e breve futuro?

    Sinceramente acredito q seja perca de tempo pelo motivo q mesmo q a comunidade coopere violentamente, até chegar a maturidade de outros produtos q temos no mercado q já estão a anos e mesmo assim apresenta um ou outro ponto a ser contornado, muito provavel q seja um tempo perdido.

    Se entendi tudo errado ou viajei na maionese, por favor me expliquem.

    Agora respeito os colegas q pensam diferente.

    Bom final de semana a todos.

     

  3.  

    Segue Demo.PRG e tb video explicativo, espero q ajude! Abraço.

     

    FUNCTION TesteForumFive
    	LOCAL cLinha, aAnexos
    altd()	
    
    	cLinha := ""
    
    	//-- Bloco de Configuração da Conta do Email
    	cLinha += "|EMAILCONF"
    		cLinha += "|"+ ALLTRIM('smtp.gmail.com')            // smtp-mail.outlook.com|"
    		cLinha += "|"+ ALLTRIM('fivewintester@gmail.com')   // contadoemail@hotmail.com|"
    		cLinha += "|"+ hb_Base64encode('MinhaSenha123') // senha da conta
    		cLinha += "|"+ allstr(587)      // Porta Exemplo Gmail pode ser 587
    		cLinha += "|2"                        // 1= Default 2= Secured TLS  3= SSL (Obs: Para Hotmail usar 2)
    		cLinha += "|"+CRLF                    // Final da linha/bloco
        
    	//-- Bloco do Destinatario e da Mensagem
    		cLinha += "|MESSAGE"
    			cLinha += "|Fivewin Tester <fivewintester@gmail.com>"   // Quem envia   exemplo: Zezinho da Silva <zezinho@taltal.com.br>        
    			cLinha += "|fladimir_arroyo@yahoo.com.br"               // Destinatario exemplo: fulano@taltal.com.br
    			cLinha += "|Detalhes dos Movimentos dos Caixas"         // Assunto      exemplo: Detalhes do Movimento dos Caixas
    			cLinha += "|Email enviado pelo sistema"                 // Mensagem     exemplo: E-mail enviado pelo sistema
    			cLinha += "|"+ CRLF                                          // Final da linha/bloco
            
    	//-- Bloco de Anexos... caso tenha
    	
    	aAnexos := { 'd:\detalhedoscaixas.pdf' }
    	
    	IF len(aAnexos)>0
    		FOR nI:=1 to len(aAnexos)
    		cLinha += "|ATTACH"
    		cLinha += "|"+ aAnexos[nI] // Caminho do anexo exemplo: C:\Documentos\Detalhe_do_Movimento_dos_Caixas.PDF
    		cLinha += "|"+ CRLF
    		NEXT            
    	ENDIF
    	cLinha += "|FIM" +CRLF     
    	IF .NOT. File("email_100.txt")
    		Memowrit("email_100.txt", cLinha)
    	ENDIF
    	inkey(0) // Pra conferir arquivo TXT criado
    	Run WEnvMail.exe
    	Alert('Fim da rotina')
    	// fim da rotina
    	

     

  4.  

    oi... tentei executar esta rotina que vc passou, alias vlw muito obgdo por compartilhar.... mas esta dando como unresolved:

    hb_Base64encode

    hb_processOpen

    Esta funções são do xHarbour mesmo ou do Harbour? se é do harbour tem algum similar no xharbour?

     

    Segue a função correlata pra usar em xHarbour

    HB_Base64( cString, LEN( cString ) )

     

    Mas precisar inserir o código em C abaixo pra compilar junto pelo q vi

    
    HB_FUNC( HB_BASE64 )
    {
    char * szItem = hb_parc( 1 );
    int nLen = hb_parni( 2 );
    char * szRet = szItem ? base64enc( szItem, nLen ) : NULL;
  5. São do Harbour, 

    o hb_processOpen vc pode trocar por um Shellexecute algo assim, mas com parametro pra não aparecer q esta rodando, tipo rodar se aparecer janela.

    o hb_Base64Encode ... essa aki não sei como seria em xHarbour, esses tempos acho q o João ajudou alguém com um assunto semelhante, talvez ele saiba.

     

    oi... tentei executar esta rotina que vc passou, alias vlw muito obgdo por compartilhar.... mas esta dando como unresolved:

    hb_Base64encode

    hb_processOpen

    Esta funções são do xHarbour mesmo ou do Harbour? se é do harbour tem algum similar no xharbour?

     

  6. Pode tb se quiser, usar um EXE q eu criei em outra linguagem da seguinte forma

    Primeiro monta um TXT como o exemplo abaixo:

            cLinha := ""
            //-- Bloco de Configuração da Conta do Email
            cLinha += "|EMAILCONF"
              cLinha += "|"+ ALLTRIM(cServerIP)     // smtp-mail.outlook.com|"
              cLinha += "|"+ ALLTRIM(cUser)         // contadoemail@hotmail.com|"
              cLinha += "|"+ hb_Base64encode(cPass) // senha da conta
              cLinha += "|"+ allstr(vPortSMTP)      // Porta Exemplo Gmail pode ser 587
    	  cLinha += "|2"                        // 1= Default 2= Secured TLS  3= SSL (Obs: Para Hotmail usar 2)
    	  cLinha += "|"+CRLF                    // Final da linha/bloco
        
            //-- Bloco do Destinatario e da Mensagem
            cLinha += "|MESSAGE"
              cLinha += "|"+ cFrom        // Quem envia   exemplo: Zezinho da Silva <zezinho@taltal.com.br>        
              cLinha += "|"+ cQuem        // Destinatario exemplo: fulano@taltal.com.br
              cLinha += "|"+ cSubject     // Assunto      exemplo: Detalhes do Movimento dos Caixas
              cLinha += "|"+ cMsg         // Mensagem     exemplo: E-mail enviado pelo sistema
    	  cLinha += "|"+ CRLF         // Final da linha/bloco
            
            //-- Bloco de Anexos... caso tenha
            IF len(aAnexos)>0
                FOR nI:=1 to len(aAnexos)
                    cLinha += "|ATTACH"
                    cLinha += "|"+ aAnexos[nI] // Caminho do anexo exemplo: C:\Documentos\Detalhe_do_Movimento_dos_Caixas.PDF
                    cLinha += "|"+ CRLF
                NEXT            
            ENDIF
            cLinha += "|FIM" +CRLF     
    	Memowrit("email_100.txt", cLinha)            

    Exemplo de como ficaria o código acima (arquivo email_100.txt)

    |EMAILCONF|smtp-mail.outlook.com|contadoemail@hotmail.com|Y2FsdW5hdHlzdXBvcnRl|587|2|
    |MESSAGE|Zezinho da Silva <zezinho@taltal.com.br>|fulano@taltal.com.br|Detalhes do movimento dos caixas|E-mail enviado pelo sistema                                                                                                                                                                                                                                    |
    |ATTACH|D:\Sistema\PDFs\01021876_DETALHES_DO_MOVIMENTO_DOS_CAIXAS_210419103806.PDF|
    |FIM
    �

     

    Depois chamo o exe wEnvMail (ambos ficam na mesma pasta, ou seja, o wEnvEmail procura o email_100.txt q estiver na pasta

            FErase(CurDirSys()+'emailauto.log') // Esse arquivo é criado pelo wEnvMail caso ocorra algum problema
            MyRunProc( 'wenvmail', .F.)
            if file("emailauto.log") // Se não enviar por algum motivo vai ter esse arquivo na pasta ai retorna FALSO no envio
                lRet := .F.
            endif
          RETURN lRet

    Função MyRunProc (usada pra executar programas externos, tipo ShellExecute

    ********************************************************************************
    function myRunProc( cExecute, lWait, bBlock, nTime, nOccurs )
    ********************************************************************************
            local hProcess, nResult, nCtd := 0, lRet
            DEFAULT lWait   TO .T.
            DEFAULT nTime   TO  1
            DEFAULT nOccurs TO  0
            
            hProcess := hb_processOpen( cExecute )
            if hProcess != F_ERROR
               while ( nResult := hb_processValue( hProcess, .F. ) ) == -1
                  if !lWait
                     EXIT
                  endif
                  nCtd += 1
                  if hb_IsBlock( bBlock )
                     lRet := eval( bBlock, nCtd )
                     if hb_IsLogical( lRet ) .and. !lRet
                        hb_processClose( hProcess, .T. )
                        EXIT
                     endif
                  endif
                  if nTime > 0
                     hb_idleSleep( nTime )
                  endif
                  if nCtd = nOccurs
                     hb_processClose( hProcess, .T. )
                     EXIT
                  endif
               END
            endif
        
        return nResult

     

    Resumindo, cria o TXT e chama o EXE

    Esse EXE esta nesse link q fica disponível alguns dias no We Transfer.

     

  7. manifestando tenho o problema é q demora a sincronização no site do governo ou seja, manifesta como confirmação da operação e pra liberar o download demora de 30 segundos até uns 3 min e o cliente quer tudo na hora.

    Tem sites como o FSIST q vc informa a chave e escolhe com certificado ai pede o certificado e já baixa o XML, queria algo assim.

    Alguém sabe como proceder?

  8. Poderia, mas eu fiz por fora via prompt de comando mapeando.

    Vou testar direto o compartilhamento sim mapear pra ver se funciona, pq o q fiz foi o seguinte

    Micro A acessando Micro B em outro local (cidade ou onde for)

    Criei uma VPN entre esses 2 micros

    O micro A com o Aplicativo pra acessar o banco de dados q esta no Micro B eu mapeei a pasta q tem os dados q esta no micro B via Net use

    E acessei via ADO, mas poderia ser um acesso direto pq fico tipo uma rede interna entende

    O problema é q a velocidade ficou muito lenta, exemplo se eu acesso o micro B via Terminal Services e executo o app direto lá via TS já acessando os dados e operando a aplicação via TS é sem comparação de mais rápido.

    O q eu busco é uma forma de otimizar Matriz e filial.

    Estava pensando em centralizar os dados das filiais junto num mesmo servidor da Matriz pra acessar de fora, mas somente tenho conseguido resultados satisfatórios via TS q ganha até do LETODB em performance, pelo menos nos meus testes.

  9. Testei e funcionou, mas não achei viável

    Fiz o seguinte:

    Criei uma VPN com o RADMIN VPN nas 2 pontas (ai não precisa liberar firewall nem redirecionar porta)

    Ai no Radmin cria um servidor com senha
    no terminal no radmin instalado vc conecta nesse teu servidor.
    Ai tua VPN vai estar configurada
    Faz um net use * \\IPDAVPN\NOMEDOCOMPARTILHAMENTO
    Ai pode acessar direto ou via ADO q seria como uma rede interna, porém achei lento

    Desvantagens, se for usar em muitos micros, terá q instalar o RADMIN em cada 1 e mapear a unidade
    Velocidade tb se for trabalhar direto nas tabelas do server, digamos assim, e não trocando pacotes fica muito lento.

  10. E como seria com DBF Eduardo?

    Pq vamos supor q o cliente esteja em outra cidade, se consigo acessar DBF via ADO com select, não preciso usar LETODB nem Webservice nem nada...

    Só talvez liberar alguma porta no modem (se necessário for) redirecionando e na aplicação direciono pro IP ou dominio de onde estão os DBFs e pronto, correto?

  11.  

    O correto seria injetá-la dentro da DLL como RCDATA, ao executar pela primeira vez você extrairia o conteúdo da DLL, salvaria em disco e a partir de então usaria ela como um arquivo .DLL comum.

    E como extrai a Dll q esta incorporada no EXE transformando em um arquivo Dll a parte?

  12.  

    Olá Fladimir.

    Se fosse eu atualizava o Fast. 

    Agora, eu gostaria de saber onde isso tem acontecido (atualização do fast). Porque me parece que o pessoal da Xailer está com ele, mas não sei de ninguém que atualizou.

    Um abraço,


    Alexandre Pereira

    Exato, esta com o pessoal do Xailer, mas tb não conheço quem tenha atualizado.

    Tem uma versão demo da DLL do Fast pelo Xailer, mas não vou testar, vou ver outra forma.

    Grato pela atenção amigo.

    Abraço.

  13. Acho q achei a resposta...

    Pesquisando na net, achei uma postagem no fórum do FastReport onde fala q relatórios FastReport com RTF o comportamento tem gerado problemas e a solução seria atualizar o componente do FastReport.

    Ou seja, ou troco o windows ou atualiza o FastReport

    Alguém q usa o FastReport com RTF com variáveis dentro do RTF poderia relatar se seria isso mesmo?

  14. Pessoal td bem?

    Seguinte, tenho uma rotina q gera contratos, tenho um FR3 dentro dele um RTF, dentro do RTF tenho campos GetHbVar['NomeVariavel']...

    Vejam imagem abaixo:

    https://prnt.sc/lo8rac

    Ok, tudo estava funcionando, ai instalei o sistema em um Servidor 2012 e o contrato gera algumas tags corretas outras não, mas o curioso é q no inicio do contrato tem um GetHBVar pra mesma variável e lá sai correto, mas no final não. Isso q não da pra entender.

    Se roda em outras maquinas da certo, agora  nesse windows não.

    Já copiei a parte q sai correta e colei na parte errada e não sai.

    Muito estranho.

    Alguém já passou por isso?

     

  15. Desconsidera o ZERO a esquerda e tudo certo.

    O q estão fazendo agora é q RNTRC vencidos não estão passando mais...

    Um cliente meu com vários RNTRCs vencidos não conseguiu mais trabalhar, e quis ficar bravo, falei q não era o sistema q bloqueia mas sim o Webservice, e ele teria q se resolver junto a ANTT.

     

  16.  

    Bom Dia !

    Minha duvida é o seguinte, usando o ACBRBoleto, eu poderia ter uma unica instalação no servidor, e usar para mais de uma empresa e cada uma com bancos e cobranca diferentes.

     

    ou teria que fazer 2 instalação no servidor do acbr, uma para cada empresa.

     

    grato

     

    Vc instala 1 ACBr e pode usar pra N empresas, Gera PDF, Envia Email do boleto, Gera Remessa, Le Retorno e trabalha com os principais bancos, além de ser um projeto Open usado por mais de 60 mil usuários BR, eu tenho para Bradesco, BB, Santander, Sicredi e Sicoob, no q precisar tamo ai.

    Abraço.

  17. Vlw Galera, aki permanece igual mesmo erro, percebi q o EDUTEK reseta o Hash antes, fiz isso mas o erro permaneceu.

    Abri um chamado na Porto Seguro pra ver o q falam.

    Como a rotina funcionou em ambos colegas é algo aki, qdo elucidar posto a solução.

    Abraço.

  18. Peguei o código do colega e troquei apenas a linha do 

    EmiCte := Dtoc(oArqCto:DTEMIS)
    LocXml := Alltrim(oConfCte:P_AUTORI)+Substr(EmiCte,4,2)+Substr(EmiCte,7,4)+"\"+Alltrim(oArqCto:CHAVESEFAZ)+"-ProcCTe.xml" 
    
    Por:
    
    LocXml := "d:\ChavedoarquivoCTe.xml"

    e no usuario e senha usei o de homologação 

    ai executando com o debug para na linha onde o retorno é:

    scGoCBd.png

    Alguém sabe auxiliar no q estou errando?

×
×
  • Create New...