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

Langage Delphi Discussion :

Passer un tableau multi-dimensionnel à une fonction..


Sujet :

Langage Delphi

  1. #1
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 187
    Points : 90
    Points
    90
    Par défaut Passer un tableau multi-dimensionnel à une fonction..
    .. on fait ça comment ?

    Merci.



    JJE

  2. #2
    Membre éprouvé
    Avatar de CapJack
    Homme Profil pro
    Prof, développeur amateur vaguement éclairé...
    Inscrit en
    Mars 2004
    Messages
    624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Prof, développeur amateur vaguement éclairé...
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 624
    Points : 988
    Points
    988
    Par défaut
    En déclarant un type, tout simplement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    type 
     TMyArray = array[0..12,0..45] of Integer;
    Après, il faut passer le paramètre avec var ou const (pour éviter qu'il soit recopié sur la pile) suivant qu'il sera modifié ou pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    procedure DebrouilleToiAvecCa(const t : TMyArray);

  3. #3
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 187
    Points : 90
    Points
    90
    Par défaut
    Merci CapJack,

    Mais pour corser un peu, le tableau est dynamique, et ne contient que des variants. La fonction appelée se trouve dans une autre unit.



    JJE

  4. #4
    Membre confirmé
    Homme Profil pro
    Santé
    Inscrit en
    Septembre 2010
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Santé
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2010
    Messages : 290
    Points : 534
    Points
    534
    Par défaut
    Citation Envoyé par Jean-Jacques Engels Voir le message
    Mais pour corser un peu, le tableau est dynamique, et ne contient que des variants. La fonction appelée se trouve dans une autre unit.
    JJE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    procedure DebrouilleToiAvecCa(const Data: array of const);

  5. #5
    Membre éprouvé
    Avatar de CapJack
    Homme Profil pro
    Prof, développeur amateur vaguement éclairé...
    Inscrit en
    Mars 2004
    Messages
    624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Prof, développeur amateur vaguement éclairé...
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 624
    Points : 988
    Points
    988
    Par défaut
    Pour éviter de réinventer l'eau tiède, as-tu lu le mémo de Laurent Dardenne sur les tableaux de variants ?

    http://laurent-dardenne.developpez.c...tresVariables/

  6. #6
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 187
    Points : 90
    Points
    90
    Par défaut
    Bon, tout cela me semble bien compliqué !
    Finalement, j'ai créé un pointeur sur le tableau et passé celui-ci à la fonction.
    Ça fait un peu GOTO, mais bon...



    JJE

  7. #7
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 832
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 832
    Points : 13 580
    Points
    13 580
    Par défaut
    Citation Envoyé par Jean-Jacques Engels Voir le message
    Bon, tout cela me semble bien compliqué !
    Finalement, j'ai créé un pointeur sur le tableau et passé celui-ci à la fonction.
    CapJack t'a aussi fourni un exemple avec pointeur. La seule différence est que ce pointeur est typé

    (L'exemple de Caribensila n'a qu'une dimension.)

    Citation Envoyé par CapJack Voir le message
    il faut passer le paramètre avec var ou const ... suivant qu'il sera modifié ou pas
    Oui dans le cas d'un tableau statique. Dans le cas de tableaux dynamiques, cela ne concerne que le redimensionnement (et encore, du premier niveau uniquement). Même avec const, il est possible de modifier les données.

Discussions similaires

  1. Passer en paramètre un tableau php dans une fonction javascript
    Par hartecel dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 17/07/2008, 16h17
  2. Comment passer un tableau de structure à une fonction
    Par mackla dans le forum Débuter
    Réponses: 12
    Dernier message: 01/06/2008, 18h21
  3. Réponses: 7
    Dernier message: 08/02/2007, 11h52
  4. Réponses: 1
    Dernier message: 18/11/2005, 12h38
  5. passer FILE* en argument d une fonction
    Par Monsieur_Manu dans le forum C
    Réponses: 9
    Dernier message: 10/04/2003, 18h56

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