IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

4D Discussion :

Equivalent d'une fonction sous 4D


Sujet :

4D

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 39
    Points : 26
    Points
    26
    Par défaut Equivalent d'une fonction sous 4D
    Bonjour
    Je débute sous 4D. J'aimerais créer une fonction sous 4d qui me renverais un paramètre (l'équivalent de function en Vb ou en PHP)
    Est ce que c'est possible et si oui comment la déclarer.
    Par avance merci

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 80
    Points : 84
    Points
    84
    Par défaut
    salut,

    la notion de fonction existe bien dans 4D.
    Tu as une procédure à qui tu envois des paramètres ($1, $2, ....).
    tu réalises ton traitement de tres paramètres
    tu renvois ton eésultat dans la variable $0

    c'est tout

    regarde l'aide de 4D, elle est bien faite sur le sujet ou alors tu as de la littérature aussi avec les Guide 4D

    Patrick

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 39
    Points : 26
    Points
    26
    Par défaut
    Merci mais quel mot clé je dois cherche dans l'aide ? la recherche du mot "fonction" ou "procédure" ne donne rien comme résultat.
    Je supose que dans mon code je dois mettre un truc du genre :
    $0:=mafonction($param1,$param2)
    ....
    ...
    fonction mafontction ()
    ...
    ...
    ...

    fin de ma focntion

    C'est dans ce style là je pense mais vous pouvez pas me donner un exemple, le seul truc y ressemblant serait SOAP mais il faut (si j'ai bine compris) le pack web que je n'ai pas...

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 80
    Points : 84
    Points
    84
    Par défaut
    Salut,

    topn appelle de ta fonction devra ressembler à :

    $MonRésultat:=mafonction($param1;$param2$...)


    ta fonction, tu auras
    ...
    le traitement dans lequel tu auras une variable RésultatDeMaFonction
    ....
    $0:=$RésultatDeMaFonction

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 39
    Points : 26
    Points
    26
    Par défaut
    merci de votre intérêt mais y'a un point que j'ai du mal a comprendre :
    Quand je suis dans l'explorateur au niveau des méthodes et que je clique sur le + je peux juste définir le nom de la méthode mais pas les paramètre ni d'entrée ni de sortie. Est ce donc par cette manipulation que l'on crée une fonction ? j'avoue que je rame un peu là.
    La variable $0 ne semble pas être une variable système, comment 4D sait que c'est ma variable de sortie ?
    Par avance merci

  6. #6
    Membre confirmé

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    359
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 359
    Points : 613
    Points
    613
    Par défaut
    Citation Envoyé par sscouby Voir le message
    Quand je suis dans l'explorateur au niveau des méthodes et que je clique sur le + je peux juste définir le nom de la méthode mais pas les paramètre ni d'entrée ni de sortie. Est ce donc par cette manipulation que l'on crée une fonction ?
    Oui. Dans l'explorateur, tu crées une méthode projet (positionne-toi dans les méthodes projets et clique sur "+"), tu la nommes, tu valides.
    Ensuite tu l'édites et tu tapes ton code, y compris les définitions des paramètres entrées, sorties.
    $0, $1, $2, etc... sont des variables locales automatiquement affectées par 4D lors de passage de paramètres.

    Voir doc :
    Méthodes projet

    Citation Envoyé par sscouby Voir le message
    La variable $0 ne semble pas être une variable système, comment 4D sait que c'est ma variable de sortie ?
    Voir le code dans cet article par exemple :
    Compter le nombre d'occurences dans un texte
    Tu crées une méthode (nommée "test" par ex) dans laquelle tu appelles la méthode qui va retourner le résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      ` méthode de test d'appel de str_gLon_Nbr_Occurences
    C_ENTIER LONG($nbOccur)
    $nbOccur:=str_gLon_Nbr_Occurences("un champ texte, un champ alpha et un champ entier long";"un")
    Puis tu crées ta méthode nommée "str_gLon_Nbr_Occurences" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
       ` ----------------------------------------------------
       ` Méthode : str_gLon_Nbr_Occurences
       ` Créée le 22/12/05 par Vincent de Lachaux
       ` ----------------------------------------------------
       ` Description
       ` Retourne le nombre d'occurences de $2 dans $1
       ` ----------------------------------------------------
     
    C_TEXTE($1) `Chaine dans laquelle chercher
    C_TEXTE($2) `Chaine à trouver
    C_ENTIER LONG($0) `Nombre d'occurences
     
    $0:=(Longueur($1)-Longueur(Remplacer chaine($1;$2;"")))/Longueur($2)
    $nbOccur dans ta méthode appelante aura la valeur de retour de $0 de la méthode appelée.
    --Steph4D

  7. #7
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 39
    Points : 26
    Points
    26
    Par défaut
    Impeccable ca répond bien a ma question !
    Merci à tous

Discussions similaires

  1. [Tableaux] Equivalent d'une fonction en php
    Par Wimoux dans le forum Langage
    Réponses: 3
    Dernier message: 15/04/2008, 03h03
  2. Equivalence d'une fonction
    Par Toison dans le forum Excel
    Réponses: 2
    Dernier message: 08/04/2008, 14h38
  3. Equivalent d'une fonction en Anglais
    Par Toison dans le forum Excel
    Réponses: 5
    Dernier message: 25/01/2008, 21h29
  4. Compréhension d'une fonction sous Oracle
    Par sat83 dans le forum SQL
    Réponses: 2
    Dernier message: 15/11/2007, 14h43
  5. Une fonction sous Excel 2007 ne fonctionne pas sous Excel 2003
    Par Dryss51 dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 27/07/2007, 08h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo