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

 Delphi Discussion :

Debutant: procedure et tableau


Sujet :

Delphi

  1. #1
    Membre du Club

    Inscrit en
    Mars 2008
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 75
    Points : 66
    Points
    66
    Par défaut Debutant: procedure et tableau
    Bonjour,

    J'ai sans doute pas compris ce point, mais je voudrait passer un tableau a 2 dimension a une procedure.
    Je n'ai pas de probleme pour un tableau a 1 dimension, est-ce pareil pour 2 dimension ?

    Merci pour votre aide

    elecpic

  2. #2
    rsc
    rsc est déconnecté
    Membre éprouvé
    Avatar de rsc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 711
    Points : 918
    Points
    918
    Par défaut
    Oui, puisqu'un tableau à deux dimensions est tout simplement un tableau de tableaux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyArray = Array[0..n, 0..p] of Integer;
    signifie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyArray = Array [0..n] of Array [0..p] of Integer;

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 763
    Points : 13 381
    Points
    13 381
    Par défaut
    Pour un tableau à N dimensions, il faut obligatoirement définir un nouveau type. On ne peut pas déclarer un paramètre en array of array of ....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    type
      TArray2D = array of array of integer;
     
    procedure Proc(aArray :TArray2D);
    begin
      ...
    end;

  4. #4
    Membre chevronné

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Points : 1 765
    Points
    1 765
    Par défaut
    Citation Envoyé par Andnotor Voir le message
    Pour un tableau à N dimensions, il faut obligatoirement définir un nouveau type.
    Mais on peut toujours faire
    Tableau : Array [1..9,1..9] of Integer

    et Tableau est un array à 2D !

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 763
    Points : 13 381
    Points
    13 381
    Par défaut
    @ mick605

    Bien sûr, mais on ne parle pas de déclaration de variable mais de passage de paramètre à une procédure .

  6. #6
    Membre chevronné

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Points : 1 765
    Points
    1 765
    Par défaut
    Oups, bien vu !

    Faut dire, je me sert pas souvent de tableaux a 2 dimensions comme ca (c'est souvent des TBitmaps ou des trucs comme ca !!)

  7. #7
    Membre du Club

    Inscrit en
    Mars 2008
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 75
    Points : 66
    Points
    66
    Par défaut Ben, heu, rien compris
    Bonsoir a tous,

    Je suis désolé,mais j'ai rien compris !

    En fait, j'ai declaré un tableau a 2 dimensions. Il contient des strings.
    Ce tableau est statique:

    CouleurCase : array [0..500, 0..7] of string;


    Par ailleur, j'ai ecrit une procedure devant reprendre les données du tableau:

    procedure TFichePrincipale.Affichage(Tab_affich: array of string);

    A la compil, ca plante! Je cherche donc a savoir pourquoi.

    merci pour votre aide

    elecpic

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 763
    Points : 13 381
    Points
    13 381
    Par défaut
    Bon, reprenons.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    type
      TCouleurCase :array [0..500, 0..7] of string;
     
    var
      CouleurCase :TCouleurCase;
     
    procedure TFichePrincipale.Affichage(Tab_affich :TCouleurCase);
    begin
      ...
    end;

  9. #9
    Aos
    Aos est déconnecté
    Membre habitué

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 189
    Points : 187
    Points
    187
    Par défaut
    Dans l'entete de ta procedure, tu demande un "tableau de string" (array of string)

    Et tu veux lui passer un "tableau de tableau de string".

    Il faut donc changer l'entete de ta procedure comme te l'a montré Adnotor.

Discussions similaires

  1. [DEBUTANT]procedure stockee
    Par christophebmx dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 03/12/2004, 16h01
  2. [DEBUTANT]Procedure stocké
    Par FreshVic dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 12/07/2004, 12h41
  3. [Debutant]procedure stockee ds un fichier texte
    Par christophebmx dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 07/06/2004, 15h03
  4. [Debutant]Procedure stockee sous MSDE
    Par christophebmx dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 08/04/2004, 10h39
  5. Réponses: 5
    Dernier message: 11/12/2003, 14h45

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