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 :

[D7] Passage d'un tableau en paramètre


Sujet :

Langage Delphi

  1. #1
    Membre expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 344
    Points : 3 122
    Points
    3 122
    Par défaut [D7] Passage d'un tableau en paramètre
    Bonjour,

    j'ai un tableau à double indice du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    //  Les filtres
        F1 : Array[0..1,0..25] of Integer = ((0,0,0,0,0,
                                        0,1,2,1,0,
                                        0,2,8,2,0,
                                        0,1,2,1,0,
                                        0,0,0,0,0,  20),
                                        (0,0,0,0,0,
                                        0,1,2,1,0,
                                        0,2,8,2,0,
                                        0,1,2,1,0,
                                        0,0,0,0,0,  20));
    je veux le passer en paramètre à une fonction. J'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Procedure ApplyFilter(Var BMP : TBitmap; Const Filter : Array Of Array of integer; Const Rect : TRect);
    Bien sur, ça ne compile pas :

    [Erreur] Filtering.pas(61): Identificateur attendu(e) mais 'ARRAY' trouvé(e)
    sur la déclaration de la procédure.

    Comment faire pour passer ce tableau ?

    Est ce que je dois créer un Type ?

    Merci

    A+
    Charly

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 041
    Points : 40 950
    Points
    40 950
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    Tu es comme moi, il faut que je m'arrête, car je commence à merder !

    je ne sais pas mais si la déclaration Array[0..1,0..25] of Integer passe pourquoi ne pas mettre la même dans tes paramètres de procédure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Procedure ApplyFilter(Var BMP : TBitmap; Const Filter : Array[0..1,0..25] of Integer; Const Rect : TRect);
    d'un autre côté les pointeurs c'est passé de date ?
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Membre expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 344
    Points : 3 122
    Points
    3 122
    Par défaut
    Merci Serge, mais cela ne passe pas :
    [Erreur] Filtering.pas(61): 'OF' attendu(e) mais '[' trouvé(e)
    je vais essayer de créer un Type

    A+
    Charly

  4. #4
    Membre expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 344
    Points : 3 122
    Points
    3 122
    Par défaut
    J'ai déclaré le type FTab :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Type
        FTab = array[0..1,0..25] of integer ;
     
    Const
     
        F1 : FTab                   = ((0,0,0,0,0,
                                        0,1,2,1,0,
                                        0,2,8,2,0,
                                        0,1,2,1,0,
                                        0,0,0,0,0,  20),
                                        (0,0,0,0,0,
                                        0,1,2,1,0,
                                        0,2,8,2,0,
                                        0,1,2,1,0,
                                        0,0,0,0,0,  20));
     
     
    Procedure ApplyFilter(Var BMP : TBitmap; Const Filter : FTab ; Const Rect : TRect);
    et ça fonctionne.

    Avec des pointeurs, je ne sais pas le faire

    Merci
    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 27/09/2007, 13h38
  2. Réponses: 11
    Dernier message: 18/07/2007, 10h43
  3. Réponses: 6
    Dernier message: 24/07/2006, 15h22
  4. Procédure stockée : passage d'un tableau en paramètres
    Par thomas_strass dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 12/05/2006, 14h52
  5. [JpGraph] Passage d'un tableau en paramètre dans une URL pour JPgraph
    Par crazydiver_e2 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 16/01/2006, 16h15

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