Jump to content
Fivewin Brasil

alex2002

Membros
  • Posts

    1,229
  • Joined

  • Last visited

  • Days Won

    24

Everything posted by alex2002

  1. Olá meu amigo. Tem sim, porém estou em viagem. Assim que voltar pra B.Horizonte marco com você. Um abraço, Alexandre Pereira
  2. Olá, Sim. Com ele vc acessa via navegador o seu ERP como se estivesse em um lugar só. Já tem um tempinho que estamos usando e estamos satisfeitos com ele. Um abraço, Alexandre Pereira
  3. Simplesmente como o João falou: Clica em "Save As" e escolha o tipo .RES
  4. Olá pessoal. O tópico é pra saber se algum amigo do grupo tem uma impressora da lista pra vender. Tem uma amiga que está precisando e daí vi aqui que muita gente trabalha com isso, se por acaso alguem tiver, favor entrar em contato comigo no email: alexandre@declatecnologia.com.br As impressoras compatíveis com o sistema dela estão na imagem. Lembrando que ela precisa comprar uma destas impressoras (para impressão de etiquetas para semi jóias) Obrigado a todos. Alexandre Pereira
  5. Olá Edu. Cara, de referência internacional são Amazon e Digital Ocean. Eu tenho usado a KingHost (brasileira) desde 2010. Eles também tem CLOUD lá, não tenho o que reclamar. Fui para a KingHost em 2010 exatamente por causa da Locaweb. Só tinham propaganda, hoje não sei como estão, mas de acordo com você continua a mesma coisa. Um abraço, Alexandre Pereira
  6. Fala Luiz, Quanto tempo rapaz? Cara, sugiro pular fora dessa DLL até porque os bancos hoje estão usando API para fazer registros, etc. Me parece que a ACBR tem algo, mas não tenho certeza. Um abraço meu amigo. Alexandre Pereira
  7. Bom, talvez vc esteja usando o modo diferente do que eu uso: Tente OemToAnsi(), AnsiToOem().... Enfim, mas vou te enviar a minha que foi feito na unha pra tirar os acentos. Um abraço, Alexandre Pereira ////////////////////////////DADOS DA FUNCAO//////////////////////////////////////////// // NOME : TiraAcentoUTF // // SINTESE : Retirar acentos e cedilhas // // PARAMETROS : <1> cTexto para retirar os acentos // // RETORNO : cTexto sem acentos ou cedilhas // /////////////////////////////////////////////////////////////////////////////////////// function TiraAcentoUTF( cTexto ) cTexto := StrTran(cTexto,"ã","a") cTexto := StrTran(cTexto,"ä","a") cTexto := StrTran(cTexto,"à","a") cTexto := StrTran(cTexto,"á","a") cTexto := StrTran(cTexto,"ª","a") cTexto := StrTran(cTexto,"â","a") cTexto := StrTran(cTexto,"¦","a") cTexto := StrTran(cTexto,"è","e") cTexto := StrTran(cTexto,"é","e") cTexto := StrTran(cTexto,"ê","e") cTexto := StrTran(cTexto,"ë","e") cTexto := StrTran(cTexto,"ì","i") cTexto := StrTran(cTexto,"í","i") cTexto := StrTran(cTexto,"î","i") cTexto := StrTran(cTexto,"ï","i") cTexto := StrTran(cTexto,"ò","o") cTexto := StrTran(cTexto,"§","o") cTexto := StrTran(cTexto,"õ","o") cTexto := StrTran(cTexto,"ö","o") cTexto := StrTran(cTexto,"ó","o") cTexto := StrTran(cTexto,"º","o") cTexto := StrTran(cTexto,"ô","o") cTexto := StrTran(cTexto,"õ","o") cTexto := StrTran(cTexto,"ø","o") cTexto := StrTran(cTexto,"ù","u") cTexto := StrTran(cTexto,"ú","u") cTexto := StrTran(cTexto,"ü","u") cTexto := StrTran(cTexto,"û","u") cTexto := StrTran(cTexto,"ç","c") cTexto := StrTran(cTexto,"Ã","A") cTexto := StrTran(cTexto,"Ä","A") cTexto := StrTran(cTexto,"À","A") cTexto := StrTran(cTexto,"Á","A") cTexto := StrTran(cTexto,"Â","A") cTexto := StrTran(cTexto,"È","E") cTexto := StrTran(cTexto,"Ë","E") cTexto := StrTran(cTexto,"É","E") cTexto := StrTran(cTexto,"Ê","E") cTexto := StrTran(cTexto,"Ì","I") cTexto := StrTran(cTexto,"Í","I") cTexto := StrTran(cTexto,"Î","I") cTexto := StrTran(cTexto,"Ï","I") cTexto := StrTran(cTexto,"Ò","O") cTexto := StrTran(cTexto,"Õ","O") cTexto := StrTran(cTexto,"Ó","O") cTexto := StrTran(cTexto,"Ô","O") cTexto := StrTran(cTexto,"Ö","O") cTexto := StrTran(cTexto,"Ù","U") cTexto := StrTran(cTexto,"Ú","U") cTexto := StrTran(cTexto,"Ü","U") cTexto := StrTran(cTexto,"Û","U") cTexto := StrTran(cTexto,"Ç","C") cTexto := StrTran(cTexto,"«"," ") cTexto := StrTran(cTexto,"®"," ") cTexto := StrTran(cTexto,"?"," ") cTexto := StrTran(cTexto,"¬"," ") cTexto := StrTran(cTexto,"¯"," ") cTexto := StrTran(cTexto,"ý"," ") cTexto := StrTran(cTexto,","," ") cTexto := StrTran(cTexto,"'"," ") cTexto := StrTran(cTexto,"`"," ") cTexto := StrTran(cTexto,"/"," ") cTexto := StrTran(cTexto,"\"," ") return cTexto
  8. Olá meu amigo, que memória hein? Foi isso mesmo. Tudo bem por aqui e muito obrigado pelo exemplo. Um abraço, Alexandre Pereira
  9. Opa, posta aí então meu amigo. Por falar nisso, vc está sumido. Uso até hoje aquela dica de instalação do MySQL que vc me passou (instalar pelo próprio aplicativo). Um abraço, Alexandre Pereira
  10. Gerei em .CSV com tamanho fixo. https://drive.google.com/file/d/183F-YI8O2UF6wLZyXXt5XbSwFTQqxKX5/view?usp=sharing Existe duas tabelas: - CEP - BAIRRO A de CEP se relaciona com o bairro para trazer o endereço completo. Agora vai te servir. Um abraço, Alexandre Pereira
  11. Segue a rotina de consulta externa. //////////////////////////////////////////////////////////////////////////////////////////// // NOME : BuscaCepOnLine // // SINTESE : Procura nos correios um CEP e retornar array // // PARAMETROS : cCEP // 1 - Número do CEP // // @aRetorno // 2 - Array ( Logradouro, Bairro, Cidade, UF ) // // RETORNO : lAchou Alexandre // //////////////////////////////////////////////////////////////////////////////////////////// Function BuscaCepOnLine( cCep, aRetorno ) local oCon, cMsg, cComando, cBuffer, cLogradouro, cBairro, cCidade, cUF local hJson local lRetorno := .t. local nLen hJson := {=>} cMsg := '' cCep := SoNumeros( cCep ) try oCon := CreateObject("Microsoft.XMLHTTP") catch oError cMsg := oError:description lRetorno := .f. end if lRetorno cComando := 'https://viacep.com.br/ws/'+cCep+'/json/' try oCon:Open("GET", cComando,.f.) catch oError cMsg := oError:description lRetorno := .f. end endif if lRetorno try oCon:Send() catch oError cMsg := oError:description lRetorno := .f. end endif if lRetorno hJson := {} cBuffer := oCon:responseBody nLen := hb_jsonDecode( cBuffer , @hJson ) if nLen = 0 cMsg := "Erro" hJson := {=>} endif if !empty( hJson ) .and. HhasKey( hJson, 'logradouro' ) cLogradouro := hJson['logradouro'] endif if !empty( hJson ) .and. HhasKey( hJson, 'bairro' ) cBairro := hJson['bairro'] endif if !empty( hJson ) .and. HhasKey( hJson, 'localidade' ) cCidade := hJson['localidade'] endif if !empty( hJson ) .and. HhasKey( hJson, 'uf' ) cUF := hJson['uf'] endif endif if empty( cLogradouro ) .or. empty( cBairro ) .or. empty( cCidade ) .or. empty( cUF ) lRetrono := .f. aRetorno := {'','','',''} else lRetorno := .t. aRetorno := { TiraAcentoUTF(cLogradouro), TiraAcentoUTF(cBairro), TiraAcentoUTF(cCidade), cUF } endif if !empty( cMsg ) MsgStop( 'Não foi possível obter o CEP pelos correios!','Erro') endif return lRetorno
  12. Pessoal, uso estas tabela em MySQL. https://drive.google.com/file/d/1A1jZjaJlmKyHkd4ZfuaX0kjTSe1eJOMp/view?usp=sharing Espero que ajude os amigos. Os dados que não tenho eu saio e consulto fora, mas ela já me ajuda bastante. Um abraço, Alexandre Pereira
  13. Obrigado meu amigo. Vou dar uma estudada aqui. Valeu. Um abraço, Alexandre Pereira
  14. Uso a versão paga. Mas é a antiga, na época so Sergey ainda. Um abraço, Alexandre Pereira
  15. Olá meu amigo. Na verdade o que a classe faz é um menu, eu queria que na notificação me desse a oportunidade de executar uma função, quando clicado. Exatamente os antivírus, atualizações nos permitem fazer. Enfim, vou notificar o usuário com shellnotify e se o cara clicar executaria uma determinada função. Creio não ser possível porque a o shellnotify na verdade é uma function das DLLs do windows, por isso acho não ser possível. Mas de qualquer forma, se existir estamos dentro. Um abraço, Alexandre Pereira
  16. Ninguém ou eu não soube explicar? rsrsrsrsrs
  17. Olá PessoALL, Alguém saberia me dizer se consigo fazer uma associação de uma função xHarbour para ser utilizada na notificação do Windows (aquela mesma do tray já comentado aqui no grupo)? Pergunto pois, se o sistema notificar o usuário dentro do sistema, queria abrir uma janela caso o usuário clique na notificação. Exatamente igual existe para atualizações do Java, etc. Não sei se é possível, mas se for será de granda valia pra mim. Um abraço, Alexandre Pereira
  18. Não tem problema, o memoread lê tranquilamente, não deixa de ser um arquivo. Leio aruqivos de imagens e outros mais através dele. Mas se o arquivo é gerado por vc, neste caso fica até mais fácil. Acho que o caminho é esse. Um abraço, Alexandre Pereira
  19. Olá Oscar. Faça um memoread no arquivo pra dentro uma variável e usa a função clipboard para esta variável, assim o texto fica na área de transferência Nunca fiz isso, mas deve ser por aí. Um abraço, Alexandre Pereira
  20. Olá pessoal, Manuel Mercado, autor da TSBUTTON e TSBROWSE, faleceu ontem. http://fivetechsupport.com/forums/viewtopic.php?f=6&t=41871&sid=8cdc3e6838ff0a603a60a88e7ff0f882 Usei por muito tempo suas classes que eram bem além do tempo. Um abraço, Alexandre Pereira
  21. Pelo navegador. Mas tem opção de instalar o Client tbm. Porém este Client não é o da Micro$oft Ontem mostrei para o Marcelo (Marca) o meu sistema funcionando. Ele ficou muito satisfeito com a velocidade e a facilidade.
  22. No nosso caso, os servidores são nossos. Mas pode colocar onde quer que seja. Quanto às licenças, no site já tem os preços para o consumidor, mas existe uma parceria com a representante aqui no Brasil onde empresas de desenvolvimento podem pagar mensalmente por cliente. No nosso caso, estamos pagando R$ 20,00 por cliente com o mínimo de 10 clients. Acho a proposta deles extremamente bacana.
  23. Olá pessoal, Sempre tem gente perguntando como colocar o aplicativo pra rodar no navegador. Pois bem, estávamos estudando uma solução mais barata para os nossos clientes ao utilizar o Terminal Server (não tem nada a ver com aplicativo por navegador), e nos deparamos com a ferramenta TSPLUS. Além de ter os clients infinitamente mais barato que o Terminal Server da Micro$oft, ele tem também a opção de acessar e rodar o ERP pelo navegador. Montamos dois servidores através do Hyper V e disponibilizamos para rodar em dois clientes diferentes. Estamos simplesmente fascinados com o resultado, até os clientes estão preferido utilizar ao invés de usar o TS da Micro$oft. Fica a dica aí, ferramente extremamente eficiente e creio que vai resolver o problema de muita gente. A configuração é extremamente simples e você coloca a saída da forma que quiser, se quiser colocar a área de trabalho é possível, se quiser colocar apenas um app é possível, enfim são muitas possibilidades e muito simples de configurar. Além de ter as ferramentas de defesas que tbm são muito bacana. Fica a dica. Um abraço, Alexandre Pereira
  24. Bom dia /// oWS := WebConnect():New() cTexto := ' ' cUser := 'nomedousuario' cSenha := 'senhaenviadapelazenvia' cTelefone := '5531991143593' cMensagem := 'Mensagem de Teste' cTexto := oWS:Open( 'https://api-http.zenvia.com/GatewayIntegration/msgSms.do?account='+cUser+'&code='+cSenha+'&dispatch=send&to='+cTelefone+'&msg='+cMensagem ) if len( cTexto ) >= 3 .and. substr(cTexto,1,3) = '000' lRetorno := .t. elseif len( cTexto ) >= 3 .and. substr(cTexto,1,3) = '990' MsgStop('Erro ao enviar SMS, possivelmente estourou a cota!'+CRLF+cTexto,'Erro' ) lRetorno := .f. elseif len( cTexto ) >= 3 .and. substr(cTexto,1,3) = '900' MsgStop('Erro ao enviar SMS, Erro de Autenticação!'+CRLF+cTexto,'Erro' ) lRetorno := .f. else lRetorno := .f. endif syswait(.2) sysrefresh() oWS:end() //// Trecho do meu código Deve te ajudar Um abraço, Alexandre Pereira
×
×
  • Create New...