Page 1 of 1
Capturar parámetros llamado desde prg SOLUCIONADO
Posted: Thu Feb 20, 2020 12:52 pm
by leandro
Buenos días para todos,
El caso es el siguiente:
En el menu de nuestra aplicación, se hace el llamado a un prg desde el menu, de la siguiente manera:
Code: Select all
@ 15, 10 ADD BUTTON oBtF6 GROUP oGr1 BITMAP "#8095";
SIZE 62,64 PROMPT "Saldos"+CRLF+;
"Iniciales" ACTION ( articulos(1) ) // articulos es el nombre del prg
Pero no se como capturar el parametro que viene al momento en que se abre el prg
Code: Select all
//aqui inicia articulos.prg
#include "fivewin.ch"
#include "xbrowse.ch"
#include "report.ch"
#include "Ado.ch"
//Como capturo el parametro que viene desde el menu?
PUBLIC oCnArt
PUBLIC oRsArt
......
Espero haberme hecho entender, de antemano gracias
Re: Capturar parámetros llamado desde prg
Posted: Thu Feb 20, 2020 1:16 pm
by karinha
Code: Select all
#include "fivewin.ch"
#include "xbrowse.ch"
#include "report.ch"
#include "Ado.ch"
FUNCTION Main() // MENU PRINCIPAL
// Variables aqui
/*
LOCAL
GLOBAL
MEMVAR
PRIVATE
*/
PUBLIC oCnArt
PUBLIC oRsArt
PUBLIC nOpcion
@ 15, 10 ADD BUTTON oBtF6 GROUP oGr1 BITMAP "#8095";
SIZE 62,64 PROMPT "Saldos"+CRLF+ "Iniciales" ;
ACTION ( ARTICULOS( nOpcion := 1 ) ) // articulos es el nombre del prg
...
RETURN NIL
//aqui inicia articulos.prg
//Como capturo el parametro que viene desde el menu?
// Llame desde el menu cuantas opciones deseas.
FUNCTION ARTICULOS( nOpcion ) // ARTICULO.PRG -> 8 Digitos es mejor.
IF nOpcion == 3
..
ELSEIF nOpcion == 2
..
ELSEIF nOpcion == 1
etc
ENDIF
RETURN NIL
Saludos.
Re: Capturar parámetros llamado desde prg
Posted: Thu Feb 20, 2020 8:20 pm
by postinelli
PCOUNT()
Re: Capturar parámetros llamado desde prg
Posted: Thu Feb 20, 2020 8:20 pm
by postinelli
PCOUNT()
Determine the position of the last actual parameter passed
------------------------------------------------------------------------------
Syntax
PCOUNT() --> nLastArgumentPos
Returns
PCOUNT() returns, as an integer numeric value, the position of the last
argument passed. If no arguments are passed, PCOUNT() returns zero.
Re: Capturar parámetros llamado desde prg
Posted: Thu Feb 20, 2020 9:35 pm
by leandro
postinelli y karinha, gracias por responder
Pero la función pcount() cuenta los parámetros, pero como _? cual es el array que cuenta?
Gracias
Re: Capturar parámetros llamado desde prg
Posted: Fri Feb 21, 2020 12:58 am
by cnavarro
Re: Capturar parámetros llamado desde prg
Posted: Fri Feb 21, 2020 4:25 am
by Armando
Leandro:
A ver si es lo que necesitas?
Code: Select all
// Programa que llama a otro
Date2Txt(P1,P2,P3,P4,P5,P6,P7,P8)
….
….
// Programa llamado
FUNCTION Date2Txt(dFecha,nTipdia,nTipMes,nTipAmo,cSepDia,cSepDM,cSepMA,lZeros)
Si observas, es igual que cuando llamas a una función
Saludos
Re: Capturar parámetros llamado desde prg
Posted: Fri Feb 21, 2020 11:15 am
by karinha
// SAMPLES\PARAM.PRG
Code: Select all
#include "FiveWin.ch"
FUNCTION Main()
TestApars( 'par1', 'par2', '//par3', 'par4', 'par5' )
RETURN NIL
FUNCTION TestApars()
LOCAL nParamNo
LOCAL aParams := HB_AParams()
FOR nParamNo := 1 TO LEN( aParams )
? nParamNo, aParams[ nParamNo ]
NEXT
RETURN NIL
/*
Result :
----------
1 par1
2 par2
3 //par3
4 par4
5 par5
*/
Saludos.
Re: Capturar parámetros llamado desde prg
Posted: Fri Feb 21, 2020 2:15 pm
by leandro
Gracias a todos por la respuestas,
finalmente lo pude solucionar de la forma que sugirió Cristobal,
Code: Select all
#include "fivewin.ch"
#include "report.ch"
#include "Ado.ch"
#include "vrd.ch"
#include "dtpicker.ch"
#include "xbrowse.ch"
#include "outlook.ch"
#include "splitter.Ch"
SET DATE BRITISH
SET CENTURY ON
SET EPOCH TO 1920
REQUEST HB_LANG_ES
HB_LANGSELECT( 'ES' )
FW_SetUnicode( .t. )
PUBLIC aParams := hb_aParams()