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 :

Question sur les Array


Sujet :

Delphi

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2012
    Messages : 28
    Points : 17
    Points
    17
    Par défaut Question sur les Array
    Bonjour à tous,

    Voila je me posait une question
    Est il possible de gérez des array avec des chaines ?

    exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    procedure TForm1.onCreate(Sender: TObject);
    var
      exemple : array of string;
    begin
      Exemple['Hello'] := Bonjour;
      Exemple['good evening'] := Bonsoir; 
    end;
    Je précise c'est juste un exemple mais cela est il possible en delphi?
    Si oui comment dois-je m'y prendre SVP

    Merci d'avance pour vois réponse.

  2. #2
    Membre averti

    Homme Profil pro
    ingénieur, retraité
    Inscrit en
    Février 2007
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : ingénieur, retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 230
    Points : 332
    Points
    332
    Par défaut
    Bonjour,

    Sous cette forme je pense que ce n'est pas possible, l'index devant être un ensemle fini.

    Il y aurait une solution à essayer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     Type 
        Tindex = set of (Trefle, Carreau ,Coeur ,Pique);
     
    Var   
       Exemple : Array[Trefle.. Pique] of String;
     
     
    begin
        Exemple[Coeur] := 'Bonjour';
       ...
    end;
    Cette version ce compile, c'est une solution à vérifier.

    Dans votre exemple Bonjour et Bonsoir ne sont pas des String pour Delphi.

  3. #3
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 457
    Points
    28 457
    Par défaut
    c'est possible avec un objet qui déclare une propriété
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    type
      TStringArray = class
        function getString(const Index: String): string;
        procedure setString(const Index, Value: string);
        property Strings[Index: string]: string read getString write setString; default;
      end;
    et ça existe notamment avec TStringList.Values

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    var
      s: TStringList;
    begin
      s := TStringList.Create;
      s.Values['Hello'] := 'Bonjour';
    // ce qui donne la même chose que
      s.Add('Hello=Bonjour');
    end;

  4. #4
    Membre du Club
    Homme Profil pro
    Consultant en développement
    Inscrit en
    Septembre 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant en développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 19
    Points : 44
    Points
    44
    Par défaut
    Bonsoir,

    Moi je partais sur les TDictionnary (je découvre depuis peu) :

    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
    19
    20
    21
     
    uses
      System.SysUtils , Generics.Collections ;
     
    var
        ChaineNommee : TDictionary<string , string>;
    begin
     
        ChaineNommee := TDictionary<string , string>.create;
        ChaineNommee.add('Hello','Bonjour');
        ChaineNommee.add('good evening','Bonsoir');
     
        Writeln('Hello premier : ' ,ChaineNommee['Hello']);
     
        ChaineNommee['Hello'] := 'Coucou';
     
        Writeln('Hello second : ' ,ChaineNommee['Hello']);
        Writeln('good evening : ' ,ChaineNommee['good evening']);
     
        ChaineNommee.Free;
    end.
    ce qui donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Hello premier : Bonjour
    Hello second : Coucou
    good evening : Bonsoir

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2012
    Messages : 28
    Points : 17
    Points
    17
    Par défaut
    Hum je ne connaissais pas le TDictionnary,

    Je vais aller voir de ce côté.

    Ça doit pouvoir solutionner mon problème

    En tout cas merci pour vos réponse
    et désolé de la réponse tardive 15 août oblige

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

Discussions similaires

  1. Question sur les tableaux (Array)
    Par solenseb dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 16/12/2011, 19h48
  2. une question sur les array list
    Par yacin87 dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 09/04/2010, 22h56
  3. [VBA-E] Question sur les Array de plages
    Par ruzakruzak dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 13/06/2007, 15h14
  4. Réponses: 7
    Dernier message: 10/01/2007, 00h37
  5. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11

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