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 :

Procedure ou fonction : Passage d'options en paramètre


Sujet :

Langage Delphi

  1. #1
    Membre confirmé Avatar de Galet
    Homme Profil pro
    Consultant/Programmeur Robotique industrielle
    Inscrit en
    Mars 2010
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant/Programmeur Robotique industrielle

    Informations forums :
    Inscription : Mars 2010
    Messages : 323
    Points : 484
    Points
    484
    Par défaut Procedure ou fonction : Passage d'options en paramètre
    Bonjour à tous,
    Je souhaite passer, en paramètre, un nombre plus ou moins important d'options types Booléennes.

    En automatisme, pour simplifier le code, je passerai par un byte ou un mot, dans lequel chaque bit représenterait une option. Cette méthode n'est lisible qu'en utilisant une écriture binaire b10011100.
    Un simple masque permet de filtrer pour savoir si l'option est demandée ou non.

    Delphi ne travaille pas nativement sur du binaire. Je pourrais coder et décoder une chaine de caractère, utiliser l'hexa (moins lisible) ou enfin écrire un petit bout de code en assembleur pour ne pas alourdir cette conversion (qui risque d'être beaucoup utilisée).

    Je pense que ce besoin doit être partagé. Que me conseillez-vous ? Une unité dédiée existe-t-elle ?
    Merci par avance,
    Windows 10 / Delphi Tokyo
    "Les choses ne changent pas. Change ta façon de les voir, cela suffit" Lao Tseu

  2. #2
    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 : 54
    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 445
    Points
    28 445
    Par défaut
    en fait le binaire sous Delphi se gère avec des SET OF

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    type
      bit = (b0,b1,b2,b3,b4,b5,b6,b7);
      bits = set of bit;
     
    procedure test(value: bits);
    begin
      if b1 in value then ...
    end;
    mais Alexandria support la notation binaire aussi
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Membre confirmé Avatar de Galet
    Homme Profil pro
    Consultant/Programmeur Robotique industrielle
    Inscrit en
    Mars 2010
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant/Programmeur Robotique industrielle

    Informations forums :
    Inscription : Mars 2010
    Messages : 323
    Points : 484
    Points
    484
    Par défaut
    Merci Paul,
    Je n'avais pas pensé aux ensembles.
    Ce n'est pas la solution que j'espérais...mais ça répond au besoin. (en remplaçant le On par In)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure TfrmMain.Test(value: bits);
    begin
      if b0 in value then showMessage('Ok');
    end;
    Arriver à Alexandria pour que Delphi utilise le codage natif de mon vieux Commodore 64. On n'arrête pas l'progrès...
    Cordialement,
    Windows 10 / Delphi Tokyo
    "Les choses ne changent pas. Change ta façon de les voir, cela suffit" Lao Tseu

  4. #4
    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 : 54
    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 445
    Points
    28 445
    Par défaut
    Citation Envoyé par Galet Voir le message
    Arriver à Alexandria pour que Delphi utilise le codage natif de mon vieux Commodore 64. On n'arrête pas l'progrès...
    Cordialement,
    comment ça ? je n'ai pas souvenir que le BASIC du CBM64 permette des notations binaires
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  5. #5
    Membre confirmé Avatar de Galet
    Homme Profil pro
    Consultant/Programmeur Robotique industrielle
    Inscrit en
    Mars 2010
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant/Programmeur Robotique industrielle

    Informations forums :
    Inscription : Mars 2010
    Messages : 323
    Points : 484
    Points
    484
    Par défaut
    Il est vrai que je codais plus souvent en assembleur et j'avoue ne plus avoir de souvenir du basic d'origine....
    Il faudrait que je ressorte les docs. Peut-être un peu plus tard...dans un élan de nostalgie...
    Windows 10 / Delphi Tokyo
    "Les choses ne changent pas. Change ta façon de les voir, cela suffit" Lao Tseu

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

Discussions similaires

  1. [AC-2010] Passage de tableau en paramètre d'une fonction "Incompatibilité de type"
    Par RhadamantheII dans le forum VBA Access
    Réponses: 3
    Dernier message: 24/04/2019, 16h30
  2. Réponses: 6
    Dernier message: 20/01/2013, 14h08
  3. Réponses: 22
    Dernier message: 04/04/2012, 11h17
  4. Fonctions : passage de paramètres
    Par Luciefer dans le forum Modules
    Réponses: 2
    Dernier message: 10/07/2007, 13h26
  5. Réponses: 14
    Dernier message: 07/06/2007, 19h40

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