Como criar programa que aceite parâmetros externos?

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

labaroazul
Usuário Nível 2
Usuário Nível 2
Mensagens: 83
Registrado em: 26 Fev 2008 14:52
Localização: São Paulo - SP
Contato:

Como criar programa que aceite parâmetros externos?

Mensagem por labaroazul »

Boa noite, amigos!

Gostaria de criar um programa que, nos moldes do ARJ, aceitasse parâmetros externos. Como posso fazer isso no Clipper?
Windows XP Professional + Clipper 5.2e + Exospace + Dbase III Plus + SIX3 + NoDosImp + LXPic
"O trabalho afasta três males: o vício, a pobreza e o tédio." (Voltaire)
Site: http://www.labaroazul.xpg.com.br
Repositório: http://www.4shared.com/dir/31334106/e79 ... aring.html
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Como criar programa que aceite parâmetros externos?

Mensagem por Maligno »

Mais fácil do que se poderia imaginar. Você só precisa usar uma função como entrada para o seu programa e nesta função, declarar os parâmetros que ela precisará conter. Algo do tipo:

Código: Selecionar todos

function main (parm1,parm2,parm3)
É como numa função qualquer. Pode-se usar PCount() para descobrir quantos argumentos existem. Apenas lembre-se que o processo de compilação deve conter o switch /n, pois o Clipper, tradicionalmente, foi feito para trabalhar com procedures.

E na execução, mais simples ainda: basta informar os argumentos necessários.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Como criar programa que aceite parâmetros externos?

Mensagem por Pablo César »

Um exemplo claro de como trabalhar com parâmetros externos (adoro utilizá-los), veja:

Código: Selecionar todos

// TESTE.PRG (exemplo de parâmetros externos)

PARAMETERS cNome, cVezes
IF cNome=NIL
   ?  "Precisa informar o 1º parametro. Exemplo: TESTE "Labaro Azul"
ENDIF
IF cVezes=NIL
   ?  "Precisa informar o 2º parametro. Exemplo: TESTE "Labaro Azul"  7
ENDIF
mostra(cNome,val(cVezes)

FUNCTION MOSTRA(cNom,nVezes)
FOR I=1 TO nVezes
    ? cNom
NEXT
Observe que a quantidade de parâmetros foi definida na hora em que é definido os nomes das variáveis as quais o Clipper irá atribuir automaticamente conforme o número de parâmetros usados. Também veja que o recebimento dos parâmetros são tratados de forma independente que é muito importante. Espero ter ajudado a esclarecer melhor, tiver dúvidas é só postar.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Re: Como criar programa que aceite parâmetros externos?

Mensagem por alxsts »

Saudações a todos!

Observe tambem que todos os parâmetros da linha de comando são passados ao Clipper no formato caracter.

Pablo:
Bem-vindo de volta!
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Como criar programa que aceite parâmetros externos?

Mensagem por Maligno »

Sim, isso mesmo. Se alguém precisar de outro tipo de dado, terá de converter na recepção dos argumentos.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Responder