FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Capturar parámetros llamado desde prg SOLUCIONADO
Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
Capturar parámetros llamado desde prg SOLUCIONADO
Posted: 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 (fw): Select all Collapse
         @ 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 (fw): Select all Collapse
//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
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Capturar parámetros llamado desde prg
Posted: Thu Feb 20, 2020 01:16 PM
Code (fw): Select all Collapse
#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
Posts: 150
Joined: Tue Jul 15, 2008 07:12 PM
Re: Capturar parámetros llamado desde prg
Posted: Thu Feb 20, 2020 08:20 PM

PCOUNT()

Posts: 150
Joined: Tue Jul 15, 2008 07:12 PM
Re: Capturar parámetros llamado desde prg
Posted: Thu Feb 20, 2020 08: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.
Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
Re: Capturar parámetros llamado desde prg
Posted: Thu Feb 20, 2020 09: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

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Capturar parámetros llamado desde prg
Posted: Fri Feb 21, 2020 12:58 AM
Leandro
Code (fw): Select all Collapse
   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
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Capturar parámetros llamado desde prg
Posted: Fri Feb 21, 2020 04:25 AM
Leandro:

A ver si es lo que necesitas?

Code (fw): Select all Collapse
// 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
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Capturar parámetros llamado desde prg
Posted: Fri Feb 21, 2020 11:15 AM
// SAMPLES\PARAM.PRG

Code (fw): Select all Collapse
#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
Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
Re: Capturar parámetros llamado desde prg
Posted: Fri Feb 21, 2020 02:15 PM
Gracias a todos por la respuestas,

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

Code (fw): Select all Collapse
#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

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]

Continue the discussion