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 :

Initialiser un tableau


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 156
    Par défaut Initialiser un tableau
    Bonjour,

    Pour mon application, je souhaite définir des couleurs appliquées à certains éléments de mes fenêtres : titre, sous-titre, couleurs de grille, etc...

    j'ai donc défini les éléments suivants :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    TypeCouleurs =(Titre, SousTitre, Grille1, Grille2, FondFen, FondBarre, Labels);
    TabCouleurs = Array[TypeCouleurs] of Tcolor;
    Je pensais ensuite déclarer un tableau contenant les couleurs par défaut, et l'initialiser en écrivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
       CouleursDef : TabCouleurs = [TColor($00A1500A),  {bleu PI}
                                    TColor($00007FFF),  {orange PI}
                                    TColor($009CD6FF),  {orange pale}
                                    TColor($00FFDCB4),  {vert}
                                    TColor($00FFDCB4),  {bleu pale}
                                    TColor($00007FFF),  {orange PI}
                                    TColor($00FFDCB4)];
    Mais le compilateur me donne le message suivant :
    [Erreur] TypesEtConst.pas(35): L'expression constante dépasse les limites de sous-étendue
    Qui peut m'aider à résoudre ce problème ?

    D'avance merci

  2. #2
    Membre Expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Par défaut
    vous pouvez le déclarer comme constante initialiser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Const TabCouleur:Array[0..2] of TColor =($00A1500A,$00007FFF,$009CD6FF);

  3. #3
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 086
    Par défaut
    Déjà CouleursDef ne peut pas être une variable locale, ensuite, je pense que c'est juste une question de Syntaxe, ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    type
      TypeCouleurs =(Titre, SousTitre, Grille1, Grille2, FondFen, FondBarre, Labels);
      TabCouleurs = Array[TypeCouleurs] of Tcolor;
     
    var
      CouleursDef : TabCouleurs = ($00A1500A,  {bleu PI}
                                    $00007FFF,  {orange PI}
                                    $009CD6FF,  {orange pale}
                                    $00FFDCB4,  {vert}
                                    $00FFDCB4,  {bleu pale}
                                    $00007FFF,  {orange PI}
                                    $00FFDCB4);
    si c'est à l'intérieur d'une fonction, tu seras obligé de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CouleursDef[Titre] := $00A1500A;
    ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 156
    Par défaut
    Merci à tous les deux, mon erreur était de mettre des crochets [] au lieu de parenthèses dans l'initialisation du tableau.

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

Discussions similaires

  1. Réponses: 35
    Dernier message: 14/02/2006, 18h57
  2. Réponses: 7
    Dernier message: 31/01/2006, 22h34
  3. initialiser un tableau 2D dans le main
    Par miminou dans le forum C++
    Réponses: 5
    Dernier message: 20/12/2005, 10h35
  4. [LG] Jeu mémory : initialisation de tableau
    Par DarkLords dans le forum Langage
    Réponses: 1
    Dernier message: 19/10/2005, 15h13
  5. Problème d'initialisation variable tableau
    Par HeZiX dans le forum Langage
    Réponses: 3
    Dernier message: 08/06/2005, 16h30

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