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

WinDev Discussion :

RVB en entier


Sujet :

WinDev

  1. #1
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 942
    Points : 1 933
    Points
    1 933
    Par défaut RVB en entier
    Hello

    Je viens de faire une belle découverte, sauf erreur de ma part, PC Soft calcul la valeur du RVB dans le mauvais sens. Je m'en suis rendu compte en cherchant l'algo qui permettait de revenir en RVB à partir d'un entier.

    Dans tous les algo que j'ai pu trouver, le calul se fait de cette manière
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Valeur = R*65536 + G*256 + B
    Eh bien chez PC Soft, le R et le B sont inversés. Du coup mon algo me donne n'importe quoi en conversion lorsque j'en ai besoin. Pourquoi ne pas faire comme les autres ????

    Extrait doc PC Soft
    Nom : 2020-03-10_17h33_51.png
Affichages : 982
Taille : 5,0 Ko
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  2. #2
    Membre actif

    Homme Profil pro
    Sans
    Inscrit en
    Mars 2018
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Mars 2018
    Messages : 153
    Points : 295
    Points
    295
    Billets dans le blog
    1
    Par défaut
    Salut,

    Dans la même veine sur le forum de PC Soft aujourd'hui :

    https://forum.pcsoft.fr/fr-FR/pcsoft...n-rvb/read.awp

  3. #3
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 807
    Points : 5 263
    Points
    5 263
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Napuka ajouter la surcharge de RVB dans nos composants "utilitaire"
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 942
    Points : 1 933
    Points
    1 933
    Par défaut
    Citation Envoyé par Voroltinquo Voir le message
    Bonjour,
    Napuka ajouter la surcharge de RVB dans nos composants "utilitaire"
    Eh bien même pas. Si tu surchargeais la fonction RVB() tu ne pourrais plus trouver les bonnes couleurs au niveau de tes champs. Leur fonction étant montée à l'envers et utilisée partout où il y a une couleur, on n'a plus qu'à faire avec...

    Exemple ci-dessous:
    Nom : 2020-03-11_11h21_50.png
Affichages : 1003
Taille : 21,9 Ko
    Nom : 2020-03-11_11h25_09.png
Affichages : 1005
Taille : 70,1 Ko
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  5. #5
    Membre actif

    Homme Profil pro
    Sans
    Inscrit en
    Mars 2018
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Mars 2018
    Messages : 153
    Points : 295
    Points
    295
    Billets dans le blog
    1
    Par défaut
    Salut,

    J'ai fait une classe (surement améliorable) qui me permet de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    	couleurTest est un entier = CouleurHexa.creer("ffc896").CouleurWindev()
     
    	Trace(couleurTest)	//	Ceci m'affiche 9881855 et correspond bien à ta couleur
    ou la méthode CouleurWindev() renvoi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    PROCÉDURE CouleurWindev()
     
    nRouge est un entier = (Val(_composanteRougeHexa, "x"))
    nVert est un entier = (Val(_composanteVerteHexa, "x"))
    nBleu est un entier = (Val(_composanteBleueHexa, "x"))
     
    RENVOYER RVB(nRouge, nVert, nBleu)

  6. #6
    Membre actif

    Homme Profil pro
    Sans
    Inscrit en
    Mars 2018
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Mars 2018
    Messages : 153
    Points : 295
    Points
    295
    Billets dans le blog
    1
    Par défaut
    Une réponse de PC Soft sur le forum officiel :

    https://forum.pcsoft.fr/fr-FR/pcsoft...37626/read.awp

  7. #7
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 942
    Points : 1 933
    Points
    1 933
    Par défaut
    C'est très fort, sur le forum ils renvoient sur un lien de la doc Microsoft en disant que le codage informatique et ainsi fait, le ST quant à lui répond que ce sont les processeurs intel qui inversent les octets de poids fort et de poids faible.

    Donc il faut le traiter comme tel à savoir BGR.

    Bref on ne peut pas tout faire avec Windev ou alors pas de manière simple et ce n'est jamais de la faute de PC Soft. Ils ne font jamais rien comme les autres malheureusement. Après de très longues années je me résigne et me dit que c'est ainsi. Ca me pousse malheureusement de plus en plus vers d'autres technologies. Leur langage de 5ème génération commence à devenir un langage mort pour moi.

    Les évolutions sont de plus en plus faibles et le côté commercial a trop pris le dessus. PC Soft a trop pris la grosse tête.
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  8. #8
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 942
    Points : 1 933
    Points
    1 933
    Par défaut
    Juste pour info, Le message de Loïc HAMEL a mystérieusement disparu du thread...
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  9. #9
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 942
    Points : 1 933
    Points
    1 933
    Par défaut
    Je me ravise en me disant que tout compte fait ils ont peut-être raison de suivre la doc Microsoft. Par contre ils pourraient faire en sorte d'aller toujours jusqu'au bout, à savoir pouvoir saisir la valeur de la couleur en hexadécimal et qu'elle soit directement transformée dans le bon format comme le font tous les langages évolués d'aujourd'hui. En C# si je mets comme couleur une couleur Hexa, ca me donne la même couleur qu'en aRGB.

    Bref espérons que ça évoluera.
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  10. #10
    Membre actif

    Homme Profil pro
    Sans
    Inscrit en
    Mars 2018
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Mars 2018
    Messages : 153
    Points : 295
    Points
    295
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par philouZ Voir le message
    Juste pour info, Le message de Loïc HAMEL a mystérieusement disparu du thread...
    Oui, j'avais mis un message faisant référence à ce fil de discussion ici même et il a aussi disparu.

  11. #11
    Membre actif

    Homme Profil pro
    Sans
    Inscrit en
    Mars 2018
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Mars 2018
    Messages : 153
    Points : 295
    Points
    295
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par philouZ Voir le message
    Je me ravise en me disant que tout compte fait ils ont peut-être raison de suivre la doc Microsoft. Par contre ils pourraient faire en sorte d'aller toujours jusqu'au bout, à savoir pouvoir saisir la valeur de la couleur en hexadécimal et qu'elle soit directement transformée dans le bon format comme le font tous les langages évolués d'aujourd'hui. En C# si je mets comme couleur une couleur Hexa, ca me donne la même couleur qu'en aRGB.

    Bref espérons que ça évoluera.
    Oui, c'est bien pour ça que je me suis créé une classe me permettant de travailler avec des couleurs hexa et de récupérer une couleur comprise par windev

  12. #12
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 942
    Points : 1 933
    Points
    1 933
    Par défaut
    J'ai fait pareil mais bon c'est quand même dommage.
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  13. #13
    Membre actif

    Homme Profil pro
    Sans
    Inscrit en
    Mars 2018
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Mars 2018
    Messages : 153
    Points : 295
    Points
    295
    Billets dans le blog
    1
    Par défaut

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    486
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 486
    Points : 875
    Points
    875
    Par défaut
    J'ai répondu à ce sujet sur le forum officiel de PC-Soft

    La fonction RVB de WinDev retourne exactement la même valeur que la fonction RGB de l'API GDI32, et ce avec TOUS les langages de programmation.

    Il y a un moyen très facile (et surtout très rapide) de retourner une couleur 32-bit en passant par une structure de type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    COLORBYTES is structure
        B is 1-byte unsigned int
        G is 1-byte unsigned int
        R is 1-byte unsigned int
        A is 1-byte unsigned int
    end
    surtout ne pas passer par un val(chaine) qui est très lent.

    Et voici comment écrire la fonction en WL

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    FUNCTION ARGB(local A is 1-byte unsigned int, local R is 1-byte unsigned int, local G is 1-byte unsigned int, local B is 1-byte unsigned int)
    bytestruct is COLOBYTES
    nRet is unsigned int = 0
    bytestruct.A = A
    bytestruct.R = R
    bytestruct.G = G
    bytestruct.B = B
    transfer (&nRet, &bytestruct, dimension(bytestruct))
    result nRet

  15. #15
    Membre actif

    Homme Profil pro
    Sans
    Inscrit en
    Mars 2018
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Mars 2018
    Messages : 153
    Points : 295
    Points
    295
    Billets dans le blog
    1
    Par défaut
    Merci Patrice pour cette contribution.

    Je regarde pour modifier ma classe

  16. #16
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    486
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 486
    Points : 875
    Points
    875
    Par défaut
    L'utilisation de code procédural est préférable à l'utilisation d'une classe surtout avec du code qui n'est pas réellement compilé.

Discussions similaires

  1. FormatFloat pour les entiers !?
    Par Lung dans le forum Langage
    Réponses: 5
    Dernier message: 10/04/2003, 15h20
  2. format entier
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 20/03/2003, 09h18
  3. Réponses: 9
    Dernier message: 17/01/2003, 11h45
  4. RVB en TSL
    Par j.yves dans le forum DirectX
    Réponses: 1
    Dernier message: 17/12/2002, 15h12
  5. Réponses: 4
    Dernier message: 05/06/2002, 12h15

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