1. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

WD EQUIVALENCE C EN windev

Discussion dans 'Windev' créé par CAMAN, Sept 19, 2022.

  1. CAMAN

    CAMAN New Member

    Inscrit:
    Fev 29, 2020
    Messages:
    21
    J'aime reçus:
    0
    Salut la team
    J'aimerais savoir la manière d'écrire cette variable dans les paramètres de l'api en wlangage?

    const float ratio

    RS_EncodeWSQ( unsigned char* rawBuffer, int width, int height, const
    float ratio, unsigned char* wsqBuffer, int* wsqBufferLen)

    J'ai essayé cette façon mais sans succès :
    bBufferFixe est un Buffer
    Taillebuf est un entier
    RS_Result=API("RS_SDK.dll", "RS_EncodeWSQ",typdOIT1,largeurdOIT1,HauteurDOIT1,"0,75",bBufferFixe,&Taillebuf)
    SI RS_Result=RS_SUCCESS ALORS
    Info(Taillebuf)
    SINON
    Info(RS_Result)
    FIN

     
    #1 CAMAN, Sept 19, 2022
    Dernière édition: Sept 19, 2022
    Tags:
  2. Dandypunk

    Dandypunk Well-Known Member

    Inscrit:
    Nov 28, 2019
    Messages:
    598
    J'aime reçus:
    328
    Bonjour,
    Une variable déclarée en const (constante) ne pourra pas changer de valeur durant sa visibilité. Cela permet au compilateur certaines optimisations.
    Il n'y a pas d'équivalent en WL pour un paramètre. Nous sommes donc en face d'un réel il faut faire sauter les """. Par ailleurs en WL, la "," est un "."

    Une autre solution qui préserve l'esprit de la fonction, est de déclarer ratio dans l'initialisation de ta collection de procédure ou de la fenêtre qui appelle ta fonction.

    Code (Windev):
    CONSTANTE
         RS_RATIO=0.75
    FIN
    L'appel se fait alors comme suit :
    Code (Windev):

    RS_Result=

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("RS_SDK.dll", "RS_EncodeWSQ",typdOIT1,largeurdOIT1,HauteurDOIT1,RS_RATIO,bBufferFixe,&Taillebuf)
     
     
    WX1331, CAMAN et Gemini1961 aiment ça.
  3. CAMAN

    CAMAN New Member

    Inscrit:
    Fev 29, 2020
    Messages:
    21
    J'aime reçus:
    0

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Bonjour,
    Une variable déclarée en const (constante) ne pourra pas changer de valeur durant sa visibilité. Cela permet au compilateur certaines optimisations.
    Il n'y a pas d'équivalent en WL pour un paramètre. Nous sommes donc en face d'un réel il faut faire sauter les """. Par ailleurs en WL, la "," est un "."

    Une autre solution qui préserve l'esprit de la fonction, est de déclarer ratio dans l'initialisation de ta collection de procédure ou de la fenêtre qui appelle ta fonction.

    Code (Windev):
    CONSTANTE
         RS_RATIO=0.75
    FIN
    L'appel se fait alors comme suit :
    Code (Windev):

    RS_Result=

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("RS_SDK.dll", "RS_EncodeWSQ",typdOIT1,largeurdOIT1,HauteurDOIT1,RS_RATIO,bBufferFixe,&Taillebuf)
     
    Cliquez pour agrandir...
    je rencontre une erreur lors de l'execution du code
     

    Fichiers attachés:

  • CAMAN

    CAMAN New Member

    Inscrit:
    Fev 29, 2020
    Messages:
    21
    J'aime reçus:
    0

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Bonjour,
    Une variable déclarée en const (constante) ne pourra pas changer de valeur durant sa visibilité. Cela permet au compilateur certaines optimisations.
    Il n'y a pas d'équivalent en WL pour un paramètre. Nous sommes donc en face d'un réel il faut faire sauter les """. Par ailleurs en WL, la "," est un "."

    Une autre solution qui préserve l'esprit de la fonction, est de déclarer ratio dans l'initialisation de ta collection de procédure ou de la fenêtre qui appelle ta fonction.

    Code (Windev):
    CONSTANTE
         RS_RATIO=0.75
    FIN
    L'appel se fait alors comme suit :
    Code (Windev):

    RS_Result=

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("RS_SDK.dll", "RS_EncodeWSQ",typdOIT1,largeurdOIT1,HauteurDOIT1,RS_RATIO,bBufferFixe,&Taillebuf)
     
    Cliquez pour agrandir...
    Le problème vient du fait que l'exécution du code me génère une erreur quand le ratio n'est pas une chaine.
     
  • CAMAN

    CAMAN New Member

    Inscrit:
    Fev 29, 2020
    Messages:
    21
    J'aime reçus:
    0
    Spécifie le débit binaire de la compression. Notez qu'il doit être considéré comme
    le niveau de distorsion acceptable plutôt qu'un outil pour réaliser un fichier spécifique
    taille ou un taux de compression exact. Par exemple, 2,25 et 0,75 donnent approximativement
    Compression 5:1 et 15:1 respectivement. Cependant, le taux de compression réel
    variera selon les caractéristiques de l'image d'origine. (Intervalle:
    0.1~7.5)
     
  • CAMAN

    CAMAN New Member

    Inscrit:
    Fev 29, 2020
    Messages:
    21
    J'aime reçus:
    0
    Le ratio passe quand c'est un réel de 4 octets mais dans une constante on ne peut pas définir le type de variable...
     
  • Partager cette page

    Chargement...