Jump to content
Fivewin Brasil

MatheusFarias

Membros
  • Posts

    69
  • Joined

  • Last visited

  • Days Won

    4

Posts posted by MatheusFarias

  1. Cara o que você pode fazer é tentar contornar verificando os processos abertos com gettask http://wiki.fivetechsoft.com/doku.php?id=fivewin_function_gettasks
    verifica se o team view e outros estão abertos, ou pode procurar por funcçoes do habour na web sobre a disponibilidade da porta de acesso , caso ela esteja sendo usada você pode bloquear

    e da uma olhada nas portas mais usadas, também pode verificar para o programa validar os protocolos de comunicação remota costumeiramente usados

  2. Matheus,

    Retire o transparent do Define dialog e coloque no objeto SAY

    Define Dialog odlgedope Resource "KDOPEED" COLORS RGB(0,0,0),RGB(255,255,255) TITLE 'Incluindo uma nova operação'

    REDEFINE SAY oSay01 ID 4001 OF odlgedope ; oSay01:lTransparent := .T.

    Daniel Segura

    Daniel essa foi a solução mais viavel que encontrei o problema é que aplicaçao quando começou a ser feita não se teve esse cuidado, são muitas telas para ter que redefinir então essa foi a melhor saida

  3. Amigo usamos essa dll aqui na empresa se voce implantar ela direitinho no sistema vai ficar OTIMO , ela é muito boa, se tiver com duvidas pode contactar o fernando (que é o criador da dll) ou manda um e-mail matheushchaves@gmail.com ou skype farias.chaves.

  4. Matheus,

    Acho que foi você que postou um tempo atras um remoto ( RemotoInteligente.msrcincident ), esse cara não funciona ? qual as restrição dele ?

    Cara eu uso ele aqui normalmente, sem problemas , agora pode ocorrer da maquina solicitada não ter permissão para os convidados de acesso remoto. São coisas que precisam ser estudadas.

  5. Bem não sei bem sua REAL ideia mas esse comando cria um convite de acesso remoto

    WinExec("msra /saveasfile RemotoInteligence senha",1) 

    Se Você conseguir enviar ele por e-mail ou ftp ou qualquer outra coisa ja tem a possibilidade de realizar o acesso. Se quiser tirar algumas dúvidas chama no Skype (farias.chaves)

  6. Bem, com o SQLRDD é possível conectar na WEB como os colegas acima comentaram porem uma boa solução para ter uma base sincronizada na web é tratar com replicação de dados, aqui no trabalho tentamos esse trabalho de colocar tudo online e vários problemas aconteceram porem a replicação de dados entre vários servidores foi a melhor solução. Caso tenha interesse de conhecer um pouco mais sobre a solução podemos conversar manda um e-mail para o matheushchaves@gmail.com ou chama via skype farias.chaves que posso te dar uma ajuda.

  7. 
    

    Function FtpUpload(cServer,cUser,cPassword,cFile,cDirectory,cUploadDirectory,oObjeto,cMensagem)

    Local cUrl,oUrl,oFTP,aFiles,cStr ,lRetorno

    Default cServer:="",cUser:="",cPassword:="",cFile:="",cDirectory:="",cUploadDirectory:=""

    cServer:=alltrim(cServer)

    cUser:=alltrim(cUser)

    cPassword:=alltrim(cPassword)

    if Empty(cServer)

    msgAlert("Atenção Host não informado!","Alerta")

    return .f.

    endif

    if Empty(cUser)

    msgAlert("Atenção Usuario não informado!","Alerta")

    return .f.

    endif

    if Empty(cPassword)

    msgAlert("Atenção Senha não informado!","Alerta")

    return .f.

    endif

    if Empty(cFile)

    if Empty(cDirectory)

    msgAlert("Atenção Arquivo ou Diretório não informado!","Alerta")

    return .f.

    endif

    endif

    if !isConnected()

    msgAlert("Atenção Sem Conexão com a Internet!","Alerta")

    return .f.

    endif

    cUrl := "ftp://" + cUser + ":" + cPassword + "@" + cServer

    oUrl := tUrl():New( cUrl )

    oFTP := tIPClientFtp():New( oUrl, file("c:\desenv.sys") )

    oFTP:nDefaultPort := 21

    oFTP:nConnTimeout := 3000

    oFTP:bUsePasv := .T.

    if At("@",cUrl)>0

    oFTP:oUrl:cServer := cServer

    oFTP:oUrl:cUserID := cUser

    oFTP:oUrl:cPassword := cPassword

    endif

    if Empty(cDirectory)

    if !Empty(cFile)

    IF oFTP:Open( oFTP:oUrl )

    oFTP:oUrl:cPath := cUploadDirectory

    Try

    cMensagem:="Enviando: "+cFile

    oObjeto:Refresh()

    Catch

    SysRefresh()

    end

    IF !oFtp:UploadFile( cFile, cFileName(cFile))

    msgstop("Falha ao enviar ,"+if(!file(cFile),"Arquivo não existe","arquivo em uso")+" : "+cFile,"Erro")

    lRetorno := .f.

    ELSE

    oFTP:oUrl:cPath := ""

    lRetorno := .t.

    ENDIF

    SysWait()

    oFTP:Close()

    ELSE

    lRetorno:=.f.

    ENDIF

    endif

    Else

    aFiles := Directory( cDirectory )

    IF Len( aFiles ) > 0

    IF oFTP:Open( oFTP:oUrl )

    oFTP:oUrl:cPath := cUploadDirectory

    FOR each cFile IN afiles

    Try

    cMensagem:="Enviando: "+cFile[ 1 ]

    oObjeto:Refresh()

    Catch

    SysRefresh()

    end

    IF !oFtp:UploadFile( cDirectory+cFile[ 1 ],cFile[ 1 ] )

    msgstop("Falha ao enviar ,"+if(!file(cDirectory+cFile[ 1 ]),"arquivo não existe","arquivo em uso")+" : "+cDirectory+cFile[ 1 ],"Erro")

    ELSE

    oFTP:oUrl:cPath := ""

    lRetorno := .t.

    ENDIF

    SysWait()

    NEXT

    oFTP:Close()

    ELSE

    lRetorno := .F.

    ENDIF

    ENDIF

    endif

    if !lRetorno

    cStr := "Não foi possivel conectar ao Ftp:" + oURL:cServer

    IF oFTP:SocketCon == NIL

    cStr += Chr( 13 ) + Chr( 10 ) + "Conexão não iniciada!"

    ELSEIF InetErrorCode( oFTP:SocketCon ) == 0

    cStr += Chr( 13 ) + Chr( 10 ) + "Resposta do Servidor:" + " " + oFTP:cReply

    ELSE

    cStr += Chr( 13 ) + Chr( 10 ) + "Erro na Conexão:" + " " + InetErrorDesc( oFTP:SocketCon )

    ENDIF

    SysRefresh()

    msgstop(cStr,"Erro")

    lRetorno := .F.

    endif

    RETURN lRetorno

    Function FtpArquivos(cServer,cUser,cPassword,cDirectory)

    Local oUrl , cUrl , oFtp , cStr ,aArquivos:={}

    Default cServer:="",cUser:="",cPassword:="",cDirectory:=""

    cServer:=alltrim(cServer)

    cUser:=alltrim(cUser)

    cPassword:=alltrim(cPassword)

    cDirectory:=alltrim(cDirectory)

    if Empty(cServer)

    msgAlert("Atenção Host não informado!","Alerta")

    return {}

    endif

    if Empty(cUser)

    msgAlert("Atenção Usuario não informado!","Alerta")

    return {}

    endif

    if Empty(cPassword)

    msgAlert("Atenção Senha não informado!","Alerta")

    return {}

    endif

    if Empty(cDirectory)

    msgAlert("Atenção Diretório não informado!","Alerta")

    return {}

    endif

    if !isConnected()

    msgAlert("Atenção Sem Conexão com a Internet!","Alerta")

    return {}

    endif

    cUrl := "ftp://" + cUser + ":" + cPassword + "@" + cServer

    oUrl := tUrl():New( cUrl )

    oFTP := tIPClientFtp():New( oUrl, file("c:\desenv.sys") )

    oFTP:nDefaultPort := 21

    oFTP:nConnTimeout := 3000

    oFTP:bUsePasv := .T.

    if At("@",cUrl)>0

    oFTP:oUrl:cServer := cServer

    oFTP:oUrl:cUserID := cUser

    oFTP:oUrl:cPassword := cPassword

    endif

    IF oFTP:Open( oFTP:oUrl )

    oFtp:cwd(cDirectory)

    aArquivos := oFtp:listFiles()

    ELSE

    cStr := "Não foi possivel conectar ao Ftp:" + oURL:cServer

    IF oFTP:SocketCon == NIL

    cStr += Chr( 13 ) + Chr( 10 ) + "Conexão não iniciada!"

    ELSEIF InetErrorCode( oFTP:SocketCon ) == 0

    cStr += Chr( 13 ) + Chr( 10 ) + "Resposta do Servidor:" + " " + oFTP:cReply

    ELSE

    cStr += Chr( 13 ) + Chr( 10 ) + "Erro na Conexão:" + " " + InetErrorDesc( oFTP:SocketCon )

    ENDIF

    msgstop(cStr,"Erro")

    ENDIF

    SysRefresh()

    return aArquivos

    Function FtpDownload(cServer,cUser,cPassword,cLocalFile,cRemoteFile,cRemoteDir)

    Local oUrl , cUrl , oFtp , cStr , lRetorno

    Default cServer:="",cUser:="",cPassword:="",cRemoteFile:="",cRemoteDir:="",cLocalFile:=""

    cServer:=alltrim(cServer)

    cUser:=alltrim(cUser)

    cPassword:=alltrim(cPassword)

    if Empty(cServer)

    msgAlert("Atenção Host não informado!","Alerta")

    return .f.

    endif

    if Empty(cUser)

    msgAlert("Atenção Usuario não informado!","Alerta")

    return .f.

    endif

    if Empty(cPassword)

    msgAlert("Atenção Senha não informado!","Alerta")

    return .f.

    endif

    if Empty(cRemoteFile)

    msgAlert("Atenção Arquivo não informado!","Alerta")

    return .f.

    endif

    if !isConnected()

    msgAlert("Atenção Sem Conexão com a Internet!","Alerta")

    return .f.

    endif

    cUrl := "ftp://" + cUser + ":" + cPassword + "@" + cServer

    oUrl := tUrl():New( cUrl )

    oFTP := tIPClientFtp():New( oUrl, file("c:\desenv.sys") )

    oFTP:nDefaultPort := 21

    oFTP:nConnTimeout := 3000

    oFTP:bUsePasv := .T.

    if At("@",cUrl)>0

    oFTP:oUrl:cServer := cServer

    oFTP:oUrl:cUserID := cUser

    oFTP:oUrl:cPassword := cPassword

    endif

    IF oFTP:Open( oFTP:oUrl )

    oFTP:oUrl:cPath := cRemoteDir

    IF !oFtp:DownloadFile( cLocalFile,cRemoteFile )

    lRetorno := .F.

    ELSE

    lRetorno := .t.

    ENDIF

    oFTP:Close()

    ELSE

    cStr := "Não foi possivel conectar ao Ftp:" + oURL:cServer

    IF oFTP:SocketCon == NIL

    cStr += Chr( 13 ) + Chr( 10 ) + "Conexão não iniciada!"

    ELSEIF InetErrorCode( oFTP:SocketCon ) == 0

    cStr += Chr( 13 ) + Chr( 10 ) + "Resposta do Servidor:" + " " + oFTP:cReply

    ELSE

    cStr += Chr( 13 ) + Chr( 10 ) + "Erro na Conexão:" + " " + InetErrorDesc( oFTP:SocketCon )

    ENDIF

    msgstop(cStr,"Erro")

    lRetorno:=.f.

    ENDIF

    SysRefresh()

    RETURN lRetorno

    Function FtpDeletaArquivo(cServer,cUser,cPassword,cRemoteFile,cRemoteDir)

    Local oUrl , cUrl , oFtp , cStr , lRetorno

    Default cServer:="",cUser:="",cPassword:="",cRemoteFile:="",cRemoteDir:=""

    cServer:=alltrim(cServer)

    cUser:=alltrim(cUser)

    cPassword:=alltrim(cPassword)

    if Empty(cServer)

    msgAlert("Atenção Host não informado!","Alerta")

    return .f.

    endif

    if Empty(cUser)

    msgAlert("Atenção Usuario não informado!","Alerta")

    return .f.

    endif

    if Empty(cPassword)

    msgAlert("Atenção Senha não informado!","Alerta")

    return .f.

    endif

    if Empty(cRemoteFile)

    msgAlert("Atenção Arquivo não informado!","Alerta")

    return .f.

    endif

    if !isConnected()

    msgAlert("Atenção Sem Conexão com a Internet!","Alerta")

    return .f.

    endif

    cUrl := "ftp://" + cUser + ":" + cPassword + "@" + cServer

    oUrl := tUrl():New( cUrl )

    oFTP := tIPClientFtp():New( oUrl, file("c:\desenv.sys") )

    oFTP:nDefaultPort := 21

    oFTP:nConnTimeout := 3000

    oFTP:bUsePasv := .T.

    if At("@",cUrl)>0

    oFTP:oUrl:cServer := cServer

    oFTP:oUrl:cUserID := cUser

    oFTP:oUrl:cPassword := cPassword

    endif

    IF oFTP:Open( oFTP:oUrl )

    IF !oFtp:Dele( cRemoteDir+cRemoteFile )

    lRetorno := .F.

    ELSE

    lRetorno := .t.

    ENDIF

    oFTP:Close()

    ELSE

    cStr := "Não foi possivel conectar ao Ftp:" + oURL:cServer

    IF oFTP:SocketCon == NIL

    cStr += Chr( 13 ) + Chr( 10 ) + "Conexão não iniciada!"

    ELSEIF InetErrorCode( oFTP:SocketCon ) == 0

    cStr += Chr( 13 ) + Chr( 10 ) + "Resposta do Servidor:" + " " + oFTP:cReply

    ELSE

    cStr += Chr( 13 ) + Chr( 10 ) + "Erro na Conexão:" + " " + InetErrorDesc( oFTP:SocketCon )

    ENDIF

    msgstop(cStr,"Erro")

    lRetorno:=.f.

    ENDIF

    SysRefresh()

    RETURN lRetorno

  8. Function Cobrebem_Abre(oCbx,vcodicob)
       Local vnomecob,vcontaco,vagencia,vcodiban,vcedente,vconveni,varqlice,vtipobol,vtamnoss,vconfig1,vconfig2
       public vpreview:=.f.
       if Registrar()=.f.
          return .f.
       endif
    
       Select cob
       set order to 1
       Seek vcodicob
       vnomecob:=cob->nomecob
       vcontaco:=alltrim(cob->contaco)
       vagencia:=alltrim(cob->agencia)
       ** Depois verificas codigo do banco com arquivo licença
       vcodiban:=alltrim(cob->codiban)
       vcedente:=alltrim(cob->cedente)
       vconveni:=alltrim(cob->conveni)
       varqlice:=alltrim(cob->arqlice)
       vtipobol:=alltrim(cob->tipobol)
       vtamnoss:=alltrim(cob->variaca)
       vconfig1:=alltrim(cob->config1)
       vconfig2:=alltrim(cob->config2)
       vpreview:=cob->preview
       if Empty (vcodiban) .or. Empty (varqlice)  .or.  Empty(vtipobol)  .or. val(vtamnoss)>15
          MsgAlert("Informaçoes Sobre o Boleto está em aberto "+CRLF+"por favor acesse os tipos de cobrança e modifique as configurações"+CRLF+"Cobrança :"+vcodicob+" "+vnomecob,"Alerta")
          return .f.
       endif
    
       tArqLice := CurDrive()+":\"+ CurDir()+"\"+varqlice
       if !file( tArqLice )
          msgalert( "Arquivo de Licença não se Encontra na pasta do Integrad , Por favor Verifique !!", "Atenção" )
          Return .f.
    
       endif
       if cFileExt(varqlice)#"conf"
          MsgAlert("Arquivo de Licença informado não é valido , verifique as configuraçoes !","Atenção")
          return .f.
       endif
    
       Try
          oCBX := TOleAuto():New('CobreBemX.ContaCorrente')
          CaminhoImagens:= CurDrive()+":\"+ CurDir()+"\BitMaps\"
          oCbx:ArquivoLicenca:= tArqLice
          oCbx:CodigoAgencia:= vAgencia
          oCbx:NumeroContaCOrrente:= vContaco
    
          && Dados que mudam de acordo com o banco
          oCbx:CodigoCedente:= vcedente
    
          oCbx:PadroesBoleto:PadroesBoletoImpresso:ArquivoLogotipo:= CaminhoImagens+"LOGOEMP.BMP"
          oCBX:PadroesBoleto:PadroesBoletoImpresso:CaminhoImagensCodigoBarras :=  CaminhoImagens
          oCBX:PadroesBoleto:PadroesBoletoImpresso:LayoutBoleto := SubStr(vtipobol,3, LEN(VTIPOBOL))
          //**   oCBX:PadroesBoleto:PadroesBoletoImpresso:LayoutBoleto := "CarnetReciboTopoPersonalizado"
          oCBX:PadroesBoleto:PadroesBoletoImpresso:HTMLReciboPersonalizado:= MemoRead(cdll+"cobrebem.html")
    
          oCBX:ArquivoRemessa:Layout:=vconveni
          ** Alterar Tamanho do Nosso Numero para cada banco//
          Cobrebem_outrasconfig(@oCbx,vconfig1,vconfig2,vtamnoss,vcodiban)
       catch
          cMsg:= "Não foi Possivel Iniciar o Boleto!"+CRLF+"Por favor verifique as configurações"+CRLF+"ou entre em contato com o nosso suporte."
          MsgInfo(cMsg,"Informação")
          return .f.
       end
       return .t.
    
       *
    Function Cobrebem_outrasconfig(oCbx,vconfig1,vconfig2,vtamnoss,vcodiban)
       local vnossonumero
       oCBX:OutroDadoConfiguracao1 := alltrim(vconfig1)
       oCBX:OutroDadoConfiguracao2 := alltrim(vconfig2)
       vnossonumero:=space(0)
       for x:=1 to val(vtamnoss)
           vnossonumero+="0"
       next
       oCbx:InicioNossoNumero:=vnossonumero
       vnossonumero:=space(0)
       for x:=1 to val(vtamnoss)
           vnossonumero+="0"
       next
       oCbx:FimNossoNumero:= vnossonumero
    
    

    Espero que consiga entender , mais duvidas manda um email , matheus@inteligence.com.br

  9. Simples , vou te dar a dia e o resto voce implementa

    
    Function ProgramasInstalados()
    LOCAL   oLoc:= CreateObject( "wbemScripting.SwbemLocator" )
    LOCAL   objWMI:= oLoc:ConnectServer()
    LOCAL   oSoft := objWMI:ExecQuery("Select * from Win32_Product")
    LOCAL   oDatos
    LOCAL aProgromasInstalados:={}
    For Each oDatos in oSoft
         aadd(aProgromasInstalados,{Alltrim(cValtoChar(oDatos:Name)),Alltrim(cValtoChar(oDatos:Version)),Alltrim(cValtoChar(oDatos:InstallLocation))}
     Next
    
    return aProgromasInstalados
    

    Ela retorna o vetor com os programas instalados versao e local , acredito que por ai é so fazer uma comparaçao com ascan ou um if com $ (esta contido) .

    Duvidas a mais manda ai , qualquer coisa ta ai o email , matheus@inteligence.com.br

  10. A Hb_ATokens funciona otimo para o que voce deseja junto com o ttxtfile

    veja o ex:

    oTxtFile = TTxtFile():New( "c:\caminho\arquivo.txt" ) // como abrir o arquivo

    While oTxtFile:nLine<=oTxtFile:nTLines

    sTexto:=oTxtFile:ReadLn() // Le a linha

    aTexto:=Hb_ATokens (sTexto,"|")// cria o vetor

    oTxtFile:Skip() // pula a linha para a proxima

    end

    assim ele vai andar em cada linha e te retornar um vetor com as posiçoes

    referencias

    http://www.freag.net/en/t/1cml3/hb_atokens

    http://wiki.fivetechsoft.com/doku.php?id=fivewin_class_ttxtfile

  11. Bom dia Valdir .

    Eu uso o CobreBem e tenho já no sistema implantando para :Caixa ,HSBC ,Banco do Brasil e Santander

    Tenho alguns prgs de exemplo tanto para gerar o boleto padrão ou personalizado , como os arquivos de remessa e leitura do arquivo de retorno

    Te enviei um email

  12. Não consigo usar a ação da minha barra de mensagem aqui esta o codigo fonte

    if !file("c:\Chkstru.sys")
             prog := VERSAO
             DEFINE MSGBAR oMsgBar Prompt "Acesse www.inteligence.com.br ou Contate-nos por e-mail: suporte@inteligence.com.br"  ;
             OF oWndPrin 2010 KEYBOARD DATE
    			
          ELSE
             DEFINE MSGBAR oMsgBar PROMPT "Acesse www.inteligence.com.br"   ;
             OF oWndPrin 2010 KEYBOARD DATE TIME
          ENDIF
          
    		cPrompt  :="Usuário:"+USUARIO
          DEFINE MSGITEM oMitem OF oMsgBar                                                                     ;
           PROMPT cPrompt SIZE oWndPrin:GetWidth(cPrompt) + 20                                                           ;
           ACTION msginfo("Último acesso foi em:"+dtoc(vdatausu)+" ás "+vhorausu+". Tempo de Uso:"+".","Informação") ;
           TOOLTIP "Nome do Usuário Logado no Sistema"
           
    		
          DEFINE MSGITEM oMit1 OF oMsgBar                                 ;
            BITMAP  "PRINTER" SIZE 30                                            ;
            TOOLTIP "Impressora padrão atual é  "+ CRLF+ " " +PrnGetName() + " " ;
            ACTION PrinterSetup()
    
          DRIVE_TR := DISKNAME()+":\"+CURDIR()
    
          DEFINE MSGITEM oMit2 OF oMsgBar                     ;
            BITMAP IF(LEFT(DRIVE_TR,2) = "C:","COMP","REDE") SIZE 30 ;
            TOOLTIP  "Sistema Está Logado em" + CRLF + DRIVE_TR      ;
            ACTION MsgInfo( "Sistema Está Logado Em" + CRLF +        ;
            "Driver: " + DRIVE_TR , "Informação")
    
          DEFINE MSGITEM oOper OF oMsgBar                     ;
            BITMAP  "LOGOFF" SIZE 30                                 ;
            TOOLTIP "Logoff do Sistema"                              ;
            ACTION Abertura2()                                       ;
    	
          
          *
          ACTIVATE WINDOW oWndPrin MAXIMIZED
     	    

    Nenhum Action Funciona , nem o padrao que sao a data hora e os atalhos do teclado , alguem ja passou por isso?

    Obs antes estava usando o set message somente com date time e Keyboard e nao funcionava tambem , na verdade parou de funcionar

  13. Bom dia , Estou procurando nos foruns qual a melhor opçao de uma classe para ftp , nos meu programas usava a qFtpClient que funcionava muito bem até um certo tempo , agora uso as funçoes da Dll wininet.dll que tem funcionado bem , porem começei a ler o samples e vi a tSocket que faz conexao com ftp tambem alem de outras coisas,gostaria de saber qual voces usam e a sua opnião para padronizar um unico meio dentro do sistema .

    Muito Obrigado :D

×
×
  • Create New...