Clipper On Line • Ver Tópico - RUN

RUN

Discussão sobre a linguagem CA-Clipper.

Moderador: Moderadores

 

RUN

Mensagempor juniorcamilo » 03 Jan 2017 14:39

boa tarde!!

estou tentando diminuir o tamanho do exe!! com isso to separando em 2 exe!! quando chamo um exe com o comando run XXX.exe de dentro do executável ele pisca a tela!!! a pergunta é: Tem uma forma de não pisca a tela?
Avatar de usuário

juniorcamilo
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 343
Data de registro: 10 Nov 2006 08:12
Cidade/Estado: Pará
Curtiu: 29 vezes
Mens.Curtidas: 2 vezes

RUN

Mensagempor juniorcamilo » 03 Jan 2017 14:44

amigos..
juniorcamilo escreveu:boa tarde!!

estou tentando diminuir o tamanho do exe!! com isso to separando em 2 exe!! quando chamo um exe com o comando run XXX.exe de dentro do executável ele pisca a tela!!! a pergunta é: Tem uma forma de não pisca a tela?


amigos quando compilei sem o debug parou de piscar!!!
Avatar de usuário

juniorcamilo
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 343
Data de registro: 10 Nov 2006 08:12
Cidade/Estado: Pará
Curtiu: 29 vezes
Mens.Curtidas: 2 vezes

RUN

Mensagempor rochinha » 07 Jan 2017 17:33

Amiguinhos,

juniorcamilo, você ainda usa RTLink? Já usa bLinker? Já usa Exospace(Clipper 5.3 acima)? Tá criando somente um executável? Conhece .OVL, Conhece .PLL?
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

RUN

Mensagempor JoséQuintas » 07 Jan 2017 21:02

Opções:

- RTLINK: usa até 640KB memória, fazendo "rodízio" de rotinas
- EXOSPACE: usa até 8MB de memória, carregando tudo de uma vez
- BLINKER 7: usa até 16MB de memória, carregando tudo de uma vez, e também permite compactar EXE

Nota do RTLINK:

De nada adianta ter rodízio de rotinas, se compilar tudo junto, usando CLP, porque o tamanho da rotina será gigante.
Pra melhor aproveitamento do rtlink, é compilar os PRGs isoladamente, e depois linqueditar tudo.

Separar EXEs tem vantagens e desvantagens.
Mas convém separar somente se necessário mesmo.

Lembrando que dependendo do trabalho, o Harbour poderia ser uma opção pra resolver tudo de uma vez.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

RUN

Mensagempor Nascimento » 07 Jan 2017 22:40

usava muito o blinker, e com ovl´s e dll´s que facilitavam muito minha vida
e usava o comando do proprio blinker swruncmd("meuaplicativo.exe")
achava melhor que o comando run....
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina :) clipper 5.3 /harbour/minigui
Avatar de usuário

Nascimento
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 711
Data de registro: 19 Jul 2008 12:11
Cidade/Estado: OLINDA-PE
Curtiu: 110 vezes
Mens.Curtidas: 76 vezes

RUN

Mensagempor juniorcamilo » 12 Jan 2017 15:09

uso blinker e swruncmd("meuaplicativo.exe")

estou usado agora 2 .exe, ficou melhor,, separei os Relatórios do corpo principal do Sistema!!

agora estou trabalhando para separa a NFE do corpo principal do Sistema!!

o sistema estava passando de 3 Mb!!
Avatar de usuário

juniorcamilo
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 343
Data de registro: 10 Nov 2006 08:12
Cidade/Estado: Pará
Curtiu: 29 vezes
Mens.Curtidas: 2 vezes

RUN

Mensagempor juniorcamilo » 12 Jan 2017 15:13

rochinha escreveu: Conhece .OVL, Conhece .PLL?


Nao Conheço!!
Avatar de usuário

juniorcamilo
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 343
Data de registro: 10 Nov 2006 08:12
Cidade/Estado: Pará
Curtiu: 29 vezes
Mens.Curtidas: 2 vezes

RUN

Mensagempor JoséQuintas » 12 Jan 2017 16:08

Overlay (OVL) é do tempo do PLINK6.
PLL nunca cheguei a usar.
BLINKER com overlay é péssimo, fica limitado a 640kb

BLINKER em modo extendido é a melhor opção.

Outra opção também, com BLINKER, é usar DLL.
Sim, DLL, mas DLL pra ser usada em programas usando Blinker.
Ao invés de 2 EXEs, um EXE usando DLLs.

A mesma vantagem de programas Windows: Pode trocar PARTE do programa, ao invés do programa inteiro, bastando trocar a DLL.
Cheguei a usar por um tempo.

Só carrega a DLL quando precisar.
e so compila o que está na DLL quando quiser.

É diferente de overlay: na overlay, você recompila tudo.
Usando DLL, separa o EXE em pedaços, e pode compilar cada DLL/pedaço individualmente, QUANDO quiser.

Mas como eu disse antes, se é pra se aprofundar, melhor se aprofundar no Harbour, e resolver tudo de vez.
Se não tiver outro jeito, ainda tem essas opções com Blinker.

Aliás... ultrapassar o limite do Blinker em modo extendido é difícil, talvez só se o EXE tiver mais de 10MB, o que em Clipper é dificil.
Se menos que isso tiver problema, sinal de que está usando Blinker de forma ERRADA, sem tirar proveito do modo extendido.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

RUN

Mensagempor JoséQuintas » 12 Jan 2017 16:15

o sistema estava passando de 3 Mb!!


Isso pra Blinker não é nada.
Use modo extendido.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

RUN

Mensagempor JoséQuintas » 12 Jan 2017 16:22

É direto do meu gerenciador de compilação, pra gerar o LINK.
Na parte das LIBs, acrescente as que usar (se usar)

      ? "blinker clipper symbol off" // 20/06
      ? "blinker executable clipper F250"
      ? "blinker environment override"
      ? "blinker executable extended"
      ? "blinker executable compress"
      ? "blinker incremental off"
      ? "blinker procedure depth 120"
      ? "blinker executable alignment 128"
      ? "blinker extmem limit 8000"
      ? "blinker lowmem reserve 32"
      ? "blinker message wink"
...
FI nomearquivo
fi nomearquivo
...
      ? "file \cdrom\fontes\lib\apporign" // Maligno AppPath
      ? "file \cdrom\fontes\lib\volsernr" // Maligno Vol.Serial
      ? "file \cdrom\fontes\lib\crc32clc" // Maligno CRC32
      ? "lib \cdrom\fontes\lib\OsLib"     // não usar 100% CPU
      ? "lib Super"
         // ? "file blxclp52" // no caso de rodar DLL
         ? "search blxclp52"
         ? "search six3"
         ? "file \cdrom\fontes\lib\sixuk"
         // ? "file \cdrom\fontes\lib\sixcdx" // usa somente sixcdx


Seu EXE pode ter até 8MB ou mais, e continua funcionando normalmente.
Apesar que tem a compactação... que vai deixar menor.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

RUN

Mensagempor JoséQuintas » 12 Jan 2017 16:33

Até rodei num XP virtual aqui.

Repare o retorno de Memory(0), 4.6MB de memória
Isso vai confirmar se está usando modo extendido ou não.
Senão o retorno vai ser uns míseros kbytes....

Sem blinker modo extendido, nem um programa vazio não retorna isso.

? Memory(0)


clipper.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

RUN

Mensagempor JoséQuintas » 12 Jan 2017 16:48

um teste mais completo:

? memory(0)


clipper test
rtlink fi test
test
427

clipper test
blinker fi test
test
410

clipper test
exospace fi test
test
1886

clipper test
blinker fi test blinker executable extended lib blxclp52
test
65.515


Falei até errado. O limite do blinker é maior do que eu mencionei.
E na minha compilação limitava a 8mb só por precaução, mas nunca tive nenhum problema.
Está aí a diferença entre blinker modo extendido e os demais linqueditores/modos.

Acabei de fazer o teste usando Clipper 5.2 e um XP virtual.
Blinker 7.10

de 400 kb pra 65.500 kb.... a diferença é grande....

Nota: com certeza o tamanho do EXE é relacionado com a memória disponível. com 65MB disponível... o EXE pode ficar bem "grandão".... rs

Configurei o XP do zero, só indicar aonde estão os EXEs, LIBs, e OBJs do blinker (apesar que pra esse exemplo nem precisou da pasta OBJ):

SET PATH=%PATH%;\cl52\bin;\blinker\bin
SET LIB=\cl52\lib;\blinker\lib
SET OBJ=\blinker\obj
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

RUN

Mensagempor JoséQuintas » 12 Jan 2017 17:03

E pra ficar mais completo ainda, com Harbour:

hbmk2 test
test
2097151

Não sei porque, só retornou 2.097.151kb, deveria ter retornado 4.000.000...
Comparado aos 400kb do Clipper... seria o fim de problemas com memória.

Se precisar mais que 4.000.000 kb... só com Windows e Harbour 64 bits.... rs
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

RUN

Mensagempor rochinha » 13 Jan 2017 00:13

Amiguinhos,

JoseQuintas
Não me recordo direito mas o bLinker permitia criar as .OVLs tanto internas como externas. Meu executável antigo em DOS tinha várias .OVLs.
BLINKER INCREMENTAL OFF
BLINKER CLIPPER SYMBOL OFF
BLINKER CACHE XMS 50%,1024
BLINKER CACHE EMS 50%,1024
MAP A,S

PACKCODE
PACKDATA

DEFBEGIN
   name        FiveWin
   description 'Clipper for Windows library'
   #exetype     Windows 3.1
   code        moveable discardable
   data        preload moveable
   stacksize   17000
   heapsize    2048
   segment     'PLANKTON_TEXT' nondiscardable
   segment     'EXTEND_TEXT'   nondiscardable
   segment     'OM_TEXT'       nondiscardable
   segment     'OSMEM_TEXT'    nondiscardable
   segment     'SORTOF_TEXT'   nondiscardable
   segment     'STACK_TEXT'    nondiscardable
DEFEND

NOBELL

OUT NFDP.EXE

LIB VISUAL,NFLIB,NANFOR,BLXCLP52,DBFNTX

FILE NFDP #,NFDPARQ,NFDPARQ2 #,NFDPSOS,MYALERT,ERRORSYS
FILE NFDPINC,NFDPI01,NFDPC01,NFDPC05,NFI27,NFI10,NFDPPLAN
FILE NFDPI02,NFDPI03,NFDPI04,NFDPI05,NFDPI06,NFDPI07,NFDPI08,NFDPI10,NFDPI061,NFDPI062
FILE NFDPI11,NFDPI12,NFDPI13,NFDPI13a,NFDPI14,NFDPI14a,NFDPI15,NFDPI16,NFDPI17,NFDPI18,NFDPI19,NFDPc20,NFDPI81
FILE NFDPR01,NFDPR011,NFDPR012,NFDPR02,NFDPR03,NFDPR04,NFDPR041,NFDPR05,NFDPR061,NFDPR062,NFDPRTXT
FILE NFDPR04p,NFDPR05p,NFDPR05a,NFDPRPA
FILE CETAI01,CETAC01


No exemplo acima o DEFBEGIN..DEFEND permitiam um trabalho mais folgado na memória. Criava um único executável de 1.072.000bytes.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

RUN

Mensagempor JoséQuintas » 13 Jan 2017 01:57

Sim, mas com blinker e overlay fica até pior.

BLINKER: tem a do Clipper e a versão em separado
PLINK86: tem a do Clipper e a versão em separado

Os recursos são diferentes, é lógico.

O RTLINK faz overlay automática, o PLINK86 e BLINKER fazem manualmente.
OVL era apenas a questão do arquivo em separado, não significa que está ou não usando overlay.
No caso de overlay manual, dá pra retirar partes do Clipper também pra overlay.
Necessita de um pequeno estudo sobre o que pode ou não ficar em overlay.

Também dá pra otimizar os fontes, transformando o máximo de variáveis pra LOCAL, porque PUBLIC e PRIVATE utilizam a tabela geral, "fora da overlay".
Tambem transformando funções em STATIC, pra serem carregadas somente junto com o módulo.

No RTLInk, os módulos praticamente viram overlay automaticamente.
Neste caso, os módulos devem ser o menor possiveis, porque são reservadas áreas de memória de tamanho suficiente pra carregar um módulo.
(No caso de overlays em geral, não apenas rtlink).
Ao compilar usando CLP, juntando vários fontes, o tamanho total para o CLP será reservado na memória, por isso o melhor é compilando cada fonte em separado.

Mas é tudo muito trabalho pra pouca coisa, comparado ao blinker.
Pra que brigar por talvez uns míseros 100kb, se com blinker você apenas usa e libera 65.000kb ?
Por mais que seja feita otimização, overlay, etc. nada supera o uso de blinker em modo extendido.

Overlay vai ajudar por determinado tempo, depois vai precisar de revisões, e revisões e revisões....

A propaganda do Blinker era verdadeira: "use Blinker e esqueça problemas de memória".

Se dá pra usar isto e ter 65.000kb de memória livre:

blinker executable extended lib blxclp52


Pra que arriscar com isto, e ter só uns 200kb a mais:

#
#  CL520MAX.LNK - 03/22/93 Version 1.0
#
#  Blinker link script for CA-Clipper 5.2
#
#  This script may help with very tight memory situations, and when using the
#  Clipper debugger (CLD) with large programs.
#
#  For ease of use this script should be stored in your library directory,
#  (the directory pointed to by the LIB environment variable), which will allow
#  Blinker to find the script without you having to specify a full path.
#
#  This script MUST be included outside of any BEGINAREA / ENDAREA commands
#  and after all libraries except the RDDs and LLIBCA if it is being used.
#
#  example:
#
#  FILE one
#  BEGINAREA
#       FILE two
#       FILE three
#       FILE four
#  ENDAREA
#  @CL520MAX
#  LIB DBFCDX
#  LIB LLIBCA # (if used)
#
#  Modules within CLIPPER.LIB are, by their nature, called very frequently
#  within any CLIPPER application. Therefore, overlaying these routines
#  will almost certainly result in some performance degradation, which can
#  be minimised by increasing the OVERLAY OPSIZE.
#
#  You may also wish to consider using BLINKER OVERLAY PAGEFRAME ON to expand
#  the overlay pool to 64K, and remove it from conventional memory, to both
#  increase available memory and performance.
#
#  ie BLINKER OVERLAY PAGEFRAME ON
#
#  Blinker 2.0+ users will find that specifying an overlay cache will increase
#  execution speed significantly.
#
#  eg BLINKER CACHE XMS 128
#     BLINKER CACHE EMS 128
#
#  The amount of performance degradation will vary from application to
#  application, - it may be necessary to modify this script by commenting
#  out some MODULE statements to increase performance to an acceptable level
#  in some areas.
#
#  Please note that some third party libraries may replace or modify routines
#  in the CLIPPER library, so that they are no longer overlayable. The link
#  time command BLINKER MESSAGE DUPLICATES may help in determining such
#  conflicts or replacements.
#
#
# mod tbrowse0          #  Uncomment these three lines
# mod tbrowse1          #  to speed up TBROWSE by forcing
# mod linelen           #  it into the root.
#
lib clipper
beginarea
    mod ACCEPT          # .c
    mod ACOPY           # .c
    mod ADEL            # .c
    mod AEVAL           # .c
    mod AINS            # .c
    mod APPEXIT         # .c
    mod APPINIT         # .c
    mod ATAIL           # .c
    mod BOX             # .c
    mod COLOR           # .c
    mod DATE            # .c
    mod DBCMD0          # .c
    mod DBCMD1          # .c
    mod DBCMD2          # .c
    mod DBCMD3          # .c
    mod DBCMD4          # .c
    mod DBCMD5          # .c
    mod DBCREATE        # .c
    mod DBF0            # .c
    mod DBF1            # .c
    mod DBFDYN          # .asm
    mod DBGAPI          # .c
    mod DBGSHADO        # .c
    mod DBJUNCT         # .c
    mod DBNUBS          # .asm
    mod DBSTRUCT        # .c
    mod DELIMDYN        # .asm
    mod DISKIO          # .c
    mod DLM0            # .c
    mod DLM1            # .c
    mod EMMALLOC        # .asm
    mod EMMCOUNT        # .asm
    mod EMMFREE         # .asm
    mod EMMINST         # .asm
    mod EMMPAGE         # .asm
    mod EMMREALL        # .asm
    mod EMMSTAT         # .asm
    mod EMMVERS         # .asm
    mod ERRORSYS        # Clipper
    mod ERRSYS0         # .c
#   mod ERRSYS1         # .c      (Overlay if not using PS ERROR)
    mod EXACTCMP        # .c
    mod FGET            # .c
    mod FIELD           # .c
    mod FILESYS         # .asm
    mod GETENV          # .c
    mod GETS0           # .c
    mod GETS1           # .c
    mod GETS2           # .c
    mod INITEXIT        # .c
    mod INSTD           # .asm
    mod JOINLIST        # .c
    mod LUPDATE         # .c
    mod MAIN            # .c
    mod MAXROW          # .c
    mod MEMORY          # .c
    mod MRELEASE        # .c
    mod MSAVE           # .c
    mod NET             # .c
    mod OLDBOX          # .c
    mod OLDCLEAR        # .c
    mod OSDATE          # .asm
    mod OUTSTD          # .c
    mod PHILES          # .c
    mod PICT            # .c
    mod RDDORD          # .c
    mod RDDSVR          # .c
    mod RUN             # .c
    mod SAVEREST        # .c
    mod SCROLL          # .c
    mod SDF0            # .c
    mod SDF1            # .c
    mod SDFDYN          # .asm
    mod SEND            # .c
    mod SET             # .c
    mod SETCURS         # .c
    mod SORTBLOC        # .c
    mod SORTOF          # .c
    mod SQUAWK          # .asm
    mod STARTSYM        # .asm
    mod TB              # .c
    mod TSUPPORT        # .c
#   mod TXOPEN          # .c       (Overlay if not using NETLIB)
    mod VERSION         # .c
    mod WORKAREA        # .c
    mod _AFIELDS        # Clipper
    mod _APPINI         # Clipper
    mod _ATPROMP        # Clipper
    mod _CENTURY        # Clipper
    mod _DBCOPY         # Clipper
    mod _DBDELIM        # Clipper
    mod _DBF            # Clipper
    mod _DBFLIST        # Clipper
    mod _DBGBROW        # Clipper
    mod _DBGHELP        # Clipper
    mod _DBGINSP        # Clipper
    mod _DBGMENU        # Clipper
    mod _DBJOIN         # Clipper
    mod _DBLIST         # Clipper
    mod _DBLOCAT        # Clipper
    mod _DBSDF          # Clipper
    mod _DBSORT         # Clipper
    mod _DBSTRUX        # Clipper
    mod _DBTOTAL        # Clipper
    mod _DBUPDAT        # Clipper
    mod _DELIM          # Clipper
    mod _ERRSYS         # Clipper
    mod _FLEDIT         # Clipper
    mod _GETMSG         # Clipper
    mod _GETSYS         # Clipper
    mod _HELPKEY        # Clipper
    mod _INPUT          # Clipper
    mod _RDDORD         # Clipper
    mod _READVAR        # Clipper
    mod _SAVESCR        # Clipper
    mod _SETFUNC        # Clipper
    mod _SETTA          # Clipper
    mod _TEXT           # Clipper
    mod _WAIT           # Clipper
    lib extend
endarea
lib terminal
lib dbfntx
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Próximo



Retornar para CA-Clipper

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 3 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