Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Anything better than PCOUNT()?
Message
De
16/11/2015 11:03:59
Mike Yearwood
Toronto, Ontario, Canada
 
 
À
04/11/2015 14:32:26
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Versions des environnements
Visual FoxPro:
VFP 9 SP2
OS:
Windows 8.1
Network:
Windows 2008 Server
Database:
Visual FoxPro
Application:
Desktop
Divers
Thread ID:
01627034
Message ID:
01627500
Vues:
73
>Hi,
>
>I think I know the answer to this but wanted to see if there really is a solution:
>
>I want to use a method with a few of the parameters as optional e.g.
>
>
>loSettings.SetObject("txtLastname",,.T.,.F.)
>
>
>and then in the method code I have this:
>
>
>LPARAMETERS tcObjectName, txValue, tlVisible, tlEnabled
>
>
>where the 2nd parameter is not passed; PCOUNT() does not does help because I have passed the 3rd and 4th params.
>
>Of course in the method code, I get a default value for the second parameter as .F.; but that does not help me to know if it was passed or not because in this case the "value" could be a logical that was passed.
>
>I realize that I could change the order of the parameters so that txValue is last and then PCOUNT() works but the 2 most commonly used parameters are the first 2 and so I would rather have them in the order they are.
>
>What I need is function that tells me if the 2nd paramter ws passed something like IF PARAMETER(2) = .T.
>
>or I need a way for the parameters to default to .null. or something if nothing passed.
>
>Am I missing something that is in the help file?
>
>Thanks,
>
>Albert Gostick

Hi Albert

MaxFrame comes with a way to handle optional parameters if you order them so the optional ones are always at the end.

LPARAMETERS tuInitialValue, tcFilter, tlNoAddButton
LOCAL lcParms
lcParms = x5pitems("m.tuInitialValue, m.tcFilter, m.tlNoAddButton",PCOUNT())
IF NOT EVALUATE("DODEFAULT(" + m.lcParms + ")")
RETURN .F.
ENDIF
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform