-
Posts
69 -
Joined
-
Last visited
-
Days Won
4
Posts posted by MatheusFarias
-
-
-
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
-
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
-
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.
-
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.
-
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)
-
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.
-
-
-
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
-
fontefivewin.site88.net
-
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
-
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
-
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
-
Por favor use a memotran e nao reinvente a roda
-
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
-
Vlw tambem coloquei a png.lib e a ctmt.lib no projeto
-
-
Legal Kapiaba era algo Semelhante que estava procurando , vlw vou começar a implementar
-
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
-
Function Log10Function FloorFunction rangereplFunction charremFunction tokenFunction ceilingFunction ntocdowSempre que compilo falta essas funçoes alguem pode conseguir , ou qual arquivo falta ?
-
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
-
Obrigado Kapiaba , ja tinha visto esse ai , ainda aceito sugestoes
-
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
Acesso remoto
in Programação
Posted
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