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 :

Alternative à un Set Of


Sujet :

Langage Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut Alternative à un Set Of
    Salut

    Voilà, j'ai pris l'habitude de travailler avec des constantes énumérées ainsi qu'avec des ensembles (set of).

    Exemple bateau:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      Type
        TCouleur = (coBlanc, coBleu, coRouge, coVert, coNoir);
        TCouleurs = set of TCouleur;
    Seulement dans le cas présent mon type de base possède plus de 256 valeurs, donc me voilà dans l'incapacité de définir un ensemble.

    Quelle alternative choisieriez-vous ? Un array ?

    @+ Claudius

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Par défaut
    Bonjour,

    Tout dépend de l'utilisation qui en est envisagé :
    - comme le TColor est en fait un Integer je prendrais un array,
    - je prendrais également un array pour un ensemble de valeurs numériques entre lesquelles il est envisagé de faire opérations de calcul,
    - et s'il s'agit d'un ensemble de mots je prendrais plutôt une tStringList s'il faut pouvoir faire ensuite un Case maListe.indexOf(mot) Of ....

    A+
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  3. #3
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Salut Gilbert

    En fait je ne fait pas de calcul.
    Je cherche une alternative simple à l'opérateur IN des ensembles, genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      if MaCouleur in MesCouleurs then 
        // ...
    Scanner un tableau dans ce cas, je trouve ça un peu lourd.

    Quant à choisir un TStringList, donc transformer mes valeurs ordinales en chaînes de caractères, euh pas terrible non plus.

    Mais plus je me creuse, et moins je vois d'alernative.

    @+ Claudius

  4. #4
    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
    Citation Envoyé par Cl@udius Voir le message
    Salut Gilbert

    En fait je ne fait pas de calcul.
    Je cherche une alternative simple à l'opérateur IN des ensembles, genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      if MaCouleur in MesCouleurs then 
        // ...
    Scanner un tableau dans ce cas, je trouve ça un peu lourd.

    Quant à choisir un TStringList, donc transformer mes valeurs ordinales en chaînes de caractères, euh pas terrible non plus.

    Mais plus je me creuse, et moins je vois d'alernative.

    @+ Claudius
    Fractionner votre ensemble en deux ne vous arrange pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (MaCouleur in MesCouleurs_part1) Or (MaCouleur in MesCouleurs_part2) then

  5. #5
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Citation Envoyé par aityahia Voir le message
    Fractionner votre ensemble en deux ne vous arrange pas
    Euh non malheureusement ce n'est pas du tout envisageable !
    Ca me ferait reprendre une trop grande partie de mon code.

    Mais ce n'était pas une mauvaise idée.

  6. #6
    Expert confirmé

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Par défaut
    Ton code, tu vas de toutes façons devoir le reprendre. Aussi je te conseille de faire ce que t'a proposé aityahia, mais encapsulé dans un record (si tu as D2005 au moins) ou dans une classe (dans le cas contraire).

    Je te fais un exemple dans l'heure.
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  7. #7
    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
    a première vue le tableau et la seule alternative le mieux sera d'ajouter quelque procédures (ajout, suppression, dedans...) pour une maniabilité similaire aux ensembles

  8. #8
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Salut Aityahia

    Citation Envoyé par aityahia Voir le message
    a première vue le tableau et la seule alternative..
    Je crois que vais devoir en passer par là.
    J'avais espéré une solution miracle à laquelle je n'aurais pas pensé, mais bon tant pis.

    Merci pour vos réactions.

    @+ Claudius

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

Discussions similaires

  1. alterner les couleurs dans un tableau avec xsl
    Par Eithelgul dans le forum XSL/XSLT/XPATH
    Réponses: 14
    Dernier message: 03/05/2015, 23h29
  2. set term ^
    Par tux dans le forum Débuter
    Réponses: 8
    Dernier message: 12/10/2004, 20h42
  3. IB 6.0.1 - Win XP - Character Set
    Par SuperTotor dans le forum InterBase
    Réponses: 4
    Dernier message: 03/06/2003, 20h25
  4. Query data set
    Par Sandra dans le forum JBuilder
    Réponses: 3
    Dernier message: 20/01/2003, 10h08
  5. character set // Nls_lang
    Par fopicht dans le forum Oracle
    Réponses: 2
    Dernier message: 23/05/2002, 12h04

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