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

VB.NET Discussion :

Comment stocker la valeur d'une couleur ?


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2010
    Messages : 47
    Points : 38
    Points
    38
    Par défaut Comment stocker la valeur d'une couleur ?
    Bonjour à tous,

    Voila, je développe actuellement une application qui, pour faciliter la visualisation rapide de différents éléments pour un utilisateur, mettra les lignes et la police d'un datagridview dans certaines couleurs (dépendras des éléments pré-définis).

    J'ai une table Mysql dans laquelle j'ai créer deux champs, 1 stockera la valeur de la couleur d'arrière plan et l'autre la couleur de la police.

    Voici mes questions :

    Quelle est le processus et/ou la manière la plus simple et/ou la plus avantageuse de stocker la valeur d'une couleur ?

    Peut-on encore, en vb.net, stocker la valeur d'une couleur en Hexa ou y a-t-il d'autre méthode plus simple ? ARGB ?

    avouez que stocker en Hexa est nettement plus facile non ? 6 caractères, longueur de variable stricte et fixe, easy win !

    Peut-on stocker cette valeur sans devoir faire des manipulations de chaîne excessive et inutile ?

    Est-ce que l'un d'entre-vous a déjà fait ça (enregistrer la valeur d'une couleur) et comment avez-vous procédé ?

    Je sais déjà comment récupéré la valeur, j'obtiens "color [A= ... ", je cherche juste à avoir un échange d'idées à ce sujet parce qu'il y a toujours plus d'idées dans deux têtes que dans une

    J'hésite entre stocker ma valeurs en string du style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim ValA as string
    Dim ValB as string
    Dim ValG as string
    Dim ValR as string
    Dim ValCouleur as string
     
    ValA = "00" & color.A
    ValB = "00" & color.B
    valG = "00" & color.G
    ValR = "00" & color.R
     
    ValCouleur = strings.right(ValA,3) & strings.right(ValR,3) & strings.right(ValG,3) & strings.right(ValB,3)
    Et ainsi quand je récupère ma valeur j'ai une chaîne de 12 caractères fixe et j'aurais juste à la décomposer pour avoir ma couleur exacte

    OU

    Stocker directement la variable color en texte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim ValCouleur as string
     
    ValCouleur = ColorDialog1.color
    Et la je tape mon champ string comme variable directement sans toucher à la structure (si VB.net est capable de comprendre les données qu'il génère)

    J'attend avec impatience votre avis sur la/les questions

  2. #2
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Je ne pense pas que ce soit la bonne approche.

    Je stockerai plutôt dans la base MySql un nom de style et via l'event CellFormatting du dataGridView, j'affecterai à la BackColor des cellules la couleur associée au nom de style.
    Penser à mettre la propriété Visible de la colonne "Nom_de_Style" de la dataGridView à false.

    On peut s'abstenir de stoker un style dans la table si on peut (comme dans la plupart des cas) le déduire du contenu de la Row.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2010
    Messages : 47
    Points : 38
    Points
    38
    Par défaut
    Bonjour,

    merci pour ta réponse,

    enfaîte je vais donner la possibilité aux différents utilisateurs de créer et modifier des thèmes pour la mise en couleur des lignes, d'ou le stockages des valeurs choisies dans une table mysql

    mais dans quel format la stocker ? la est la question ...

    je vais utiliser CELLFORMATTING du datagridview mais avant faut stocker la valeur

  4. #4
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    ARGB : avouez que stocker en Hexa est nettement plus facile non ? 6 caractères, longueur de variable stricte et fixe, easy win !
    C'est le genre de solution que j'adopterai.

    Personnellement, je stocke les RVB comme 3 nombre décimaux séparés par un caractère spécial, par exemple "0.0.255" pour du bleu.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2010
    Messages : 47
    Points : 38
    Points
    38
    Par défaut
    Bonsoir Graffiti,

    Comment tu récupère la valeur en RVB ?
    Une option ou une fonction qui m'aurait échappé ?

  6. #6
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    int R = MySourceColor.R ;
    int G = MySourceColor.G ;
    int B = MySourceColor.B ;
    ...
    Color MyDestColor= Color.FromArgb(R,G,B) ;
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2010
    Messages : 47
    Points : 38
    Points
    38
    Par défaut
    Bonsoir,

    effectivement je n'aie pas penser a ne prendre que c'est 3 valeurs

    et le A dans tous ça il n'est pas necessaire ?
    il n'est pas nécessaire ?
    qu'elle est l'utilité du ARVB alors ? spécifié 1 paramètres en plus ?
    ils ont que ça a faire chez Microsoft ?

  8. #8
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Le A correspond à la valeur de l'AlphaBlending, c'est à dire le degré de transparence (255=> opaque par défaut, 0=> transparent).

    En Winforms, cela ne sert pratiquement que quand on dessine soi-même via les methodes de la classe Graphics.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2010
    Messages : 47
    Points : 38
    Points
    38
    Par défaut
    Bonjour,

    Graffito, merci beaucoup pour ces éclaircissement et cette conversation forte intéressante.

    un bonne journée à tous !

    => Passage en résolu

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 09/07/2014, 19h33
  2. Réponses: 2
    Dernier message: 14/05/2014, 10h23
  3. [XSL] Comment modifier la valeur d'une variable?
    Par sorcer1 dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 17/02/2010, 13h26
  4. [Forms] Comment restreindre les valeurs d'une LOV
    Par popressay dans le forum Forms
    Réponses: 9
    Dernier message: 25/08/2004, 10h59
  5. Comment stocker un ficher dans une table postgres
    Par josoft dans le forum Requêtes
    Réponses: 3
    Dernier message: 23/06/2003, 16h41

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