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 :

Comment récupérer la valeur ordinale d'une valeur d'ensemble ?


Sujet :

Langage Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 53
    Points : 50
    Points
    50
    Par défaut Comment récupérer la valeur ordinale d'une valeur d'ensemble ?
    hello
    j'ai un probleme dont je n'arrive pas a me dépetrer
    j'aimerai savoir si il y a moyen de recuperer la valeur ordinale d'un enregistrement dans un ensemble

    par exemple je definis

    var ens: set of char;
    ens := ['a', 'b', 'g', 'k', '1'];

    j'aimerai que le programme me retourne que le char '1' est le 5 element du set, et inversement qu'il me retourne 'g' si je lui demande le 3 eme element du set.
    c'est possible?

    Titre modifié.
    Merci de lire les règles du forum.

  2. #2
    Expert éminent sénior

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Points : 19 101
    Points
    19 101
    Par défaut
    Non ce n'est pas possible.

    Je pense que tu n'as pas compris ce qu'est un ensemble. Il n'y a pas d'ordre dans un ensemble ni de position. Mais seulement une appartenance.

    Si vraiment tu veux fouiller, alors '1' n'est pas en première position mais en position 49... Un ensemble tel que tu le défini est considéré comme une suite de bits dont chacun défini l'appartenance de l'élément.
    Bit 0 : à 1 si #0 appartient
    Bit 1 : à 1 si #1 appartient
    ...
    Bit 48 : à 1 si '0' appartient
    Bit 49 : à 1 si '1' appartient
    ...
    Bit 65 : à 1 si 'A' appartient
    ...
    Etc.

    L'ensemble va donc prendre 256 bits ( 32 octets )

    Il est déconseillé d'utiliser les bits directement pour gérer un ensemble, car delphi optimise la chaine de bits en fonction du premier élément possible de l'ensemble. Il est préférable d'utiliser les opérateurs classiques.
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  3. #3
    Membre éprouvé
    Avatar de octal
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    441
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 441
    Points : 957
    Points
    957
    Par défaut
    Désolé mais la notion d'indice (ordre) dans un ensemble est inexistante. Les seuls opérateurs destiné au type ensemble sont du genre union/intesection/appartenance/... aucun opérateur ne te permet de retrouver un element à partir de son indice, et cela correspond bien à la notion mathématique d'ensemble. Si tu veux la notion d'ordre il faut passer au tableaux où les elements sont explicitement indicés.
    http://www.pocketmt.com GLCD Font Creator home site.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 53
    Points : 50
    Points
    50
    Par défaut
    ok merci voila qui est plus clair

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/04/2015, 15h38
  2. Réponses: 8
    Dernier message: 13/04/2010, 13h15
  3. tester une valeur et affecter une valeur
    Par Elise0251 dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 29/07/2009, 16h31
  4. Réponses: 10
    Dernier message: 30/11/2006, 23h06
  5. Comment afficher une valeur contenue dans une variable ?
    Par manubrard dans le forum Langage
    Réponses: 5
    Dernier message: 20/02/2006, 15h56

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