Jump to content
Fivewin Brasil

AVInfo Sistemas

Membros
  • Posts

    544
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by AVInfo Sistemas

  1. Galera... como sou oriundo do Java, estou usando bastante classes em FW por já conhecer o conceito de orientação a objetos. Porém surgiu uma dúvida no uso das classes. Alguém sabe me dizer se é necessário excluir os objetos criados da memória de maneira manual ou o FW já faz isso de maneira automatica assim como a VM do Java quando uma variável perde a referência a um objeto ? EX: oObj := TOBJ():NEW() //Crio o Primeiro objeto oObj := TOBJ():NEW() //Crio o segundo objeto com uma nova referência na mesma variável ** Porém o primeiro objeto não sei c continua ou não na memória. Alguém sabe ? Xharbour 1.2.1 - Fw 10.10 - WS e Pelles tominem@hotmail.com Editado por - sdinfo on 01/08/2012 17:13:41
  2. Galera... como sou oriundo do Java, estou usando bastante classes em FW por já conhecer o conceito de orientação a objetos. Porém surgiu uma dúvida no uso das classes. Alguém sabe me dizer se é necessário excluir os objetos criados da memória de maneira manual ou o FW já faz isso de maneira automatica assim como a VM do Java quando uma variável perde a referência a um objeto ? EX: oObj := TOBJ():NEW() //Crio o Primeiro objeto oObj := TOBJ():NEW() //Crio o segundo objeto com uma nova referência na mesma variável ** Porém o primeiro objeto não sei c continua ou não na memória. Alguém sabe ? Xharbour 1.2.1 - Fw 10.10 - WS e Pelles tominem@hotmail.com Editado por - sdinfo on 01/08/2012 17:13:41
  3. Então amigo, fiz um teste aqui com um bloco de inserções dentro do Start Transaction, e a cada inserção eu travava o codigo com um comentário para verificar no banco se estava sendo inserido as informações. A cada inserção ele ia inserindo e ao final dou um ROLLBACK, porém me parece não surtir efeito. Vou fazer mais alguns testes para ter certeza. Se o problema persistir posto novamente. Agradeço desde já a ajuda Erciley Junior e amigos do forum. Xharbour 1.2.1 - Fw 10.10 - WS e Pelles tominem@hotmail.com
  4. Amigo Daniel, estou tendo alguns problemas quanto a SQLLIB. Gostaria de te fazer algumas pergutas, vc usa os comandos da própria SQLLIB para gerenciar seus controles de transação ? Vc desabilitou o autocommit do Mysql para fazer o controle de transações 'SET AUTOCOMMIT = 0' ? Xharbour 1.2.1 - Fw 10.10 - WS e Pelles tominem@hotmail.com
  5. Daniel vc poderia me passar o link do tópico por favor, não consegui encontrar. Agradeço desde já. Xharbour 1.2.1 - Fw 10.10 - WS e Pelles tominem@hotmail.com
  6. Bom dia galera, eu tenhu um programa que roda em várias estações de trabalho, com várias pessoas inserindo pedidos ao mesmo tempo com numeração incremental. Algumas vezes os registros de cabeçalho destes pedidos se duplicam, misturando os itens dos pedidos. Utilizo a SQLLib do Vailtom e gostaria de um Help dos mestres aqui do forum. Segue trecho do codigo onde gravo somente o kbçalho; Begin TRANSACTION cSql:="Select MAX(numorc31) from orcam31i WHERE numorc31 RLIKE '^[0-9]'" aResult := SQLARRAY(cSql) clNum := IF(!Empty(aResult),STRZERO(VAL(aResult[1,1])+1,10),STRZERO(0,10)) cColumnsSql := ; "NumOrc31,NomCli31,DtaMov31,CasDec31,TipLic31,"+; "CovOrc31,AneOrc31,PrtOrc31,ValOrc31,PzoOrc31,"+; "FreOrc31,ImpOrc31,AttOrc31,ForPag31,NumEdi31,"+; "VigOrc31,ProPro31,DtaVig31,TemTro31,TemReg31,"+; "TemBoa31,TemCre31,TemLau31,TemRea31,TemCer31,"+; "TemMul31,CodCli31,CodVen31,TotOrc31,ProOrc31,"+; "FatMin31,EncOrc31,VpdOrc31,PzoCon31,ObsOrc31,"+; "LocEnt31,AmoOrc31,NomRep31,ValCon31,Assina31,"+; "QueFez31,FlgReq31,datcri31,teralt31" aSetCampos := {; clNum,clNcli,clEmi,nlDec,LEFT(clTipo,1),; clCov,clAne,clProt,clVpro,clPzo,; clFret,clImpo,clAtt,clPaga,clEdi,; clVig,clProc,clDvig,LEFT(clTroca,1),LEFT(clRegis,1),; LEFT(clBoa,1),LEFT(clCrede,1),LEFT(clLaudo,1),LEFT(clReaj,1),LEFT(clCert,1),; LEFT(clMult,1),clCcli,clCven,nlTot,clPro,; nlFat,clAbe,clVprod,clContra,clObs,; clLoc,clAmo,clRepr,nlVcon,clAss,; n2c(oUser:codigo)+"-"+oUser:login,llReeq,DTOS(DATE())+" "+TIME(),NETNAME(); } InsertBD("Orcam31i",cColumnsSql,aSetCampos,,.t.) END TRANSACTION id=code>id=code>Função INsert FUNCTION InsertBD(cTabela, cColumnsSql, aSetCampos,lCommit,lTrans) Local cSql:="" //BLOCO DE INSERÇÃO cSql:="insert into " + (cTabela) + "(" + cColumnsSql + ") " +; "values(" FOR I = 1 TO LEN (aSetCampos) IF I cSql:=cSql + "$" + Alltrim(CSTR(I)) + "," ELSE cSql:=cSql + "$" + Alltrim(CSTR(I)) ENDIF NEXT cSql:=cSql+")" //INICIA A TRANSAÇÃO COM O BD IF lTrans == NIL START TRANSACTION ENDIF TRY SQL EXECUTE cSql WITH ARRAY (aSetCampos) If lCommit = nil .or. lCommit = .f. //COMITA A TRANSAÇÃO EM CASO DE SUCESSO COMMIT TRANSACTION ENDIF IF SQLErrorNO()> 0 MsgStop( "Não foi possível gravar os dados na tabela "+cTabela+; CRLF + "Informe a mensagem abaixo ao suporte : "+CRLF+CRLF+; SQLErrorMsg(), "Erro") ROLLBACK TRANSACTION END TRANSACTION QUIT //Return( .F. ) ENDIF CATCH /*VERIFICA SE HOUVE ERRO NA INSERÇÃO *SE HOUVER ELE Dà UM ROLLBACK NA TRANSAÇÃO */ //IF SQLErrorNO()> 0 MsgStop( "Não foi possível gravar os dados na tabela "+cTabela+; CRLF + "Informe a mensagem abaixo ao suporte : "+CRLF+CRLF+; SQLErrorMsg(), "Erro") ROLLBACK TRANSACTION END TRANSACTION QUIT Return( .F. ) //ENDIF END IF lTrans == NIL //ENCERRA A TRANSACÇÃO END TRANSACTION ENDIF RETURN (.T.) id=code>id=code>Xharbour 1.2.1 - Fw 10.10 - WS e Pelles tominem@hotmail.com
  7. Bom dia galera, eu tenhu um programa que roda em várias estações de trabalho, com várias pessoas inserindo pedidos ao mesmo tempo com numeração incremental. Algumas vezes os registros de cabeçalho destes pedidos se duplicam, misturando os itens dos pedidos. Utilizo a SQLLib do Vailtom e gostaria de um Help dos mestres aqui do forum. Segue trecho do codigo onde gravo somente o kbçalho; Begin TRANSACTION cSql:="Select MAX(numorc31) from orcam31i WHERE numorc31 RLIKE '^[0-9]'" aResult := SQLARRAY(cSql) clNum := IF(!Empty(aResult),STRZERO(VAL(aResult[1,1])+1,10),STRZERO(0,10)) cColumnsSql := ; "NumOrc31,NomCli31,DtaMov31,CasDec31,TipLic31,"+; "CovOrc31,AneOrc31,PrtOrc31,ValOrc31,PzoOrc31,"+; "FreOrc31,ImpOrc31,AttOrc31,ForPag31,NumEdi31,"+; "VigOrc31,ProPro31,DtaVig31,TemTro31,TemReg31,"+; "TemBoa31,TemCre31,TemLau31,TemRea31,TemCer31,"+; "TemMul31,CodCli31,CodVen31,TotOrc31,ProOrc31,"+; "FatMin31,EncOrc31,VpdOrc31,PzoCon31,ObsOrc31,"+; "LocEnt31,AmoOrc31,NomRep31,ValCon31,Assina31,"+; "QueFez31,FlgReq31,datcri31,teralt31" aSetCampos := {; clNum,clNcli,clEmi,nlDec,LEFT(clTipo,1),; clCov,clAne,clProt,clVpro,clPzo,; clFret,clImpo,clAtt,clPaga,clEdi,; clVig,clProc,clDvig,LEFT(clTroca,1),LEFT(clRegis,1),; LEFT(clBoa,1),LEFT(clCrede,1),LEFT(clLaudo,1),LEFT(clReaj,1),LEFT(clCert,1),; LEFT(clMult,1),clCcli,clCven,nlTot,clPro,; nlFat,clAbe,clVprod,clContra,clObs,; clLoc,clAmo,clRepr,nlVcon,clAss,; n2c(oUser:codigo)+"-"+oUser:login,llReeq,DTOS(DATE())+" "+TIME(),NETNAME(); } InsertBD("Orcam31i",cColumnsSql,aSetCampos,,.t.) END TRANSACTION id=code>id=code>Função INsert FUNCTION InsertBD(cTabela, cColumnsSql, aSetCampos,lCommit,lTrans) Local cSql:="" //BLOCO DE INSERÇÃO cSql:="insert into " + (cTabela) + "(" + cColumnsSql + ") " +; "values(" FOR I = 1 TO LEN (aSetCampos) IF I cSql:=cSql + "$" + Alltrim(CSTR(I)) + "," ELSE cSql:=cSql + "$" + Alltrim(CSTR(I)) ENDIF NEXT cSql:=cSql+")" //INICIA A TRANSAÇÃO COM O BD IF lTrans == NIL START TRANSACTION ENDIF TRY SQL EXECUTE cSql WITH ARRAY (aSetCampos) If lCommit = nil .or. lCommit = .f. //COMITA A TRANSAÇÃO EM CASO DE SUCESSO COMMIT TRANSACTION ENDIF IF SQLErrorNO()> 0 MsgStop( "Não foi possível gravar os dados na tabela "+cTabela+; CRLF + "Informe a mensagem abaixo ao suporte : "+CRLF+CRLF+; SQLErrorMsg(), "Erro") ROLLBACK TRANSACTION END TRANSACTION QUIT //Return( .F. ) ENDIF CATCH /*VERIFICA SE HOUVE ERRO NA INSERÇÃO *SE HOUVER ELE Dà UM ROLLBACK NA TRANSAÇÃO */ //IF SQLErrorNO()> 0 MsgStop( "Não foi possível gravar os dados na tabela "+cTabela+; CRLF + "Informe a mensagem abaixo ao suporte : "+CRLF+CRLF+; SQLErrorMsg(), "Erro") ROLLBACK TRANSACTION END TRANSACTION QUIT Return( .F. ) //ENDIF END IF lTrans == NIL //ENCERRA A TRANSACÇÃO END TRANSACTION ENDIF RETURN (.T.) id=code>id=code>Xharbour 1.2.1 - Fw 10.10 - WS e Pelles tominem@hotmail.com
  8. Não era isso não ... eu consegui resolver aqui Luis. Valew pela ajuda. Xharbour 1.2.1 - Fw 10.10 - WS e Pelles tominem@hotmail.com
  9. voltando ao problema da multiseleção da Xbrowse consegui resolver fazendo o seguinte: FOR i:=1 TO LEN(oLbx:aSelected) nfe07->(DbGoto(oLbx:aSelected)) cSql:=" Update nfe07 set geratxt07="+SQLPARS(IF(lMark,.f.,.t.))+" where sr_recno="+SQLPARS(nfe07->sr_recno) ComitaBD(cSql,"nfe07") NEXT id=code>id=code>Abraços Xharbour 1.2.1 - Fw 10.10 - WS e Pelles tominem@hotmail.com
  10. Salve Galera, Tô precisando criar uma Caixa tipo popup que tenha uma xbrowse dentro carregando um array. Quero que ela seja acionada com as teclas Ctrl+Space acionadas, e q fique posicionada onde encontra-se o cursor do Get Memo. Tentei aqui alguma coisas sem sucesso. Aguardo um Help. Obrigado OBS: o Que quero é semelhante ao 'autocomplete' do xDev Xharbour 1.2.1 - Fw 10.10 - WS e Pelles tominem@hotmail.com Editado por - sdinfo on 04/06/2012 21:00:47 Editado por - sdinfo on 15/06/2012 12:00:40
  11. Salve Galera, Tô precisando criar uma Caixa tipo popup que tenha uma xbrowse dentro carregando um array. Quero que ela seja acionada com as teclas Ctrl+Space acionadas, e q fique posicionada onde encontra-se o cursor do Get Memo. Tentei aqui alguma coisas sem sucesso. Aguardo um Help. Obrigado OBS: o Que quero é semelhante ao 'autocomplete' do xDev Xharbour 1.2.1 - Fw 10.10 - WS e Pelles tominem@hotmail.com Editado por - sdinfo on 04/06/2012 21:00:47 Editado por - sdinfo on 15/06/2012 12:00:40
  12. BOM DIA PRECISO DE UM FRENTE DE CAIXA PARA SWEDA TENHO VARIOS CLIENTES E QUERO FAZER UMA PARCERIA ALGUEM TEM ? Xharbour 1.2.1 - Fw 10.10 - WS e Pelles tominem@hotmail.com
  13. BOM DIA PRECISO DE UM FRENTE DE CAIXA PARA SWEDA TENHO VARIOS CLIENTES E QUERO FAZER UMA PARCERIA ALGUEM TEM ? Xharbour 1.2.1 - Fw 10.10 - WS e Pelles tominem@hotmail.com
  14. BOM DIA ALGUEM SABE COMO GERAR DECLARAR E USAR ESSA FUNCAO DA BEMATECH BEMATECH_FI_GERAREGISTROCAT52MFD Xharbour 1.2.1 - Fw 10.10 - WS e Pelles tominem@hotmail.com
  15. BOM DIA ALGUEM SABE COMO GERAR DECLARAR E USAR ESSA FUNCAO DA BEMATECH BEMATECH_FI_GERAREGISTROCAT52MFD Xharbour 1.2.1 - Fw 10.10 - WS e Pelles tominem@hotmail.com
  16. COMO FAÇO PARA ABRIR UMA IMAGEM JPG CLICANDO NUM BOTAO QUERO PASSAR O CAMINHO DA IMAGEM E ABRIR A IMAGEM GRANDE Xharbour 1.2.1 - Fw 10.10 - WS e Pelles tominem@hotmail.com
  17. COMO FAÇO PARA ABRIR UMA IMAGEM JPG CLICANDO NUM BOTAO QUERO PASSAR O CAMINHO DA IMAGEM E ABRIR A IMAGEM GRANDE Xharbour 1.2.1 - Fw 10.10 - WS e Pelles tominem@hotmail.com
  18. BOM DIA ESTOU USANDO A CLASSE IMAGE PARA SALVAR FOTOS DE PRODUTOS .BMP E .JPG MAS PRECISO SALVAR A JPEG E AINDA PODER DAR UM ZOOM NELA ALGUEM SABE COMO FAZER POR FAVOR ? Xharbour 1.2.1 - Fw 10.10 - WS e Pelles tominem@hotmail.com
  19. BOM DIA ESTOU USANDO A CLASSE IMAGE PARA SALVAR FOTOS DE PRODUTOS .BMP E .JPG MAS PRECISO SALVAR A JPEG E AINDA PODER DAR UM ZOOM NELA ALGUEM SABE COMO FAZER POR FAVOR ? Xharbour 1.2.1 - Fw 10.10 - WS e Pelles tominem@hotmail.com
  20. BOA TARDE TENHO CLIENTE QUE FAZEM LICITACOES E PREFEITURA ARREDONDA DIFERENTE DO QUE ESTOU ACOSTUMADO PRODUTO 97,9056 UNITARIO QUANTIDADE 1 TOTAL DEVE SER 97,90 COMO FAÇO PARA CONSIDERAR SÓ 2 CASAS PARA O TOTAL Xharbour 1.2.1 - Fw 10.10 - WS e Pelles tominem@hotmail.com
  21. BOA TARDE TENHO CLIENTE QUE FAZEM LICITACOES E PREFEITURA ARREDONDA DIFERENTE DO QUE ESTOU ACOSTUMADO PRODUTO 97,9056 UNITARIO QUANTIDADE 1 TOTAL DEVE SER 97,90 COMO FAÇO PARA CONSIDERAR SÓ 2 CASAS PARA O TOTAL Xharbour 1.2.1 - Fw 10.10 - WS e Pelles tominem@hotmail.com
  22. BOA NOITE PRECISO FAZER VENDAS PARA ESSE CARTÃO E_PHARMA ALGUEM TEM PRONT E QUER VENDER OU SABE COMO COMEÇAR A FAZER ISSO ? Xharbour 1.2.1 - Fw 10.10 - WS e Pelles tominem@hotmail.com
  23. BOA NOITE PRECISO FAZER VENDAS PARA ESSE CARTÃO E_PHARMA ALGUEM TEM PRONT E QUER VENDER OU SABE COMO COMEÇAR A FAZER ISSO ? Xharbour 1.2.1 - Fw 10.10 - WS e Pelles tominem@hotmail.com
  24. Luisão vc é o kra ... deu certinhu ... Obrigadaço Xharbour 1.2.1 - Fw 10.10 - WS e Pelles tominem@hotmail.com
  25. Gente, será q alguém sabe ajustar o tamanho do campo memo no fast. Por exemplo: Eu tenho um campo com 50 caracteres na master data e o campo seguinte tem 300 caracteres, eu gostaria de saber c existe uma configuração no fast para ajustar o memo ao tamanho da informação, deixando espaçamento entre os registros mais justos a informação de uma maneira dinâmica. Por enquanto só consegui de uma maneira pré-definida junto ao assistente. Agradeço desde já ........ Xharbour 1.2.1 - Fw 10.10 - WS e Pelles tominem@hotmail.com Editado por - sdinfo on 06/02/2012 13:54:24 Editado por - sdinfo on 06/02/2012 16:06:25 Editado por - sdinfo on 06/02/2012 16:07:18
×
×
  • Create New...