Clipper On Line • Ver Tópico - Consulta optante do simples online

Consulta optante do simples online

Projeto Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

 

Consulta optante do simples online

Mensagempor gilbertosilverio » 31 Out 2017 09:08

Jairo, Amigos,

Me desculpem, baixei a nova versão, mais na hora de descompactar, usei a anterior...

Me perdoem, esta funcionando perfeitamente, ficou muito pratico... parabéns Daniel.

:-Y :-Y :-Y
gilbertosilverio
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 332
Data de registro: 18 Jan 2009 09:39
Cidade/Estado: Ribeirao Pires - SP
Curtiu: 1 vez
Mens.Curtidas: 23 vezes

Consulta optante do simples online

Mensagempor gilbertosilverio » 31 Out 2017 09:13

Daniel,

Clicando sobre o botão limpar da este erro.

<HTML><HEAD><TITLE>Harbour MiniGUI Errorlog File</TITLE></HEAD><style> body{ font-family: sans-serif;background-color: #ffffff;font-size: 75%;color: #000000;}h1{font-family: sans-serif;font-size: 150%;color: #0000cc;font-weight: bold;background-color: #f0f0f0;}.updated{font-family: sans-serif;color: #cc0000;font-size: 110%;}.normaltext{font-family: sans-serif;font-size: 100%;color: #000000;font-weight: normal;text-transform: none;text-decoration: none;}</style><BODY>
<H1 Align=Center>Harbour MiniGUI Errorlog File</H1><BR>
<HR>
<p class="updated">Application: C:\Users\gilbe\Desktop\BaixaNFE\impnfenovo.exe<BR>
Date: 10/31/17  Time: 10:10:08<BR>
Time from start: 0 days 0 hours 0 mins 6 secs<BR>
Error MGERROR/0  Control: oTxt_captcha Of principal Not defined. Program terminated.</p><BR>
Called from MSGMINIGUIERROR(94) in module: h_error.prg
<BR>
Called from SETPROPERTY(3629) in module: h_controlmisc.prg
<BR>
Called from LIMPAR(48) in module: impnfenovo.prg
<BR>
Called from (b)MAIN(67) in module: impnfenovo.prg
<BR>
Called from _DOCONTROLEVENTPROCEDURE(1795) in module: h_windows.prg
<BR>
Called from EVENTS(1730) in module: h_events.prg
<BR>
Called from DOMESSAGELOOP(0)
<BR>
Called from _ACTIVATEWINDOW(1449) in module: h_windows.prg
<BR>
Called from MAIN(40) in module: impnfenovo.prg
<BR>
<HR>
</BODY></HTML><p class="updated">Application: C:\Users\gilbe\Desktop\BaixaNFE\impnfenovo.exe<BR>
Date: 10/31/17  Time: 10:10:53<BR>
Time from start: 0 days 0 hours 0 mins 2 secs<BR>
Error MGERROR/0  Control: oTxt_captcha Of principal Not defined. Program terminated.</p><BR>
Called from MSGMINIGUIERROR(94) in module: h_error.prg
<BR>
Called from SETPROPERTY(3629) in module: h_controlmisc.prg
<BR>
Called from LIMPAR(48) in module: impnfenovo.prg
<BR>
Called from (b)MAIN(67) in module: impnfenovo.prg
<BR>
Called from _DOCONTROLEVENTPROCEDURE(1795) in module: h_windows.prg
<BR>
Called from EVENTS(1730) in module: h_events.prg
<BR>
Called from DOMESSAGELOOP(0)
<BR>
Called from _ACTIVATEWINDOW(1449) in module: h_windows.prg
<BR>
Called from MAIN(40) in module: impnfenovo.prg
<BR>
<HR>
</BODY></HTML>
gilbertosilverio
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 332
Data de registro: 18 Jan 2009 09:39
Cidade/Estado: Ribeirao Pires - SP
Curtiu: 1 vez
Mens.Curtidas: 23 vezes

Consulta optante do simples online

Mensagempor marcelo.chakal » 31 Out 2017 09:46

fladimir escreveu:O Rubens e o esquema de pegar o Captcha q nem o colega postou e eu perguntei como fez vc sabe? Ele não respondeu.


Opa galera, desculpe a demora, estive fora desde a semana passada.

Então Fladimir, o que eu fiz foi um esquema utilizando a linguagem R, é bemmm complicado a criação do serviço, mas eu fiz e disponibilizei em um servidor.

Basta você enviar para este link: http://35.193.152.7:8000/predict_rfb passando o post no parametro IMG a imagem em base64. No código do Daniel, na função "AtualizaImagem", ele faz o download da imagem em base64 já e grava na variável cFile. Sendo assim, é só utilizar o código abaixo.

/* PROCESSA A IMAGEM */   
    cParm:= {{"img", cFile}}
         
   Try
      oInternet:= TIPClientHTTP():New("http://35.193.152.7:8000/predict_rfb", .f.)
      oInternet:nConnTimeout:= 10000
   Catch
      IIf(lUsarMiniGui, MsgInfo('Erro na criação do serviço'), Alert('Erro na Criação do Serviço'))
        Return .f.
      End
      
   If oInternet:Open()
      If oInternet:POST(cParm)
         cHtml:= oInternet:ReadAll()
      Else
         IIf(lUsarMiniGui, MsgInfo('Erro na criacao do arquivo de imagem', 'Aviso do Sistema'), Alert('Erro na criação do arquivo de imagem', 'Aviso do Sistema'))
            Return .F.
      EndIf
   Else
      IIf(lUsarMiniGui, msgInfo('Erro na Conexão'), Alert('Erro na Conexão'))
         Return .f.
   EndIf
   cHtml := StrTran(cHtml, '["', '')
   cHtml := StrTran(cHtml, '"]', '')
   principal.oTxt_captcha.Value:=cHtml
   
   /* FIM */


Deu pra entender? Se achar melhor, posso passar a função atualiza imagem inteira.
Avatar de usuário

marcelo.chakal
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 19
Data de registro: 29 Ago 2017 14:19
Curtiu: 2 vezes
Mens.Curtidas: 0 vez

Consulta optante do simples online

Mensagempor marcelo.chakal » 31 Out 2017 09:47

Segue a função AtualizaImagem com o processamento do captcha.

Function AtualizaImagem()
   Local oInternet, cParm
   
   Try
      oServer:= win_OleCreateObject( "MSXML2.ServerXMLHTTP.5.0")
   Catch
      IIf(lUsarMiniGui, MsgInfo('Erro na Criação do Serviço'), Alert('Erro na Criação do Serviço'))
      Return .f.
   End
   Try
      oServer:Open( "GET", cUrl, .f. )
      oServer:SetRequestHeader( "Content-Type", "application/x-www-form-urlencoded" )
      oServer:SetRequestHeader( "Connection", "keep-alive" )
      oServer:Send()
      oServer:WaitForResponse( 10000 )
   Catch
      IIf(lUsarMiniGui, MsgInfo('Erro na Conexão com o Site'), Alert('Erro na Conexão com o Site'))
      Return .f.
   End
   cHtml:= oServer:ResponseBody
   cStringCookie:= oServer:getResponseHeader("Set-Cookie")

   nInie   := At('id="ctl00_ContentPlaceHolder1_lblMensagemErro">',  cHtml) + 47
   If nInie > 47
      cHtml1  := SubStr( cHtml, nInie)
      nFime   := At('</span>', cHtml1) - 1
      cMsgErro:= SubStr(cHtml, nInie, nFime)
      If ! Empty(cMsgErro)
         IIf(lUsarMiniGui, MsgInfo(cMsgErro, 'Erro no Site ' + cUrl), Alert(cMsgErro, 'Erro no Site ' + cUrl))
         Return .f.
      EndIf
   EndIf
   nIni  := At('id="__VIEWSTATE" value=',  cHtml) + 24
   cHtml1:= SubStr( cHtml, nIni)
   nFim  := At('" />', cHtml1) - 1
   cViewState:= SubStr(cHtml, nIni, nFim)

   nIni1 := At('id="__EVENTVALIDATION" value="',  cHtml) + 30
   cHtml1:= SubStr( cHtml, nIni1)
   nFim1 := At('" />', cHtml1) - 1
   cEeventValidation:= SubStr(cHtml, nIni1, nFim1)

   nIni2 := At('id="__VIEWSTATEGENERATOR" value="',  cHtml) + 33
   cHtml1:= SubStr( cHtml, nIni2)
   nFim2 := At('" />', cHtml1) - 1
   cViewStateGenerator:= SubStr(cHtml, nIni2, nFim2)

   nIni3 := At('id="ctl00_ContentPlaceHolder1_token" value="',  cHtml) + 44
   cHtml1:= SubStr( cHtml, nIni3)
   nFim3 := At('" />', cHtml1) - 1
   cHiddenToken:= SubStr(cHtml, nIni3, nFim3)

   nIni4 := At('id="ctl00_ContentPlaceHolder1_captchaSom" value="',  cHtml) + 49
   cHtml1:= SubStr( cHtml, nIni4)
   nFim4 := At('" />', cHtml1) - 1
   cHiddenSom:= SubStr(cHtml, nIni4, nFim4)

   nIni  := At('data:image/png;base64,',  cHtml) + 22
   cHtml1:= SubStr(cHtml, nIni)
   nFim  := At('" />', cHtml1) - 1
   cFile:= SubStr(cHtml, nIni, nFim)
   txt_file:=fcreate("captcha.png", 0)
   If (!(ferror() = 0))
      IIf(lUsarMiniGui, MsgInfo("Erro de criacao do arquivo de imagem " + Str(ferror(), 3, 0)),    Alert("Erro de criacao do arquivo de imagem " + Str(ferror(), 3, 0)))
      Return .f.
   EndIf

   cCodigo:= SubStr(cHtml, nIni, nFim)
   If Empty(cCodigo)
      IIf(lUsarMiniGui, MsgInfo("Erro de criacao do arquivo de imagem"), Alert("Erro de criacao do arquivo de imagem"))
      Return .f.
   EndIf
   
   /* PROCESSA A IMAGEM */
   
    cParm:= {{"img", cFile}}
         
   Try
      oInternet:= TIPClientHTTP():New("http://35.184.33.72:8000/predict_rfb", .f.)
      oInternet:nConnTimeout:= 10000
   Catch
      IIf(lUsarMiniGui, MsgInfo('Erro na criação do serviço'), Alert('Erro na Criação do Serviço'))
        Return .f.
      End
      
   If oInternet:Open()
      If oInternet:POST(cParm)
         cHtml:= oInternet:ReadAll()
      Else
         IIf(lUsarMiniGui, MsgInfo('Erro na criacao do arquivo de imagem', 'Aviso do Sistema'), Alert('Erro na criação do arquivo de imagem', 'Aviso do Sistema'))
            Return .F.
      EndIf
   Else
      IIf(lUsarMiniGui, msgInfo('Erro na Conexão'), Alert('Erro na Conexão'))
         Return .f.
   EndIf
   cHtml := StrTran(cHtml, '["', '')
   cHtml := StrTran(cHtml, '"]', '')
   principal.oTxt_captcha.Value:=cHtml
   
   /* FIM */
   
    cFile:= hb_base64Decode(cFile, cCodigo)
    FWrite(txt_file, cFile)
    FClose(txt_file)
    SetProperty ('principal', 'oImg_captcha', 'Picture', 'Captcha.png')
    principal.Button_1.Enabled:=.T.
   
   Return .t.
Avatar de usuário

marcelo.chakal
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 19
Data de registro: 29 Ago 2017 14:19
Curtiu: 2 vezes
Mens.Curtidas: 0 vez

Consulta optante do simples online

Mensagempor fladimir » 31 Out 2017 10:07

Obrigado pelo retorno colega.
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2434
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

Consulta optante do simples online

Mensagempor marcelo.chakal » 31 Out 2017 11:29

fladimir escreveu:Obrigado pelo retorno colega.


Nada, se tiver alguma duvida, só me avisar. Como disse, sou bem leigo em Harbour kk, mas no que eu puder ajudar, estarei disposto.
Avatar de usuário

marcelo.chakal
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 19
Data de registro: 29 Ago 2017 14:19
Curtiu: 2 vezes
Mens.Curtidas: 0 vez

Consulta optante do simples online

Mensagempor Wanderlei » 01 Nov 2017 06:52

Oi Daniel, não consegui utilizar, aparece a mensagem que o Captcha é obrigatório marcar.
Wanderlei Cardoso
Analista / Programador
XHarbour + GtWvW + FiveWin + HwGui + Firebird
Skype: cwanderlei
cwanderlei@yahoo.com.br
(62)98171-3059 - whatsapp

Imagem
Avatar de usuário

Wanderlei
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 183
Data de registro: 25 Jan 2008 12:19
Cidade/Estado: Goiânia - GO
Curtiu: 13 vezes
Mens.Curtidas: 5 vezes

Consulta optante do simples online

Mensagempor Daniel » 01 Nov 2017 07:51

Tava com uma fala no captcha e eles arrumarão.
Vamos tem que continuar com a versão velha
Pois ta difícil de quebrar o captcha :(
Daniel

Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
Avatar de usuário

Daniel
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 373
Data de registro: 13 Ago 2003 22:42
Cidade/Estado: Apucarana - PR
Curtiu: 0 vez
Mens.Curtidas: 36 vezes

Consulta optante do simples online

Mensagempor edmarfrazao » 01 Nov 2017 08:25

a rotina parou.



Acho que devemos ter duas opções.

1)Automática

2)Se a automática falhar ter a opção de:

Manual abrindo o Internet Explorer e digitando o eu sou robo e depois importando(este fiz usando o exemplo acima e gerei com xharbour e hwgui)
www.sesistemas.net/baixanfe.zip
edmarfrazao
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 185
Data de registro: 06 Dez 2005 10:16
Curtiu: 1 vez
Mens.Curtidas: 0 vez

Consulta optante do simples online

Mensagempor Jairo Maia » 01 Nov 2017 09:05

Olá pessoal,

Apenas lembrando que o link da consulta antiga mudou de http para https:
https://www.nfe.fazenda.gov.br/portal/consultaResumoCompletaAntiga.aspx?tipoConsulta=completa&tipoConteudo=XbSeqxE8pl8=

Se tenta baixar vem o captcha mas dá erro de criação do serviço.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar de usuário

Jairo Maia
Colaborador

Colaborador
 
Mensagens: 2733
Data de registro: 16 Ago 2010 13:46
Cidade/Estado: Campinas-SP
Curtiu: 371 vezes
Mens.Curtidas: 305 vezes

Consulta optante do simples online

Mensagempor marcelo.chakal » 01 Nov 2017 09:18

Pessoal, fiz um ajuste, testem este exe agora.
Criem uma pasta em C:/NFe é onde os arquivos baixados irão diretamente pra esta pasta.

Caso alguém queira, segue a função AtualizarImagem atualizado:

Function AtualizaImagem()
   Local oInternet, cParm
   
   Try
      oServer:= win_OleCreateObject( "MSXML2.ServerXMLHTTP.5.0")
   Catch
      IIf(lUsarMiniGui, MsgInfo('Erro na Criação do Serviço'), Alert('Erro na Criação do Serviço'))
      Return .f.
   End
   Try
      oServer:Open( "GET", cUrl, .f. )
     oServer:SetRequestHeader( "Content-Type", "application/x-www-form-urlencoded" )
      oServer:SetRequestHeader( "Connection", "keep-alive" )
      oServer:Send()
      oServer:WaitForResponse( 10000 )
   Catch
      IIf(lUsarMiniGui, MsgInfo('Erro na Conexão com o Site'), Alert('Erro na Conexão com o Site'))
      Return .f.
   End
   cHtml:= oServer:ResponseBody
   cStringCookie:= oServer:getResponseHeader("Set-Cookie")

   nInie   := At('id="ctl00_ContentPlaceHolder1_lblMensagemErro">',  cHtml) + 47
   If nInie > 47
      cHtml1  := SubStr( cHtml, nInie)
      nFime   := At('</span>', cHtml1) - 1
      cMsgErro:= SubStr(cHtml, nInie, nFime)
      If ! Empty(cMsgErro)
         IIf(lUsarMiniGui, MsgInfo(cMsgErro, 'Erro no Site ' + cUrl), Alert(cMsgErro, 'Erro no Site ' + cUrl))
         Return .f.
      EndIf
   EndIf
   nIni  := At('id="__VIEWSTATE" value=',  cHtml) + 24
   cHtml1:= SubStr( cHtml, nIni)
   nFim  := At('" />', cHtml1) - 1
   cViewState:= SubStr(cHtml, nIni, nFim)

   nIni1 := At('id="__EVENTVALIDATION" value="',  cHtml) + 30
   cHtml1:= SubStr( cHtml, nIni1)
   nFim1 := At('" />', cHtml1) - 1
   cEeventValidation:= SubStr(cHtml, nIni1, nFim1)

   nIni2 := At('id="__VIEWSTATEGENERATOR" value="',  cHtml) + 33
   cHtml1:= SubStr( cHtml, nIni2)
   nFim2 := At('" />', cHtml1) - 1
   cViewStateGenerator:= SubStr(cHtml, nIni2, nFim2)

   nIni3 := At('id="ctl00_ContentPlaceHolder1_token" value="',  cHtml) + 44
   cHtml1:= SubStr( cHtml, nIni3)
   nFim3 := At('" />', cHtml1) - 1
   cHiddenToken:= SubStr(cHtml, nIni3, nFim3)

   nIni4 := At('id="ctl00_ContentPlaceHolder1_captchaSom" value="',  cHtml) + 49
   cHtml1:= SubStr( cHtml, nIni4)
   nFim4 := At('" />', cHtml1) - 1
   cHiddenSom:= SubStr(cHtml, nIni4, nFim4)

   nIni  := At('data:image/png;base64,',  cHtml) + 22
   cHtml1:= SubStr(cHtml, nIni)
   nFim  := At('" />', cHtml1) - 1
   cFile:= SubStr(cHtml, nIni, nFim)
   txt_file:=fcreate("captcha.png", 0)
   If (!(ferror() = 0))
      IIf(lUsarMiniGui, MsgInfo("Erro de criacao do arquivo de imagem " + Str(ferror(), 3, 0)),    Alert("Erro de criacao do arquivo de imagem " + Str(ferror(), 3, 0)))
      Return .f.
   EndIf

   cCodigo:= SubStr(cHtml, nIni, nFim)
   If Empty(cCodigo)
      IIf(lUsarMiniGui, MsgInfo("Erro de criacao do arquivo de imagem"), Alert("Erro de criacao do arquivo de imagem"))
      Return .f.
   EndIf
   
   /* PROCESSA A IMAGEM */
   
    cParm:= {{"img", cFile}}
         
   Try
      oInternet:= TIPClientHTTP():New("http://35.184.33.72:8000/predict_rfb", .f.)
      oInternet:nConnTimeout:= 10000
   Catch
      IIf(lUsarMiniGui, MsgInfo('Erro na criação do serviço'), Alert('Erro na Criação do Serviço'))
        Return .f.
      End
      
   If oInternet:Open()
      If oInternet:POST(cParm)
         cHtml:= oInternet:ReadAll()
      Else
         IIf(lUsarMiniGui, MsgInfo('Erro na criacao do arquivo de imagem', 'Aviso do Sistema'), Alert('Erro na criação do arquivo de imagem', 'Aviso do Sistema'))
            Return .F.
      EndIf
   Else
      IIf(lUsarMiniGui, msgInfo('Erro na Conexão'), Alert('Erro na Conexão'))
         Return .f.
   EndIf
   cHtml := StrTran(cHtml, '["', '')
   cHtml := StrTran(cHtml, '"]', '')
   principal.oTxt_captcha.Value:=cHtml
   
   /* FIM */
   
    cFile:= hb_base64Decode(cFile, cCodigo)
    FWrite(txt_file, cFile)
    FClose(txt_file)
    SetProperty ('principal', 'oImg_captcha', 'Picture', 'Captcha.png')
    principal.Button_1.Enabled:=.T.
   
   Return .t.


Basta trocar a função AtualizaImagem() que tem no pgr por esta.
Anexos
impnfe_com_captcha.rar
Com leitura do captcha
(867.11 KiB) Baixado 122 vezes
Avatar de usuário

marcelo.chakal
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 19
Data de registro: 29 Ago 2017 14:19
Curtiu: 2 vezes
Mens.Curtidas: 0 vez

Consulta optante do simples online

Mensagempor janio » 01 Nov 2017 09:33

Nada, se tiver alguma duvida, só me avisar. Como disse, sou bem leigo em Harbour kk, mas no que eu puder ajudar, estarei disposto.


Leigo em Harbour e ja fez isso? kkkkk
ta de brinks
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar de usuário

janio
Colaborador

Colaborador
 
Mensagens: 1835
Data de registro: 06 Jul 2004 07:43
Cidade/Estado: UBAJARA - CE
Curtiu: 8 vezes
Mens.Curtidas: 68 vezes

Consulta optante do simples online

Mensagempor edmarfrazao » 01 Nov 2017 09:41

Este ultima versão esta funcionado

mas so se criar o diretorio c:\nfe

não poderia receber um parametro chave e diretorio

e se não informado salvar na pasta corrente.

Poderia posta os fontes?
edmarfrazao
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 185
Data de registro: 06 Dez 2005 10:16
Curtiu: 1 vez
Mens.Curtidas: 0 vez

Consulta optante do simples online

Mensagempor marcelo.chakal » 01 Nov 2017 10:33

edmarfrazao escreveu:Este ultima versão esta funcionado

mas so se criar o diretorio c:\nfe

não poderia receber um parametro chave e diretorio

e se não informado salvar na pasta corrente.

Poderia posta os fontes?


É o mesmo fonte, só fiz uns ajustes pra salvar sem perguntar, mas basta trocar a função AtualizaImagem, pela que eu postei.
Avatar de usuário

marcelo.chakal
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 19
Data de registro: 29 Ago 2017 14:19
Curtiu: 2 vezes
Mens.Curtidas: 0 vez

Consulta optante do simples online

Mensagempor Jairo Maia » 01 Nov 2017 11:26

Olá Pessoal,

Marcelo, ao executar seu exe dá a mensagem: Erro de conexão com o site, e não vem o captcha.

Nos fontes do Daniel, se alterar a variavel cUrl para:
https://www.nfe.fazenda.gov.br/portal/consultaResumoCompletaAntiga.aspx?tipoConsulta=completa&tipoConteudo=XbSeqxE8pl8=, vem o captcha, mas ao pressionar Continuar dá o erro: Erro na criação do serviço.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar de usuário

Jairo Maia
Colaborador

Colaborador
 
Mensagens: 2733
Data de registro: 16 Ago 2010 13:46
Cidade/Estado: Campinas-SP
Curtiu: 371 vezes
Mens.Curtidas: 305 vezes

Anterior Próximo



Retornar para Harbour

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 8 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro