Página 1 de 1

COMANDOS DO DOS - HELP !!

Enviado: 15 Dez 2004 23:32
por Zima
Amigos,

Se tiverem paciência e puderem me dizer o que significam os comandos abaixo, principalmente os grifados em vermelho, agradeço desde já.


SET LIB=..\LIB;C:\CLIPPER5\LIB

if A%1 == A GOTO :SINTAX
if NOT EXIST %1.prg GOTO :NOEXIST

ECHO Compiling...
if A%2 == A GOTO :END501
if %2 == 501 clipper %1 /n/a/v/w/i..\include /uFwStd.ch %3IF ERRORLEVEL 1 GOTO EXIT
if %2 == 501 GOTO :ENDCOMPILE

if A%3 == A GOTO :END501
if %3 == 501 clipper %1 /n/a/v/w/i..\include /uFwStd.ch %2IF ERRORLEVEL 1 GOTO EXIT
if %3 == 501 GOTO :ENDCOMPILE
:END501

c:\clipper5\bin\clipper %1 /n/a/v/w/i..\include;c:\clipper5\include %2 %3 > clip.log@type clip.log
IF ERRORLEVEL 1 PAUSE
IF ERRORLEVEL 1 GOTO EXIT
:ENDCOMPILE

ECHO
ECHO Linking...
c:\util\blinker fi %1 @..\include\fivewin.lnk
rem c:\util\link /se:2000 /NOE %1,,null, Five FiveC Objects WinApi Clipper Extend 501_520, ..\include\FiveWin.def
rem optlink %1,,nul, Five FiveC Objects WinApi Clipper Extend 501_520, ..\include\FiveWin.def

IF ERRORLEVEL 1 GOTO LINKERROR
ECHO * Application successfully built
ECHO
rem Microsoft Resource Compiler
IF EXIST %1.rc RC -K %1
rem Borland Resource Compiler
rem IF EXIST %1.rc brc %1

rem Add low-level debugging symbolic info if present
IF EXIST %1.MAP TdMap.exe -W %1.MAP

rem Checks if running under Windows 95
..\tools\win95
IF ERRORLEVEL 1 %1
GOTO EXIT

:LINKERROR
PAUSE * Linking errors *
GOTO EXIT

:SINTAX
ECHO SYNTAX: Build [Program] {-- No especifiques la extensi¢n .PRG
ECHO {-- Don't specify .PRG extension
GOTO EXIT

:NOEXIST
ECHO Not exist the specified PRG

:EXIT

Enviado: 16 Dez 2004 02:34
por Toledo
Zima,

Os comandos que você está em dúvida é do arquivo BUILD.BAT do Fivewin, utilizado para compilar e linkeditar os arquivos PRGs.

A sintaxe deste arquivo BAT é a seguinte:

BUILD nomedoarquivoPRG parâmetro2 parâmetro3

onde...

nomedoarquivoPRG = Especifique o nome do arquivo PRG que você quer compilar.

parâmetro2 e parâmetro3 = Aqui você pode especificar alguma opção de compilação que seja necessária, tipo: /u FwStd.ch (que é o arquivo std.ch alternativo do Fivewin)

Agora vamos as suas dúvidas...

Os dois pontos finais da expressão =..\LIB vai capturar o nome da pasta (diretório) acima da pasta atual. Neste caso, se você está na pasta c:\FW23\SAMPLES os dois pontos será trocado por c:\FW32, ficando assim o comando: SET LIB=C:\FW32\LIB;C:\CLIPPER5\LIB

As expressões %1, %2 e %3 são respectivamente o nome do PRG, o parâmetro2 e parâmetro3 passados através do comando BUILD explicado acima. Neste caso se for digitado BUILD TUTOR01, na expressão A%1 vai ficar ATUTOR01.
A linha de comando IF A%1 == A GOTO :SINTAX verifica se você passou algum parâmetro (nome do arquivo PRG) apos o comando BUILD. Neste caso, se você digitar apenas BUILD e não passar o nome do PRG, o %1 será igual a nada (expressão vazia) ficando A%1 igual a A (somente a letra A), então se A == A vai direcionar a execução para a linha :SINTAX.

%2 = 501 verifica se você passou no parâmetro2 a expressão 501, se isto for verdadeiro, será executado o comando que vem depois da expressão 501 (clipper %1 /n/a/v/w/i..\include /uFwStd.ch %3).

A expressão c:\clipper5\bin\clipper %1 /n/a/v/w/i..\include;c:\clipper5\include %2 %3 > clip.log é simplesmente o comando que vai compilar o arquivo PRG (%1) e se for passado o parâmentro2 e parâmetro3 serão utilizados como opção na compilação.
Se você digita BUILD TUTOR01 /uFwStd.ch a linha de comando acima vai ficar assim:

c:\clipper5\bin\clipper tutor01 /n/a/v/w/i..\include;c:\clipper5\include /uFwStd.ch > clip.log

A expressão > clip.log vai direcionar para o arquivo clip.log tudo que for apresentado no vídeo, isto é, o resultado da compilação.

E para finalizar, o comando IF ERRORLEVEL 1 PAUSE significa se ocorrer algum erro no comando anterior será dado uma pausa na execução do arquivo BUILD, simplesmente para que você possa ver qual foi o erro que ocorreu.

Abraços,

Enviado: 16 Dez 2004 08:18
por Zima
Toledo,

Realmente muito obrigado mesmo pela aula. Vou continuar minha luta aqui para converter meu sistema para CLIPPER+FIVEWIN.

Desde já boas festas !

Abraços,
Zima

Enviado: 16 Dez 2004 08:48
por Toledo
Zima,

Se você vai utilizar o arquivo BUILD.BAT para compilar os seus programas, é melhor você alterar todos os ..\ por C:\FW23\ e c:\util\ por C:\BLINKER\BIN\, assim você poderá utilizar o BUILD em qualquer pasta do seu micro.

Lembrando que o arquivo BUILD.BAT é utilizado apenas para compilação de um único arquivo PRG. Neste caso, se o seu programa conter mais de um arquivo PRG, é aconselhável utilizar arquivos RMK e LNK em conjunto com o utilitário RMAKE do Clipper para compilar e linkeditar o seu programa.

Abraços,