Jump to content
Fivewin Brasil

alex2002

Membros
  • Posts

    1,229
  • Joined

  • Last visited

  • Days Won

    24

Everything posted by alex2002

  1. 1 - João Santos - Email: joao@pleno.com.br 2 - Luiz Fernando - Email: empresoft@globo.com 3 - Alexandre Serafini - alexandre@polirep.com.br 4 - Nárlem - narlem@nagas.com.br 5 - Gilmer - gilmer@fivewin.com.br 6 - Alexandre Pereira - alexandre@declatecnologia.com.br
  2. Olá, Experimente colocar, após salvar a venda, a função dbskip(0) no alias do arquivo de vendas. Depois reporta se funcionou.
  3. Bom, sendo assim. TÔ DENTRO.
  4. Pessoal, O GP de F1 não é dia 21 ao 23 ? Se for isso, temos que ir depois.
  5. Olá, ao invés de: (cNovo:="MODIFICA", oDt_Saida:Refresh()) tente: (cNovo:="MODIFICA", oDlgP:aEvalwhen() )
  6. Xará preguiçoso, Veja a variável nMaxLineLength. Por default é 1024 mas vc muda este valor antes de ler. // oTxt555 := TTxtFile():New( cArq555 ) oTxt555:nMaxLineLength := 3076 cLinha := oTxt555:cLine if substr( cLinha, 29, 6 ) <> 'COO555' MsgStop('Arquivo 555 não confere!','Erro') oTxt555:close() return nil endif //
  7. Olá pessoal. João, essa do Evandro ter escorpião no bolso foi ótima, pena que isso dura até hoje com ele. rsrsrsrsrsrs Olha, sinceramente eu sou da opinião de ser como antigamente também. Apesar de ser hoje evangélico (graças a Deus) e não tomar as biritas que tomava antes, sou a favor do encontro na padoca (aliás pré-encontro). Para ser mais sincero ainda, naquela época todo mundo aprendia pra caramba um com o outro, trocava experiências, enfim, tudo sem a menor formalidade. Acho que é por ai mesmo, marcar o dia e ponto final. Se tiver 20 blza, se for 30 melhor e se for mais, melhor ainda. Já basta as formalidades do dia a dia nos clientes (saco). Antigamente eu trocava skypes, msns com a galera, hoje nem isso mais eu faço. É, preciso voltar ao passado rsrsrsrs Vamos lá galera, a moda antiga mesmo. Outra coisa, vamos parar de ficar falando do rapaz que teve o problema do ano passado. Isso já passou. O cara já veio e pediu desculpas, se é verdade ou não, não cabe a nós julgarmos. Ele deve estar sofrendo mais do que os que perderam o dinheiro. Bola pra frente.
  8. Olá Galera, Olha, tem como instalar o MySQL pelo instalador do seu programa sim. Por incrível que pareça, é até simples. No meu ERP eu instalo tudo pelo instalador. Se não me engano, o Leonardo (Sygecom) me passou no encontro em BH, ele desenvolveu e me passou, dai adaptei ao meu instalador e roda legal. Se ele autorizar eu posso disponibilizar o meu código para a galera, mas dependo da autorização dele.
  9. Então Luiz, Você só precisa dele como FR3 no método "LoadFromFile". Sendo assim, vc envia para o cliente criptografado, na hora de usar este método vc descriptografa numa pasta temporária do windows, utiliza o método e mata o arquivo descriptografado, preservando sempre o criptografado. Assim, não tem o problema de várias pessoas utilizarem e abrirem, etc. Olá João, Bacana utilizando assim.
  10. Galera, Pessoalmente eu acho um "saco" colocar o FR3 dentro do RES. Basta ter que alterar o relatório que vocês verão o que estou dizendo. Sugiro, colocar uma criptografia/descriptografia no arquivo antes de abrir como FR3. Você mexe no relatório e quando enviar para o cliente, manda criptografado. Mas isso é opinião minha, o Evandro por exemplo adora o tal do .RES Casa um na sua. rsrsrsrsrs
  11. Beleza, Estamos no aguardo.
  12. Olá, Eu sugiro um tópico com uma apresentação rápida sobre conexão socket. Inclusive posso ver se consigo preparar algo para mostrar, colocando os dois lados em operação (servidor e cliente). Apenas sugestão, como eu uso acho interessante, mas não sei se é de interesse dos demais. Um abraço, Alexandre Pereira Rumo a MARROCOS
  13. Olá Galera, Eu tenho um Projetor da 3M que é portátil e posso emprestar sem custo algum para o Evento. Nós o utilizamos para apresentação dos sistemas e reuniões. Um abraço, Alexandre Pereira
  14. 001 - Valdir - Jundiaí/SP 002 - Ana - Cianorte/PR 003 - Cesar - Cianorte/PR 004 - EMotta Sistemas - Nova Odessa/SP 005 - EMotta Sistemas - Nova Odessa/SP 006 - EMotta Sistemas - Nova Odessa/SP 007 - EMotta Sistemas - Nova Odessa/SP 008 - EMotta Sistemas - Nova Odessa/SP 009 - Império 010 - Evandro - Curvelo/MG 011 - Dorneles 012 - Dorneles 013 - Kleyber Derick / MA 014 - Geraldo (gbsilva) 015 - Fnl - Jorge (SP) 016 - - Fnl - Aum (SP) 017 - Rubens (SP) 018 - Cleber Conde - Caratinga/MG 019- Sebastião de Oliveira Pessoa (TiaoFw) / Contagem - MG 020 - Luiz Roberto Servulo / Diadema/SP 021 - Jackson Douglas C. Brito - Boa Vista (RR) 022 - Alexandre Pereira (alex2002) - Belo Horizonte / MG
  15. Já falei, vamos marcar em MARROCOS. rsrsrsrsrs (brincadeira) Novembro, tô dentro. Um abraço, Alexandre Pereira
  16. Olá Galera, Olha, ao invés de fazermos este encontro aqui no Brasil e trazer o Linares, vamos levar para Marrocos, porque praticamente faz divisa com a Espanha e daí eu já fico por lá para ver o GALO MAIS BONITO DO MUNDO ser campeão mundial, o que acham? rsrsrsrsrsrs Brincadeira pessoal, tô dentro de mais este encontro. Seja em qualquer lugar do Brasil, farei o possível para participar. Um abraço, Alexandre Pereira
  17. Olá Wanderlei. Cara, vc tem que aguardar um tempo e analisar. Vou postar parte de um programa meu que faz comunicação com o Banco do Brasil e dai vc estuda e veja se te atende. ////////////////////////////DADOS DA FUNCAO//////////////////////////////////////////// // NOME : ComunicaGcb // // FINALIDADE : Comunicar com o Correspondente bancário // // PARAMETROS : cMensEnv -- Mensagem a Enviar // // cMensRec -- Mensagem a Receber // // cTipoOperacao -- Tipo de Operação (P, I, C) // // cTipoDoc -- 1 = Título 2 = Convenio // // // /////////////////////////////////////////////////////////////////////////////////////// Static function ComunicaGcb( cMensEnv, cMensRec, cTipoOperacao, cTipoDoc ) local i local lRetorno := .t. cMensRec := space(1200) // Tentando abrir o canal de comunicação for i = 1 to 3 if oSocket = NIL .or. valtype( oSocket ) = 'U' if i > 1 syswait(.5) endif oSocket := OpenSocket( ) endif next if oSocket <> NIL // Enviando if envio( cMensEnv ) // Recebendo resposta if cTipoOperacao <> 'CC' syswait(.5) lRetorno := receber( @cMensRec, cTipoOperacao, cTipoDoc) endif else lRetorno := .f. endif sysrefresh() // InetClose( oSocket ) else lRetorno := .f. endif // InetCleanUp() sysrefresh() return lRetorno ///////////////////////////// Static Function OpenSocket() local lSocket := .f. local nVezes := 0 // Abrir Socket do while !lSocket .and. nVezes <= 3 InetInit() oSocket := InetConnectIP( cIPCOBAN, val(cPortaCOBAN) ) sysrefresh() if InetErrorCode(oSocket) <> 0 // Aconteceu algum erro InetDestroy( oSocket ) oSocket := NIL nVezes ++ lSocket := .f. else lSocket := .t. exit endif sysrefresh() enddo sysrefresh() return oSocket ///////////////////////////////////////// Static Function envio( cMensEnv ) local lEnvio := .f. local nVezes := 1 local nLenMensEnv := 0 do while !lEnvio .and. nVezes < 10 nVezes ++ nLenMensEnv := InetSendAll(oSocket, cMensEnv) if nLenMensEnv = len(cMensEnv) .and. nLenMensEnv <> 0 //envio ok lEnvio := .t. exit endif // Tentando abrir nova conexão Socket InetClose(oSocket) InetCleanUp() syswait(.5) sysrefresh() oSocket := NIL oSocket := openSocket() SysRefresh() // enddo Sysrefresh() return lEnvio ///////////////////////////////////////////////////////////////////// Static Function receber( cMensRec, cTipoOperacao, cTipoDoc) local cAutChave, cHeader := space(101) local lReceber := .f. local lRetorno := .t. local nLenMensRec := 0 local nDadosLido := 0 local nTentativas := 1 // Tentando receber 3 vezes do while !lReceber .and. nTentativas <= 3 nDadosLido := InetDataReady( oSocket, 10000) sysrefresh() nTentativas ++ if nDadosLido <> 1 loop endif syswait(.5) cHeader := space(101) // Se retornar 1 é que obteve sucesso na comunicação com o GCB if nDadosLido = 1 // Receber os Dados do HEADER InetRecvALL ( oSocket, @cHeader,101) sysrefresh() // Consulta de Pendencias if cTipoOperacao == 'XP' .and. len(cHeader) = 101 nLenMensRec := val( right( cHeader, 9 ) ) cMensRec := space( nLenMensRec ) if nLenMensRec > 0 InetRecvALL( oSocket, @cMensRec, nLenMensRec ) endif if substr(cHeader,69,4) <> '1100' .or. nLenMensRec <> len( cMensRec ) // Erro Transmissão lRetorno := .f. lReceber := .t. else lRetorno := .t. lReceber := .t. endif loop endif // Verificar se houve erro na transação if substr(cHeader,69,4) = '0000' .and. len(cHeader) = 101 // Sem problemas na comunicação nLenMensRec := val( right( cHeader, 9 ) ) cMensRec := space( nLenMensRec ) if nLenMensRec > 0 InetRecvALL( oSocket, @cMensRec, nLenMensRec ) endif if nLenMensRec <> len( cMensRec ) // Erro Transmissão lRetorno := .f. cMensRec := cHeader elseif cTipoOperacao == 'P' .and. val( substr(cHeader,57,4) ) > 0 // Ok cMensRec := cHeader + rtrim(cMensRec) elseif nLenMensRec = len( cMensRec ) // Ok (Consulta ou Confirmação) cMensRec := cHeader + rtrim(cMensRec) else // Erro eventual lRetorno := .f. cMensRec := rtrim(cMensRec) endif elseif len(cHeader) <> 101 lRetorno := .f. cMensRec := cHeader else nLenMensRec := val( right( cHeader, 9 ) ) cMensRec := space( nLenMensRec ) if nLenMensRec > 0 InetRecvALL( oSocket, @cMensRec, nLenMensRec ) endif lRetorno := .f. cMensRec := rtrim(cMensRec) endif sysrefresh() lreceber := .t. endif enddo if !lReceber lRetorno := .f. endif return lRetorno ////////////////////////////////////////////////////////////////////// Acho que com isso, vc consiga resolver o seu problema. Um abraço, Alexandre Pereira
  18. Olá pessoal, Arthur, obrigado pela dica. Consegui resolver usando o Wsay() dentro de um objeto IMAGEM e sobrepus usando outro WSay() em coordenadas diferentes, fazendo assim uma sobra. De qualquer forma, gostei muito do samples (invoices) e vou utilizar em minhas aplicações (muito bacana mesmo). No mais, obrigado a todos. Um abraço, Alexandre Pereira
  19. Fala campeão, To indo direto à Ribeirão e numa destas vamos ver se marcamos pra trocar umas idéias. Vou testar e te falo, Obrigado, Alexandre Pereira
  20. Galera, Alguém conhece um método ou função que consigo usar a fonte com sombra. Porque quando se projeta em tela maior, e possui fundo é necessário ter a sombra para fazer o contraste. Já perdi algumas noites com esta bagaça e nada. rsrsrsrsrs Um abraço, Alexandre Pereira
  21. Olá, Então, eu sugiro que vc veja as classes (fwh\source\classes) e tambem os exemplos (\fwh\samples). Basicamente é isso. Mas se precisar de algo é só berrar aqui no fórum. Um abraço, Alexandre Pereira
  22. Segue. ////////////////////////////////////////////////////////// Function AcessaMSSQL( ) LOCAL oCn, oRs, oErr Local cServerIP := "Alexandre-Note" Local cDatabaseName := "nome_do_banco" Local cUserName := "Alexandre VB" Local cPassWord := "senha" local lErro := .f. // Modelo de autenticação com senha // cConnection := "driver={SQL Server Native Client 10.0};Server="+cServerIP+";Database="+cDataBaseName+";Uid="+cUserName+";Pwd="+cPassword+";" // Modelo de autenticação com LOGON do windows cConnection := "driver={SQL Server Native Client 10.0};Server="+cServerIP+";Database="+cDataBaseName+";Trusted_Connection=yes;" // o nome do driver pode alterar conforme versão do client // Criando o objeto oCon:=CreateObject("ADODB.Connection") // Abrir Conexao com o SQL SERVER oCon:Open( cConnection ) // dando um selec cCmdSql := 'select cd_cc, nr_chq, cd_mot, CONVERT(char(10),dt_sus, 126) as sustacao FROM nome_do_banco.dbo.t401chsu where cd_und = '+str( nAgencia, 4 ) oRS := oCon:Execute(cCmdSql) // da um While no retorno da SQL While !oRS:EOF() cConta := oRs:Fields("cd_cc"):value cCheque := oRs:Fields("nr_chq"):value cMotivo := oRs:Fields("cd_mot"):value dSusto := oRs:Fields("sustacao"):value // Tratando todos os campos cConta := if( empty( cConta ), '00000000', strzero(cConta,8,0) ) cCheque := if( empty( cCheque ),'000000', strzero( cCheque, 6, 0) ) cMotivo := if( empty( cMotivo ),'', cMotivo )d dSusto := if( empty( dSusto ), '19800101', sonumeros(dSusto) ) cConta := substr( cConta, 1,7)+'-'+substr( cConta, 8, 1 ) dSusto := CETOD( dSusto ) /* trabalhando com os meus dados .. .. .. */ oRs:MoveNext() enddo // Finalizar uso do Retorno. oRS:Close() ///////////////////////////////////// Um abraço, Alexandre Pereira
  23. Olá "GbSilva" Olha, necessariamente não precisa de um IDE, mas muita gente usa o DreamWeaver para isso. Acho que é mais usado para quem usa IDE. Um abraço, Alexandre Pereira
  24. Olá Pessoal, Também não querendo ser pessimista, muito menos querendo criticar o trabalho de alguém. Mas, isso apresentado no FiveWeb como as outras coisas já vistas aqui, se faz com os pés nas costas em PHP. O problema é que os "clipeiros" estão com medo de mexer com algo WEB e eu posso garantir é muito mais fácil do que desenvolver desktop. É a minha opinião. Mas de qq forma, parabéns a galera do projeto e que ele venha se tornar um benefício para nós. Um abraço, Alexandre Pereira
  25. Olá Josadac Mendes Faquineli Seja bem vindo ao fórum e ao universo FiveWin. Tudo que você precisar, tudo mesmo, pode postar no fórum que ninguém irá tirar sarro de você. Um abraço, Alexandre Pereira ps. PessoALL, o João ta bem de cabeça? O cara está indicando alguém a usar @ SAY. Logo ele? Eu até agora não estou acreditando. Logo vc BRUTUS defensor implacável do WorkShop ?
×
×
  • Create New...