Clipper On Line • Ver Tópico - Relembrando Clipper

Relembrando Clipper

Discussão sobre a linguagem CA-Clipper.

Moderador: Moderadores

 

Relembrando Clipper

Mensagempor JoséQuintas » 06 Jul 2019 12:36

Pra quem esqueceu, e pra ficar anotado:

O limite do DOS são 255 arquivos, mas 2 ou 3 são reservados ao sistema operacional.
Por padrão vém limitado a 40. Pra aumentar esse limite, um arquivo CONFIG.SYS ou CONFIG.NT com files=250

Teoricamente o Clipper não teria limites, já que o limite é o DOS que impõe, portanto 255 arquivos (menos os reservados).
Por padrão vém limitado a 20. Pra aumentar esse limite, o comando SET CLIPPER=F250, no AUTOEXEC.BAT ou AUTOEXEC.NT pra configurar automático.

Tipos de arquivo de compilação/linquedição (de certa forma, igual em qualquer linguagem de programação):

PRG - é o fonte
OBJ - é o fonte transformado em objeto, pode existir OBJ resultado de seus fontes, ou de fontes de outra origem
LIB - é um conjunto de arquivos OBJ, que vai fazer parte do EXE caso seja usada. Pode fazer LIB de seus fontes, tem as LIBs do Clipper, tem LIBs de terceiros
EXE - é o resultado final
DLL - Também era possível usar no Clipper. É como um pedaço do EXE, que pode ser trocado sem ter que recompilar todo EXE.
OVL - Mais conhecido antes do RTLINK - overlay. É pedaço de EXE, mas pra carregar um pouco de cada vez, economizando memória

CLIPPER.EXE
O compilador, que transforma PRG em OBJ

LIB.EXE
Não fazia parte do Clipper. É pra juntar vários OBJ em um arquivo LIB

RTLINK.EXE, BLINKER.EXE, EXOSPACE.EXE
Linqueditores. Pegam OBJ, LIB juntam tudo e geram o EXE.

BLINKER.EXE
O que vém no Clipper é limitado, a versão em separado é muito melhor

RMAKE.EXE
Programa opcional, pra ajudar a gerenciar os fontes, e criar compilações personalizadas

SIXCDX.LIB
Biblioteca pra usar CDX, melhor e mais confiável do que a CDX original do Clipper 5.2

OSLIB.LIB
Programa pra evitar o uso de 100% de CPU
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: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Relembrando Clipper

Mensagempor JoséQuintas » 06 Jul 2019 12:45

Como compilar?
gerar o OBJ e depois linqueditar

CLIPPER fonte
RTLINK FI fonte

Se for mais de um fonte:

CLIPPER fonte
CLIPPER fonte2
RTLINK FI fonte, fonte2

se tiver LIB em separado, precisa indicar

CLIPPER fonte
RTLINK FI fonte LIB oslib

Se os arquivos OBJ, LIB e CH não estiverem na mesma pasta dos fontes, uma opção era indicar pasta, e outra era configurar a variável de ambiente:

Por exemplo, pra mandar o lixo pra pasta \temp
CLIPPER fonte -o\temp\
RTLINK FI \obj\fonte LIB \lib\oslib

Outra opção para o CLIPPER/RTLINK era indicar pastas alternativas pra buscar automático, algo parecido com SET PATH
SET LIB=\clipper\lib;\minhalib\
SET OBJ=\temp\
SET INCLUDE=\clipper\include;\meusincludes\

Basicamente é isso que muita gente esquece.
Indicando automático busca automático, compila normalmente, mas pra compilar/linqueditar é obrigatório que existam esses arquivos.
Ao esquecer, não percebe que vai precisar delas no Harbour.

Importante: lembrando que no DOS o nome dos arquivos são limitados a 8 letras, não adianta querer colocar nomes maiores no Clipper/Rtlink.
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: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Relembrando Clipper

Mensagempor JoséQuintas » 06 Jul 2019 13:00

Porque é importante relembrar tudo isso, até mesmo antes de partir para o Harbour:

Identifique quais fontes estão sendo compilados, se está usando algum OBJ que não faz parte de seus fontes, e se está usando alguma LIB que não faz parte de seus fontes.

Aliás... não apenas para o Harbour, até mesmo pra quando for transferir seus aplicativos de uma máquina para outra: pode estar copiando a pasta de fontes, e precisar de coisas que não estão na pasta.
Ou... o que acontece muito... colocar dentro da pasta do Clipper arquivos que nào são dele, e depois ao reinstalar o Clipper não vai ter esses arquivos.

Ou seja:
Organizar tudo é bom pra trabalhar com Clipper, pra criar seu ambiente de trabalho em qualquer máquina nova.
E essa mesma organização vai facilitar trabalhar com Harbour depois.
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: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Relembrando Clipper

Mensagempor JoséQuintas » 06 Jul 2019 14:07

Pra completar faltou dizer do SET PATH, apesar que é uma coisa que deveria ser comum pra todos.

Ao digitar CLIPPER, pode ser que não funcione, principalmente em uma máquina nova.
Porque? porque o sistema operacional não sai procurando aonde está o programa, é você que precisa indicar.

1. CLIPPER.EXE na própria pasta
CLIPPER

2. CLIPPER.EXE na pasta \clipper, chamando manual.
\clipper\CLIPPER

3. CLIPPER.EXE na pasta \clipper, mas chamando automático, sem precisa indicar aonde está
SET PATH=%PATH%;\clipper
CLIPPER

Nota: %PATH% indica o conteúdo anterior de PATH. Da forma acima, vai manter o conteúdo anterior mas acrescentar \clipper nessa lista

Isso vale pra qualquer programa: CLIPPER, BLINKER, HARBOUR, editor de textos, programa Windows, etc.

No Windows 10 a configuração do PATH é interessante, porque mostra CADA um dos paths, um embaixo do outro.
Se for colocar num BAT, pode ser interessante fazer assim, pra identificar melhor cada elemento adicionado:

SET PATH=%PATH%;\clipper\bin
SET PATH=%PATH%;\blinker
SET PATH=%PATH%;\Harbour\bin
SET PATH=%PATH%;\Harbour\comp\mingw\bin
SET PATH=%PATH%;\pnotepad
SET PATH=%PATH%;\util

SET LIB=\clipper\lib
SET LIB=%LIB%;\blinker\lib
SET LIB=%LIB%;\sixcdx

SET OBJ=\blinker\obj
SET OBJ=%OBJ%;\temp\
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: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes




Retornar para CA-Clipper

Quem está online

Usuários vendo este fórum: Google [Bot] e 4 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