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 :

[VB.net 2008] Stocker une couleur Vb.net au format entier dans une base de donnée


Sujet :

VB.NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    483
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 483
    Points : 309
    Points
    309
    Par défaut [VB.net 2008] Stocker une couleur Vb.net au format entier dans une base de donnée
    Bonjour,

    Je travaille actuellement sur un application en vb.net.

    Je dois aller lire des données dans une base de donnée.

    Ces données correspondent à la représentation entière d'une couleur Delphi.

    Je voulais savoir si il existait une fonction vb.net permettant d'interpréter la représentation entière d'une couleur Delphi?

    J'ai tester color.fromARGB(Ma_valeur), mais cela ne renvoit pas de couleur correcte.

    cordialement

  2. #2
    Membre chevronné Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Points : 2 227
    Points
    2 227
    Par défaut
    Tu aurais sûrement plus de chance d'avoir une réponse sur le forum Delphi.

    Pourquoi les couleurs sont-elles stockées au format Delphi et non pas dans un format indépendant d'un langage, comme par exemple RVB ?

    Sinon, pour répondre à ta problématique, je ne connais pas Delphi mais à mon avis, par simple division hexa/binaire tu devrais pouvoir récupérer les bits qui t'intéressent en RVB. Je ne sais pas s'il existe une formule standardisée pour cela...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    483
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 483
    Points : 309
    Points
    309
    Par défaut
    Bonjour,

    Pourquoi les couleurs sont-elles stockées au format Delphi et non pas dans un format indépendant d'un langage, comme par exemple RVB ?
    Le projet n'était peut être pas définit pour.

    Quoiqu'il en soit je peux laisser tomber la partie concernant la lecture de valeur entière qui représente une couleur Delphi dans la Bdd.

    Je cherche maintenant à pouvoir stocker une couleur vb.net avec un integer dans ma base de donnée.

    merci d'avance pour votre aide

    cordialement

  4. #4
    Membre chevronné Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Points : 2 227
    Points
    2 227
    Par défaut
    Même remarque : pourquoi diable stocker une valeur dans un format non-standard ?

    Il serait beaucoup plus logique de stocker en composantes RVB (par exemple) et de le transformer dans chaque application consommatrice dans sa propre gestion des couleurs !

  5. #5
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 119
    Points
    25 119
    Par défaut
    une couleur en .net ca me parrait plutot standard
    on peut en instancier à partir des 4 valeurs ARGB entre 0 et 255 ou à partir d'un int, l'int étant juste la valeur obtenu à partir de l'hexa du argb
    (#FFFFFFFF étant du blanc non transparent je crois)

    donc macouleur.toargb te donnera un int
    et dans l'autre sens : system.drawing.color.fromargb(intvalue)

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim c As Color = ...
    Dim colorCode As String = ColorTranslator.ToHtml(c)
    Ca renvoie la couleur au format HTML (attention, pour les couleurs nommées ça renvoie le nom de la couleur... par exemple pour Color.Red ça renvoie "Red")

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    483
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 483
    Points : 309
    Points
    309
    Par défaut
    Bonjour,

    Et merci pour vos réponse.

    donc macouleur.toargb te donnera un int
    et dans l'autre sens : system.drawing.color.fromargb(intvalue)
    j'ai utilisé cette solution :

    Pour récupérer la valeur à stocker dans ma base :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Panel.backColor=color.fromArgb(CInt(MaValeurEnBase))
    Pour connaitre les valeurs a stocker pour mes tests

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Label.text=Panel.backcolor.toArgb.tostring
    Par contre ca me donne des valeurs négatives est-ce normal?

    Même remarque : pourquoi diable stocker une valeur dans un format non-standard ?
    Est-ce une méthode standard, me permettant d'aller lire ma valeur en base avec n'importe quel autre type de language?

    Merci pour votre aide

  8. #8
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 119
    Points
    25 119
    Par défaut
    Citation Envoyé par narutobaka Voir le message
    Par contre ca me donne des valeurs négatives est-ce normal?
    oui

    Citation Envoyé par narutobaka Voir le message
    Est-ce une méthode standard, me permettant d'aller lire ma valeur en base avec n'importe quel autre type de language?
    il faudrait un "expert" en héxadécimal pour confirmer que l'int fournit par ToARGB est bien une conversion normale d'hexadécimal vers integer
    auquel cas tu pourras retrouver les valeurs de a, r, g et b entre 0 et 255 (ou en hexa entre 00 et FF) à partir d'un int en découpant les 4 octets de l'int, et donc remettre ca dans n'importe quel système

Discussions similaires

  1. Réponses: 3
    Dernier message: 05/02/2010, 03h45
  2. Réponses: 7
    Dernier message: 19/05/2009, 16h57
  3. Réponses: 1
    Dernier message: 26/09/2008, 16h38
  4. Réponses: 3
    Dernier message: 04/07/2008, 12h00
  5. Réponses: 3
    Dernier message: 30/04/2007, 12h22

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