Jump to content
Fivewin Brasil

MatheusFarias

Membros
  • Posts

    69
  • Joined

  • Last visited

  • Days Won

    4

Everything 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. MsgRun('Aguarde, processando informações...','Aguarde...',{|oDlg| testefuncao(oDlg)}) ---------------- function teste(oDlg) oDlg:cMsg:="Alterando texto...." oDlg:Refresh()
  3. 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
  4. DEFINE BRUSH oBrush Color GetSysColor( 15 ) Define Dialog ... Brush oBrush não precisa alterar nada no recurso ( a não ser que tenha limitado isso) nem mesmo usar o transparent Com Brush - https://drive.google.com/file/d/0B7Vo4EeysA3keHRKSzBXMDJEN00/view?usp=sharing Sem Brush - https://drive.google.com/file/d/0B7Vo4EeysA3kM1JCeUdCVnYycHM/view?usp=sharing
  5. 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.
  6. 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.
  7. 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)
  8. 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.
  9. http://fivewin.com.br/index.php?/files/file/1108-dbfquery/
  10. http://fivewin.com.br/index.php?/files/file/1109-migrador-com-sqlrdd-pmysql/
  11. 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
  12. 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
  13. 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
  14. Utilize SET TIME FORMAT TO Ex: SET TIME FORMAT TO "hh:mm:ss.ccc" caso queira mais exemplos consulte http://persistentobject.blogspot.com.br/2008/12/xharbours-datetime-data-types.html
  15. 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
  16. Vlw tambem coloquei a png.lib e a ctmt.lib no projeto
  17. 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
  18. Legal Kapiaba era algo Semelhante que estava procurando , vlw vou começar a implementar
  19. Kapiaba o exemplo compilado funciona ok porem se colocar dentro da aplicaçao ele não funciona , e o codigo é somente aquele que esta em cima no 1º Post
  20. Function Log10 Function Floor Function rangerepl Function charrem Function token Function ceiling Function ntocdow Sempre que compilo falta essas funçoes alguem pode conseguir , ou qual arquivo falta ?
  21. 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
  22. Obrigado Kapiaba , ja tinha visto esse ai , ainda aceito sugestoes
  23. 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
×
×
  • Create New...