Passagem de parametros do Clipper para Xharbour

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

Moderador: Moderadores

Avatar do usuário
billy1943
Usuário Nível 4
Usuário Nível 4
Mensagens: 570
Registrado em: 12 Mai 2009 17:33
Localização: Bauru-SP

Passagem de parametros do Clipper para Xharbour

Mensagem por billy1943 »

Eu utilizei o exemplo constante do Xharbour denominado MAPA, em que entramos com os dados (UF, Cidade e Rua) do ponto de partida e ponto de destino e acessamos os dois pontos no Mapa.

Para ficar mais prático ainda, tornei os dados de partida fixos e só estou fornecendo os dados de destino.

Assim o programa compilado em XHarbour tem de receber os 3 parametros: exemplo:

UF = "SP"
Cidade = "SOROCABA"
Rua = "RUA BRASIL"

Estou tentando de toda e qualquer forma a passagem dos 3 parametros, pois o Xharbour se executado no prompt do DOS funciona perfeitamente na forma:

TESTE "SP" "SOROCABA" "RUA BRASIL"

abrindo o MAPS.Google e localizando os pontos de partida e destino.

De dentro do Clipper usando "RUN" não há jeito.
Mandei os 3 parametros em separado, e/ou concatenados também, mas ele trunca em torno de uns 11 caracteres e não pega todos os elementos (uf,cidade e rua);

Como fazer essa passagem de parametros do Clipper para o executável criado pelo Xharbour ?
O bom do computador é que ele resolve os problemas, sem nunca levantar nenhum.
Hoje atuo mais com Clipper 52E, e um pouquinho com XHarbour.
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Re: Passagem de parametros do Clipper para Xharbour

Mensagem por Toledo »

Olá Billy1943, segue abaixo um exemplo do que você pode fazer:

Código Clipper:

Código: Selecionar todos

cUF:=SPAC(2)
cCIDADE:=SPAC(25)
cRUA:=SPAC(40)
@ 10,10 SAY "ESTADO..:" GET cUF PICT "@!"
@ 11,10 SAY "CIDADE..:" GET cCIDADE PICT "@!"
@ 12,10 SAY "RUA.....:" GET cRUA PICT "@!"
READ
cMacro:='MAPAS "'+cUF+'" "'+RTRIM(cCIDADE)+'" "'+RTRIM(cRUA)+'"'
!&cMacro.
Código xHarbour (MAPAS.PRG):

Código: Selecionar todos

PROCEDURE Main( ... )
LOCAL aPar := HB_AParams()
LOCAL cPar
FOR EACH cPar IN aPar
 ? "Parametro:", cPar
NEXT
RETURN
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar do usuário
billy1943
Usuário Nível 4
Usuário Nível 4
Mensagens: 570
Registrado em: 12 Mai 2009 17:33
Localização: Bauru-SP

Re: Passagem de parametros do Clipper para Xharbour

Mensagem por billy1943 »

Olá Toledo,

Obrigado ao amigo pela atenção.

Por caminhos bem parecidos, eu consegui fazer o desejado.

Não sei porque o XHarbour "trunca" os parametros recebidos onde houver um espaço (" ").
Quando eu percebi isso, passei a mandar os parametros com um caracter tipo "{" no lugar os espaços com a função STRTRAN e no programa MAPA.EXE desenvolvido em Xharbour faço o inverso,isto é volto o "{" para espaço novamente.

Está dando certo !

Como a minha intenção é agregar programas em Xharbour para uso em conjunto com meus sistemas em Clipper, estudando-os, visto que o Clipper não tem condições de acessar Internet, esta primeira "aula" foi proveitosa.
O bom do computador é que ele resolve os problemas, sem nunca levantar nenhum.
Hoje atuo mais com Clipper 52E, e um pouquinho com XHarbour.
Avatar do usuário
vagucs
Membro Master
Membro Master
Mensagens: 1480
Registrado em: 10 Jul 2004 10:45
Localização: Ipanema - MG
Contato:

Re: Passagem de parametros do Clipper para Xharbour

Mensagem por vagucs »

passe os parametros entre "" que funciona sem precisar de strtran.
Sem mais
Wagner Nunes
www.vagucs.com.br
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Re: Passagem de parametros do Clipper para Xharbour

Mensagem por Toledo »

vagucs escreveu:passe os parametros entre "" que funciona
Mas é o que o meu exemplo acima faz!

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Responder