Capturar parámetros llamado desde prg SOLUCIONADO

Capturar parámetros llamado desde prg SOLUCIONADO

Postby leandro » Thu Feb 20, 2020 12:52 pm

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  Expand view  RUN

         @ 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  Expand view  RUN

//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
Last edited by leandro on Fri Feb 21, 2020 2:16 pm, edited 1 time in total.
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1676
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Capturar parámetros llamado desde prg

Postby karinha » Thu Feb 20, 2020 1:16 pm

Code: Select all  Expand view  RUN

#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.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7846
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Capturar parámetros llamado desde prg

Postby postinelli » Thu Feb 20, 2020 8:20 pm

PCOUNT()
postinelli
 
Posts: 149
Joined: Tue Jul 15, 2008 7:12 pm
Location: Argentina

Re: Capturar parámetros llamado desde prg

Postby postinelli » Thu Feb 20, 2020 8:20 pm

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.
postinelli
 
Posts: 149
Joined: Tue Jul 15, 2008 7:12 pm
Location: Argentina

Re: Capturar parámetros llamado desde prg

Postby leandro » Thu Feb 20, 2020 9:35 pm

postinelli y karinha, gracias por responder

Pero la función pcount() cuenta los parámetros, pero como los capturo? cual es el array que cuenta?

Gracias
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1676
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Capturar parámetros llamado desde prg

Postby cnavarro » Fri Feb 21, 2020 12:58 am

Leandro
Code: Select all  Expand view  RUN

   local aParams := hb_aParams()
 
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6549
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Capturar parámetros llamado desde prg

Postby Armando » Fri Feb 21, 2020 4:25 am

Leandro:

A ver si es lo que necesitas?

Code: Select all  Expand view  RUN

// 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
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3231
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Capturar parámetros llamado desde prg

Postby karinha » Fri Feb 21, 2020 11:15 am

// SAMPLES\PARAM.PRG

Code: Select all  Expand view  RUN

#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.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7846
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Capturar parámetros llamado desde prg

Postby leandro » Fri Feb 21, 2020 2:15 pm

Gracias a todos por la respuestas,

finalmente lo pude solucionar de la forma que sugirió Cristobal,

Code: Select all  Expand view  RUN

#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()
 
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1676
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 40 guests