Jump to content
Fivewin Brasil

jfaguiar

Membros
  • Posts

    1,287
  • Joined

  • Last visited

  • Days Won

    21

Everything posted by jfaguiar

  1. Por exemplo, qdo quero selecionar uma impressora uso seguinte sintaxe. PRINT oPrn FROM USER NAME "bababa" preview Não é possível já informar uma determinada impressora dentre as cadastradas lá no Windows? Grato.
  2. Valeu Alessandro. Vou providenciar a lpt2. Sem querer abusar, como faço para direcionar a impressão para essa LPT? Muito obrigado.
  3. Olá meus caros e requisitados colegas. Tenho um programa operando em um computador enviando impressão para uma Epson local e no mesmo computador também existe um programa de balança que envia impressão para uma impressora de 40 colunas. O problema é que quando defino como padrão a impressora Epson tenho problema no programa da balança e vice versa. O que gostaria de saber é se existe a possibilidade de informar a FWH que ele deverá enviar a impressão para a Epson e não para a padrão do Windows. Alguém se habilita a descascar esse abacaxi? Editado por - jfaguiar on 20/09/2007 13:51:48
  4. Olá meus caros e requisitados colegas. Tenho um programa operando em um computador enviando impressão para uma Epson local e no mesmo computador também existe um programa de balança que envia impressão para uma impressora de 40 colunas. O problema é que quando defino como padrão a impressora Epson tenho problema no programa da balança e vice versa. O que gostaria de saber é se existe a possibilidade de informar a FWH que ele deverá enviar a impressão para a Epson e não para a padrão do Windows. Alguém se habilita a descascar esse abacaxi? Editado por - jfaguiar on 20/09/2007 13:51:48
  5. Olá meu caro Veja se esta minha rotininha resolve seu problema. Normalmente a utilizo na entrada do meu programa principal para criar novos campos em tabelas No exemplo estou abrindo uma tabela chamada arqparam.dbf e verificando se o campo PASSDL já existe, caso não exista vou criar após o campo SITEDL. USE ARQPARAM ALIAS ARQPARAM SHARED NEW IF NOT NETERR() // Crio um array com a estrutura da tabela MATESTRU := DBSTRUCT() // Verifico com a user function STRU() se o campo PASSDL // já existe IF NOT STRU('PASSDL',MATESTRU) USE // Fecho o arquivo ALERT("O sistema ir alterar a estrutura da tabela de parƒmetros. ;"+; " ;"+; "Favor solicitar aos demais usu rios sairem do Sistema. ;"+; " ;"+; " Pressione qualquer tecla para continuar ") // Tento abrí-lo em modo exclusivo USE ARQPARAM ALIAS ARQPARAM EXCLUSIVE NEW IF NETERR() ALERT('O arquivo de parâmetros (ARQPARAM.DBF) nao est disponível !') RETURN ENDIF // Copio os dados do arquivo para uma tabela tamporária. COPY TO TMPPARAM WHILE !EOF() // Fecho a tabela de parâmetros SELECT ARQPARAM USE // MATESTRU2:= { } FOR I = 1 TO LEN(MATESTRU) VNOMEC := MATESTRU[i,1] VTIPOC := MATESTRU[i,2] VTAMAC := MATESTRU[i,3] VDECIC := MATESTRU[i,4] AADD(MATESTRU2,{VNOMEC,VTIPOC,VTAMAC,VDECIC} ) // Crio o novo campo PASSDL após o campo SITEDL IF MATESTRU[i,1] == 'SITEDL' AADD(MATESTRU2,{"PASSDL","C",15,0} ) ENDIF NEXT // Crio a tabela vazia DBCREATE('ARQPARAM',MATESTRU2) // // Abre o novo arquivo recem criado USE ARQPARAM ALIAS ARQPARAM EXCLUSIVE NEW IF NOT NETERR() // Se conseguir abrir... // Copio os dados da tabela temporária para ela APPEND FROM TMPPARAM ENDIF CLOSE DATABASE ELSE CLOSE DATABASE ENDIF ENDIF ... Segue o seu programa ... RETURN ***************************************** FUNCTION STRU(PCAMPO,aESTRUCT) // Verifica se existe um campo na tabela FOR S = 1 TO LEN(aESTRUCT) IF aESTRUCT[s,1] == PCAMPO RETURN(.T.) ENDIF NEXT RETURN(.F.) ************************************************************
  6. Olá pessoal mais uma vêz surpreso com a galera deste forum, venho agradecer pela sugestão do Cobrebem, de fato, uma ótima lib. Estou imprimindo no recibo do sacado o logo .bmp da empresa, mas nao consigo imprimir o logo do banco na papeleta menor. Alguém poderia dar uma dica do que estou fazendo de errado Grato João Freire Aguiar Gerei o código conforme segue: oCBX:PadroesBoleto:PadroesBoletoImpresso:CaminhoImagensCodigoBarras := "H:\siscom\Imagens\LogoBancoReal.Bmp"
  7. Olá pessoal mais uma vêz surpreso com a galera deste forum, venho agradecer pela sugestão do Cobrebem, de fato, uma ótima lib. Estou imprimindo no recibo do sacado o logo .bmp da empresa, mas nao consigo imprimir o logo do banco na papeleta menor. Alguém poderia dar uma dica do que estou fazendo de errado Grato João Freire Aguiar Gerei o código conforme segue: oCBX:PadroesBoleto:PadroesBoletoImpresso:CaminhoImagensCodigoBarras := "H:\siscom\Imagens\LogoBancoReal.Bmp"
  8. Olá Paulo Respondendo sua pergunta, meu nome é: João Freire de Aguiar Valeu citação:Jfaguiar (alias(), qual o seu nome??, José??, João??) Não tinha lido o tópico direito (hehe). Como o Evandro disse, o número do documento é uma coisa, o "nossonumero" é outra. O Número do Documento é o número da nota fiscal, duplicata, etc. O "nossonumero" é um número sequencial e é exclusivamente bancário. Portanto, você terá que criar um campo em algum BD para ir somando +1 a cada título. Alguns bancos estabelecem uma "faixa" de números para isso. Acho que não é o caso do Real e retorno amanhã. Agora, não uso (AINDA) o Cobrebem e você postou o termo "não dar certo". O QUE NÃO DEU CERTO??? id=quote>id=quote>
  9. Valeu pessoal. Não sei o que seria desse clippeiro sem esse forum. Vou usar um sequencial no n.numero ao invés do nº da nf. Obrigado
  10. Olá amigos. Alguém me socorra, por favor. Tô tentando colocar o nosso número desse boleto banco real = ao nº da nota fiscal (RECSEQ+RECPARC) e não dar certo. Tentei subtrair 1 do número final, mas mesmo assim não funciona. Existe algum método a ser enviado para tornar isso possível? Muito obrigado Segue a minha rotina: SET RESOURCES TO "C:\cobrebemx\Cobrebemx.dll" oCBX := TOleAuto():New("CobreBemX.ContaCorrente") oCBX:ArquivoLicenca := "H:\SISCOM\CobreBem\BH356_20.conf" // Monta dados da conta corrente oCBX:CodigoAgencia := "000200" // "000200-8" oCBX:NumeroContaCorrente := "00715383" // "00715383-1" oCBX:LocalPagamento := "Pagável em qualquer banco até o vencimento" // oCBX:CodigoCedente := "123456" oCBX:InicioNossoNumero := "00001" oCBX:FimNossoNumero := "79999" // oCBX:ProximoNossoNumero := "00015" // oCBX:PadroesBoleto:PadroesBoletoImpresso:ArquivoLogotipo := "c:\CobreBemX\Imagens\BannerCBX.gif" oCBX:PadroesBoleto:PadroesBoletoImpresso:CaminhoImagensCodigoBarras := "H:\siscom\Imagens\LogoBancoReal.jpeg" oCBX:PadroesBoleto:PadroesBoletoImpresso:ArquivoLogotipo := "H:\SISCOM\Imagens\LogoBH.bmp" nQTDBOL := 0 // VAR PROVISORIO While &cWILCOND // !eof() IF cWILCOND=="!EOF()" .AND. RECBCO # nCDBANC DbSkip() LOOP ENDIF // Aqui tentei subtrair um da parcela mas não deu certo oCBX:ProximoNossoNumero := STRZERO(RECSEQ,4) + STR(RECPARC-1,1) // "00015" nVALDESC:= 0 nVALTIT := RECVAL - nVALDESC nVALMULT:= 2.00 cINST01 := 'NAO DISPENSA MORA. COBRAR MORA DE '+TRIM(ARQPARAM->PMOEDA)+' '+LTRIM( TRANSF( (TMPCREC->RECVAL-nVALDESC) * nJURODIA/100,'@E 99,999.99') ) +' POR DIA DE ATRASO' cINST02 := 'APOS VENCIMENTO COBRAR MULTA DE '+TRIM(ARQPARAM->PMOEDA)+' '+LTRIM( TRANSF(nVALMULT,'@E 99,999.99')) cINST03 := 'PROTESTAR APOS '+LTRIM(ARQPARAM->PDIAPROT) + ' DIAS UTEIS DO VENCIMENTO' cINST04 := 'VALORES EXPRESSOS EM REAIS' cINST05 := 'NF '+TMPCREC->RECTITU // oBoleto := oCBX:DocumentosCobranca:Add() syswait(.1) // Tem no programa exemplo do chegado do forum // Monta dados do sacado oBoleto:NomeSacado := ARQCLI->CLIRAZAO oBoleto:EnderecoSacado:= ARQCLI->CLIENDC oBoleto:BairroSacado := ARQCLI->CLIBAIC oBoleto:CidadeSacado := ARQCLI->CLICIDC oBoleto:EstadoSacado := ARQCLI->CLIUFC oBoleto:CEPSacado := ARQCLI->CLICEPC // Monta dados do documento de cobranca oBoleto:DataDocumento := DTOC(RECDEMI) oBoleto:DataProcessamento:= DTOC(RECDEMI) oBoleto:DataVencimento := DTOC(RECDVEN) oBoleto:NumeroDocumento := STRZERO(RECSEQ,6)+STR(RECPARC,1) oBoleto:ValorDocumento := nVALTIT oBoleto:TipoDocumentoCobranca:= "DS" syswait(.5) DbSkip() SysRefresh() Enddo oCBX:ImprimeBoletosSemPreview() oCBX:End() Editado por - jfaguiar on 05/09/2007 14:09:11
  11. Olá amigos. Alguém me socorra, por favor. Tô tentando colocar o nosso número desse boleto banco real = ao nº da nota fiscal (RECSEQ+RECPARC) e não dar certo. Tentei subtrair 1 do número final, mas mesmo assim não funciona. Existe algum método a ser enviado para tornar isso possível? Muito obrigado Segue a minha rotina: SET RESOURCES TO "C:\cobrebemx\Cobrebemx.dll" oCBX := TOleAuto():New("CobreBemX.ContaCorrente") oCBX:ArquivoLicenca := "H:\SISCOM\CobreBem\BH356_20.conf" // Monta dados da conta corrente oCBX:CodigoAgencia := "000200" // "000200-8" oCBX:NumeroContaCorrente := "00715383" // "00715383-1" oCBX:LocalPagamento := "Pagável em qualquer banco até o vencimento" // oCBX:CodigoCedente := "123456" oCBX:InicioNossoNumero := "00001" oCBX:FimNossoNumero := "79999" // oCBX:ProximoNossoNumero := "00015" // oCBX:PadroesBoleto:PadroesBoletoImpresso:ArquivoLogotipo := "c:\CobreBemX\Imagens\BannerCBX.gif" oCBX:PadroesBoleto:PadroesBoletoImpresso:CaminhoImagensCodigoBarras := "H:\siscom\Imagens\LogoBancoReal.jpeg" oCBX:PadroesBoleto:PadroesBoletoImpresso:ArquivoLogotipo := "H:\SISCOM\Imagens\LogoBH.bmp" nQTDBOL := 0 // VAR PROVISORIO While &cWILCOND // !eof() IF cWILCOND=="!EOF()" .AND. RECBCO # nCDBANC DbSkip() LOOP ENDIF // Aqui tentei subtrair um da parcela mas não deu certo oCBX:ProximoNossoNumero := STRZERO(RECSEQ,4) + STR(RECPARC-1,1) // "00015" nVALDESC:= 0 nVALTIT := RECVAL - nVALDESC nVALMULT:= 2.00 cINST01 := 'NAO DISPENSA MORA. COBRAR MORA DE '+TRIM(ARQPARAM->PMOEDA)+' '+LTRIM( TRANSF( (TMPCREC->RECVAL-nVALDESC) * nJURODIA/100,'@E 99,999.99') ) +' POR DIA DE ATRASO' cINST02 := 'APOS VENCIMENTO COBRAR MULTA DE '+TRIM(ARQPARAM->PMOEDA)+' '+LTRIM( TRANSF(nVALMULT,'@E 99,999.99')) cINST03 := 'PROTESTAR APOS '+LTRIM(ARQPARAM->PDIAPROT) + ' DIAS UTEIS DO VENCIMENTO' cINST04 := 'VALORES EXPRESSOS EM REAIS' cINST05 := 'NF '+TMPCREC->RECTITU // oBoleto := oCBX:DocumentosCobranca:Add() syswait(.1) // Tem no programa exemplo do chegado do forum // Monta dados do sacado oBoleto:NomeSacado := ARQCLI->CLIRAZAO oBoleto:EnderecoSacado:= ARQCLI->CLIENDC oBoleto:BairroSacado := ARQCLI->CLIBAIC oBoleto:CidadeSacado := ARQCLI->CLICIDC oBoleto:EstadoSacado := ARQCLI->CLIUFC oBoleto:CEPSacado := ARQCLI->CLICEPC // Monta dados do documento de cobranca oBoleto:DataDocumento := DTOC(RECDEMI) oBoleto:DataProcessamento:= DTOC(RECDEMI) oBoleto:DataVencimento := DTOC(RECDVEN) oBoleto:NumeroDocumento := STRZERO(RECSEQ,6)+STR(RECPARC,1) oBoleto:ValorDocumento := nVALTIT oBoleto:TipoDocumentoCobranca:= "DS" syswait(.5) DbSkip() SysRefresh() Enddo oCBX:ImprimeBoletosSemPreview() oCBX:End() Editado por - jfaguiar on 05/09/2007 14:09:11
  12. Olá pessoal. Tenho um programa que abre dbfcdx e em uma das opções vou ter que abrir uns arquivos dbfntx que estão em arquivo morto. Isso é possível, uma vêz que no início do programa já está indicando o formato de arquivo dbfcdx/ads? Desde já agradeço. Abraço Editado por - jfaguiar on 03/09/2007 19:50:34
  13. Olá pessoal. Tenho um programa que abre dbfcdx e em uma das opções vou ter que abrir uns arquivos dbfntx que estão em arquivo morto. Isso é possível, uma vêz que no início do programa já está indicando o formato de arquivo dbfcdx/ads? Desde já agradeço. Abraço Editado por - jfaguiar on 03/09/2007 19:50:34
  14. Olá Lee O Parâmetro Preview não resolve o seu problema? PRINT oPrn FROM USER NAME "NOME DO RELATORIO" PREVIEW Boa Sorte
  15. Olá meus amigos do forum. Desde quando comecei a migrar minhas aplicações para FWH 7.01, em 04/2007 que iniciei a construção de uma ferramenta para ajudar nas minhas conversoes e gostaria de disponibilizá-la aqui para vocês e inclusive pedir sugestões. O que ela já converte hoje: CONVPCDX.PRG - DBF/NTX para DBF/CDX CONVINDE.PRG - Index on do modo NTX (vários índices) para o modo CDX, com TAG e tudo mais - Set index do modo NTX para o o modo CDX, ou seja, onde tem um set index abrindo varios indices ele transforma só para um CONVFWIN.PRG - Esse é o melhor: Converte um relatorio escrito em Clipper para o modo FW Troca @ Say para oPrn:CharSay(... Cria uma dialog no primeiro GET para WS ou não Fecha a dialog no primeito READ Cria as linhas PRINT ENDPRINT, PAGE ENDPAG Cria uma função para controlar o tamanho do fonte Cria uma ListBox para WS conforme os dados da DBEDIT(), com o HEADER FIELDS etc e por aí vai. Muda nome de varios comandos, por exemplo: SKIP n para DbSkip(n) UNLOCK para DbUnlock ... São três fontes uma para cada finalidade. No inicio de cada um deles tem um comentarios explicando tudo. Não sei ainda como disponibilizar nas dicas, mas vocês podem baixar de Hostname: ftp.siscom.pro.br Username: conversor@siscom.pro.br Password: conversor Boa Sorte
  16. Olá meus amigos do forum. Desde quando comecei a migrar minhas aplicações para FWH 7.01, em 04/2007 que iniciei a construção de uma ferramenta para ajudar nas minhas conversoes e gostaria de disponibilizá-la aqui para vocês e inclusive pedir sugestões. O que ela já converte hoje: CONVPCDX.PRG - DBF/NTX para DBF/CDX CONVINDE.PRG - Index on do modo NTX (vários índices) para o modo CDX, com TAG e tudo mais - Set index do modo NTX para o o modo CDX, ou seja, onde tem um set index abrindo varios indices ele transforma só para um CONVFWIN.PRG - Esse é o melhor: Converte um relatorio escrito em Clipper para o modo FW Troca @ Say para oPrn:CharSay(... Cria uma dialog no primeiro GET para WS ou não Fecha a dialog no primeito READ Cria as linhas PRINT ENDPRINT, PAGE ENDPAG Cria uma função para controlar o tamanho do fonte Cria uma ListBox para WS conforme os dados da DBEDIT(), com o HEADER FIELDS etc e por aí vai. Muda nome de varios comandos, por exemplo: SKIP n para DbSkip(n) UNLOCK para DbUnlock ... São três fontes uma para cada finalidade. No inicio de cada um deles tem um comentarios explicando tudo. Não sei ainda como disponibilizar nas dicas, mas vocês podem baixar de Hostname: ftp.siscom.pro.br Username: conversor@siscom.pro.br Password: conversor Boa Sorte
  17. Obrigado Yury pela colaboração e desculpe a bincadeira. Paulo araujo a sua dica caiu como uma luva. Aproveito para comunicar que neste final de semana estarei postando o tópico "O CONVERSOR". Trata-se de um conversor de código CLipper para FW que estou desenvolvendo e inclusive, a parte que abrange relatorios já está bem avançada. Vou disponibilizar para a galera do forum nas dicas e por ftp a partir do meu site. Muito o brigado.
  18. olá Yury. Desculpe-me, ainda sou meio cabação em FWH 7.01. Vc quis dezer que para eu informar as coordenadas em pixel eu devo somente incluir no início do programa constant.ch? Obrigado
  19. Olá meus amigos. Certamente algum Clippeiro, engatinhando no FWH como eu já deve ter tocado nesse assunto: os says e os gets. Como alinhá-los em uma dialog, só utilizando o código, sem o uso de uma form do Workshop. Será que isto é possível. Se algué tem alguma boa idéia, por favor me diga. Desde já agradeço Harbraço. Editado por - jfaguiar on 24/08/2007 10:40:34
  20. Olá meus amigos. Certamente algum Clippeiro, engatinhando no FWH como eu já deve ter tocado nesse assunto: os says e os gets. Como alinhá-los em uma dialog, só utilizando o código, sem o uso de uma form do Workshop. Será que isto é possível. Se algué tem alguma boa idéia, por favor me diga. Desde já agradeço Harbraço. Editado por - jfaguiar on 24/08/2007 10:40:34
  21. Pô Kapiaba, vc é o cara! Foi uma bendita linha horizontal que coloquei na minha form com o WS. Obrigado meu caro.
  22. Olá Pessoal. Quando executo este programa funciona até a linha do MsgAlert e logo quando press. enter dar o erro abaixo: Path and name: C:\SISCOM\FNTWIN\SGCW.exe (32 bits) Size: 1,334,784 bytes Time from start: 0 hours 0 mins 17 secs Error occurred at: 20/08/07, 17:50:46 Error description: Error FiveWin/3 Cannot create Dialog Box: Resource: FINP001 Não vejo erro algum, alguém ver? Abraços ********************************************************** nORDEM := 2 nTOTPEND := 0 DbSelectArea("ARQCPAG") SET RELATION TO RECCLI INTO ARQFOR SET RELATION ADDITIVE TO RECCONT INTO ARQPLC SET ORDE TO 2 // SET SOFTSEEK ON SEEK DTOS(DATE()) SUM RECVAL TO nTOTPEND WHILE RECDVEN=DATE() FOR EMPTY(RECDBXA) IF !EMPTY(nTOTPEND) MsgAlert("Títulos a pagar hoje "+TRIM(ARQPARAM->PMOEDA)+": "+LTRIM( TRANSF(nTOTPEND,"@E 9,999,999.99")) ) ENDIF SEEK DTOS(DATE()) SET SOFTSEEK OFF // DEFINE DIALOG oDlg RESOURCE "FINP001" OF oWnd REDEFINE LISTBOX oLbx ; FIELDS EX_FORPLC(20),RECSEQ,STR(RECPARC,2),STR(RECVAL,10,2),DTOC(RECDVEN),DTOC(RECDBXA),DTOC(RECDEMI),RECCHAV; SIZES 56, 320 ; HEADERS "FORNECEDOR","DOCUMENTO","PC"," VALOR" ,"VENCTO","DT.PAGTO","EMISSAO","CHAV.FIN"; ID 101 OF oDlg REDEFINE BUTTON ID 102 OF oDlg ACTION DBFINP001("I",oLbx,oDlg) REDEFINE BUTTON ID 103 OF oDlg ACTION DBFINP001("A",oLbx,oDlg) REDEFINE BUTTON ID 104 OF oDlg ACTION DBFINP001("E",oLbx,oDlg) REDEFINE BUTTON ID 105 OF oDlg ACTION DBFINP001("B",oLbx,oDlg) REDEFINE BUTTON ID 106 OF oDlg ACTION DBFINP001("P",oLbx,oDlg) REDEFINE BUTTON ID 107 OF oDlg ACTION ( oDlg:End() ) ACTIVATE DIALOG oDlg CENTERED // tiva a janela de dialogo SET RELATION TO SELECT ARQPLC SET FILTER TO CLOSE DA DATABASE RETURN ************************************************************ Editado por - jfaguiar on 20/08/2007 21:07:26
  23. Olá Pessoal. Quando executo este programa funciona até a linha do MsgAlert e logo quando press. enter dar o erro abaixo: Path and name: C:\SISCOM\FNTWIN\SGCW.exe (32 bits) Size: 1,334,784 bytes Time from start: 0 hours 0 mins 17 secs Error occurred at: 20/08/07, 17:50:46 Error description: Error FiveWin/3 Cannot create Dialog Box: Resource: FINP001 Não vejo erro algum, alguém ver? Abraços ********************************************************** nORDEM := 2 nTOTPEND := 0 DbSelectArea("ARQCPAG") SET RELATION TO RECCLI INTO ARQFOR SET RELATION ADDITIVE TO RECCONT INTO ARQPLC SET ORDE TO 2 // SET SOFTSEEK ON SEEK DTOS(DATE()) SUM RECVAL TO nTOTPEND WHILE RECDVEN=DATE() FOR EMPTY(RECDBXA) IF !EMPTY(nTOTPEND) MsgAlert("Títulos a pagar hoje "+TRIM(ARQPARAM->PMOEDA)+": "+LTRIM( TRANSF(nTOTPEND,"@E 9,999,999.99")) ) ENDIF SEEK DTOS(DATE()) SET SOFTSEEK OFF // DEFINE DIALOG oDlg RESOURCE "FINP001" OF oWnd REDEFINE LISTBOX oLbx ; FIELDS EX_FORPLC(20),RECSEQ,STR(RECPARC,2),STR(RECVAL,10,2),DTOC(RECDVEN),DTOC(RECDBXA),DTOC(RECDEMI),RECCHAV; SIZES 56, 320 ; HEADERS "FORNECEDOR","DOCUMENTO","PC"," VALOR" ,"VENCTO","DT.PAGTO","EMISSAO","CHAV.FIN"; ID 101 OF oDlg REDEFINE BUTTON ID 102 OF oDlg ACTION DBFINP001("I",oLbx,oDlg) REDEFINE BUTTON ID 103 OF oDlg ACTION DBFINP001("A",oLbx,oDlg) REDEFINE BUTTON ID 104 OF oDlg ACTION DBFINP001("E",oLbx,oDlg) REDEFINE BUTTON ID 105 OF oDlg ACTION DBFINP001("B",oLbx,oDlg) REDEFINE BUTTON ID 106 OF oDlg ACTION DBFINP001("P",oLbx,oDlg) REDEFINE BUTTON ID 107 OF oDlg ACTION ( oDlg:End() ) ACTIVATE DIALOG oDlg CENTERED // tiva a janela de dialogo SET RELATION TO SELECT ARQPLC SET FILTER TO CLOSE DA DATABASE RETURN ************************************************************ Editado por - jfaguiar on 20/08/2007 21:07:26
  24. Tudo Ok. Valeu pessoal Muito obrigado.
×
×
  • Create New...