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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    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
    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 confirmé 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
    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.

  3. #3
    Membre averti
    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
    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 confirmé 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
    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.

  5. #5
    Membre averti
    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
    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 confirmé 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
    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) ;

+ 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