ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

Les noms cachés de certaines fonctions   



L'auteur

Robert Plagnard
France France
Membre Simple
# 0000000031
enregistré le 15/10/2004

http://www.ingelog.fr
PLAGNARD Robert
75015 PARIS
de la société IngéLog
Fiche personnelle


Note des membres
pas de note

Contributions > 20 - Trucs et Astuces

Les noms cachés de certaines fonctions
# 0000000407
ajouté le 27/02/2007 17:01:54 et modifié le 27/02/2007
consulté 8534 fois
Niveau initié

Description
Les noms cachés de certaines fonctions En regardant en détail la fonction aLanguage() je me suis rendu compte que les fonctions bien connues comme File(), Field() et Type() ne s’y trouvaient pas, ou plutôt s’y trouvaient sous les noms respectifs de Files(), Fields() et Typeahead(). Tant qu’il n’y a pas d’ambiguité, on sait bien que l’on peut raccourcir les mots clés du langage jusqu’aux quatres premières lettres du mot (Bien qu’à mon avis ce ne soit pas une bonne pratique). Ce qui est surprenant c’est que ces noms « longs » ne sont même pas cités dans la documentation de Visual FoxPro. Pour en avoir le cœur net, j’ai décompilé les deux syntaxes possibles pour prouver que c’est effectivement la même chose.
Code source :
* La décompilation avec dvfp du prg suivant :

x = File(y)
x = files(y)
x = Field(y)
x = Fields(y)
x = Type(y)
x = Typeahead(y)

* donne

*/----------------------------------------------------------------------
procedure strange  && added by dvfp when AllInOneFile is set
*/----------------------------------------------------------------------
*  L=93, 2 variables :
*  0000 x
*  0001 y
   * 54 F7 00 00 10 FC 43 F7 01 00 30 FD FE
   x = File(y)
   * 54 F7 00 00 10 FC 43 F7 01 00 30 FD FE
   x = File(y)
   * 54 F7 00 00 10 FC 43 F7 01 00 2F FD FE
   x = Field(y)
   * 54 F7 00 00 10 FC 43 F7 01 00 2F FD FE
   x = Field(y)
   * 54 F7 00 00 10 FC 43 F7 01 00 62 FD FE
   x = Type(y)
   * 54 F7 00 00 10 FC 43 F7 01 00 62 FD FE
   x = Type(y)
   * 55

Commentaires
le 28/02/2007, Jean à Grenoble a écrit :
c'est très curieux pour TYPE() : TYPE() donne le type d'une variable alors que TYPEAHEAD devrait conecerner le clavier si elle existait réellement . SET TYPEAHEAD définit la taille du buffer du clavier pour VFP !

Jean à Grenoble


Publicité

Les pubs en cours :


www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2024.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0-SP2-HF3