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 :

Problème d'affichage en arabe


Sujet :

WinDev

  1. #1
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 387
    Par défaut Problème d'affichage en arabe
    Bonjour

    Je suis en V28
    J'ai un WS est "Utiliser des chaines ANSI en exécution"
    Code WS
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    PROCÉDURE MaProcédure(CB is string): string
     
    SI HLitRecherchePremier(ARTICLES,CODEBARRE,CB,hIdentique)=Vrai ALORS
    	RENVOYER FARTICLES.ARTICLE   >> ÈíÚ ãÌÇäí
    FIN
    J'ai un WS est "Utiliser des chaines UNICODE en exécution"

    Sur Windev mobile
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    rep est une chaine=MaProcédure(SaisieScanneDoc)
    SAI_ARTICLE=rep    >> ÈíÚ ãÌÇäí
    j'utilise UnicodeVersAnsi()

    mais l'affichage reste le même
    En V26 je n'avais plus ce problème

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 475
    Par défaut
    Bonjour,

    Tu as bien mis l'alphabet qui va bien dans le UnicodeVersAnsi ?
    De même, par acquis de conscience,
    je mettrais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rep est une chaine UNICODE =MaProcédure(SaisieScanneDoc)
    et aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RENVOYER AnsiVersUnicode(FARTICLES.ARTICLE, alphabetArabe)
    A vérifier aussi s'il ne faut pas passer par des buffers.

  3. #3
    Membre émérite

    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 418
    Billets dans le blog
    1
    Par défaut
    La question est déjà posé sur le forum pcsoft
    Il a oublié de préciser qu'il est en json.
    De plus il faut préciser le type de chaîne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    rep est une chaine ANSI
    Si rep viens du webservice

  4. #4
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 387
    Par défaut
    Citation Envoyé par frenchsting Voir le message
    Bonjour,

    Tu as bien mis l'alphabet qui va bien dans le UnicodeVersAnsi ?
    De même, par acquis de conscience,
    je mettrais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rep est une chaine UNICODE =MaProcédure(SaisieScanneDoc)
    et aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RENVOYER AnsiVersUnicode(FARTICLES.ARTICLE, alphabetArabe)
    A vérifier aussi s'il ne faut pas passer par des buffers.


    Merci de ton retour

    J'ai utilise ta proposition Affiche "?? ????? ????"
    J'ai déjà utilisé le buffer même problème

  5. #5
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 475
    Par défaut
    Bonjour,

    As-tu bien typé ta procédure ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PROCÉDURE MaProcédure(CB est une chaine string) : chaine UNICODE

  6. #6
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 387
    Par défaut
    Bonjour
    Nom : image_2023-06-22_091242875.png
Affichages : 122
Taille : 18,2 Ko
    Nom : CodeWS.png
Affichages : 116
Taille : 11,9 Ko
    Nom : WM.png
Affichages : 118
Taille : 9,4 Ko

    Nom : ConfigWS.png
Affichages : 110
Taille : 10,4 Ko
    Nom : ConfigWM.png
Affichages : 113
Taille : 10,8 Ko

  7. #7
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 475
    Par défaut
    Et en mettant l'alphabet ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SaisieScan = UnicodeversAnsi(FARTICLES.ARTICLE, alphabetArabe)
    Autre astuce : avant tes codes RENVOYER mettre un mouchard (fsauvetexte / info) pour savoir si au départ, la valeur est correcte.

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

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 913
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Question idiote :
    As tu quelque part ( avant l'affichage) un bout de code du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Nation(NationArabe)
    ChangeAlphabet(AlphabetArabe)

  9. #9
    Membre émérite

    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 418
    Billets dans le blog
    1
    Par défaut
    Salut
    Je répète
    Il faut absolument préciser le type de chaîne tout le temps
    CB est une chaîne ANSI
    En plus tu indiques ta configuration mais sans préciser si c'est sur le WS ou WM
    Pareil pour les codes merci de préciser si c'est sur WS ou WM
    Sinon on risque de se mélanger les pinceaux.
    Je répète
    La communication entre WS et WM est préférable en ANSI
    Sinon faire du XML

    Utiliser ANSIversUNICODE ou UTF-8versunicode
    Sur WM

    Cordialement

  10. #10
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 387
    Par défaut
    Citation Envoyé par frenchsting Voir le message
    Et en mettant l'alphabet ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SaisieScan = UnicodeversAnsi(FARTICLES.ARTICLE, alphabetArabe)
    Autre astuce : avant tes codes RENVOYER mettre un mouchard (fsauvetexte / info) pour savoir si au départ, la valeur est correcte.
    Bonjour

    Oui j'ai déjà fais le débogage

    Avec les 2 lignes
    Nation(NationArabe)
    ChangeAlphabet(AlphabetArabe)

    Le retour de valeur est bon

    Mais sur WM j'ai le message
    Nom : MsgErr.png
Affichages : 95
Taille : 18,6 Ko


    Je désactive la ligne ChangeAlphabet(AlphabetArabe), sur WM pas de message mais la valeur de retour est mauvais

    Sans les 2 lignes
    Nation(NationArabe)
    ChangeAlphabet(AlphabetArabe)

    Le retour de valeur est mauvais

  11. #11
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 387
    Par défaut
    Citation Envoyé par Voroltinquo Voir le message
    Bonjour,
    Question idiote :
    As tu quelque part ( avant l'affichage) un bout de code du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Nation(NationArabe)
    ChangeAlphabet(AlphabetArabe)

    J'ajoute ces 2 lignes dans les WS et WM mais envain

  12. #12
    Membre émérite

    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 418
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Fmfib Voir le message
    J'ajoute ces 2 lignes dans les WS et WM mais envain
    Ces 2 lignes ne sont a mettre que sur WM et ne sont valables que pour l'affichage dans les fenêtres.
    Et personnellement, je n'utilise que nation si je souhaite qu'une langue d'affichage.
    J'ai des fenêtres multilingues (chinois, français)
    Et dans ce cas ni nation ni changealphabet
    De plus WM est unicode et gère très bien cela.
    Mais bon, j'arrête de répondre
    Puisque tu ne suis aucun de mes conseils.

  13. #13
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 387
    Par défaut
    Bonjour

    >>>>>>EN FIN

    J'ai essayé d'insérer dans mon code vos conseils

    La communication de WS est en ANSI et WM est UNCODE //Obligatoire

    Sur WS
    Retour de la valeur : MaProcedure : chaîne UNICODE //Obligatoire
    RENVOYER AnsiVersUnicode(FARTICLES.ARTICLE, alphabetArabe) //Obligatoire

    Sur WM
    ChangeAlphabet(alphabetArabe) //Obligatoire
    Reponse est est une chaîne UNICODE //Obligatoire
    SAI_Affiche=UnicodeVersAnsi(Reponse) //Obligatoire

    >>> LE RESULTAT MAINTENANT EST BON

    Donc ça marche pour un retour de chaine

    -----------------------------------------------------------------------------

    Pour une structure ou un tableau de structure avec un retour buffer : J'ai encore le souci d'affichage arabe

    Voilà le code WS
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    stPROD est une structure 
       Code est une chaine ANSI
       Produit est une chaine ANSI
    FIN
    MaStru est un stPROD 
     
    Procédure Affiche(CB est une chaine ANSI)
    SI HLitRecherchePremier(Produit ,CODEBARRE,CB)
     MaStru.Code =Produit.Code
     MaStru.Code =Produit.produit
    fin
     
    bReponse est un buffer
    Sérialise(MaStru , bReponse, psdJSON)
    RENVOYER AnsiVersUnicode(bReponse,alphabetArabe )
    Sur WM
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Déclaration dans la fenêtre
    stPROD est une structure 
       Code est une chaine ANSI
       Produit est une chaine ANSI
    FIN
    MaStru est un stPROD 
     
     
    ChangeAlphabet(alphabetArabe)
    bufReponse est un Buffer=Affiche(SaisieScanneCB)
    Désérialise(MaStru ,UnicodeVersAnsi(bufReponse,alphabetArabe),psdJSON)
    Sai_AfficheArticle= UnicodeVersAnsi(MaStru.Produit,alphabetArabe)

  14. #14
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 475
    Par défaut
    Bonjour,

    La ligne suivante me semble erronée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Désérialise(MaStru ,UnicodeVersAnsi(bufReponse,alphabetArabe),psdJSON)
    J'écrirais plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Désérialise(MaStru ,bufReponse,psdJSON)

  15. #15
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 387
    Par défaut
    Citation Envoyé par frenchsting Voir le message
    Bonjour,

    La ligne suivante me semble erronée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Désérialise(MaStru ,UnicodeVersAnsi(bufReponse,alphabetArabe),psdJSON)
    J'écrirais plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Désérialise(MaStru ,bufReponse,psdJSON)

    Bonjour

    Oui je l'ai remplacé par le code ci dessous mais toujours le souci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    rep=UnicodeVersAnsi(rep,alphabetArabe)
     
    Désérialise(MaStru,rep,psdJSON)
     
    SaisieScanneDoc1=AnsiVersUnicode(MaStru.Produit,alphabetArabe)

  16. #16
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 475
    Par défaut
    Question (très) bête : tu as mis des points d'arrêt dans ton code pour tracer les valeurs émises/reçues ?

  17. #17
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 387
    Par défaut
    Tant que j'ai encore le problème, je n'enlève pas les points d'arrêts

  18. #18
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 475
    Par défaut
    Donc tu peux comparer les différents éléments émis / reçus.

    - le buffer json émis de ton ws
    - le buffer json reçu par ton appli

    Est-ce que ce sont les mêmes ?

    - la valeur de MaStru (et de ses membres) avant sérialisation
    - la valeur de MaStru (et de ses membres) après désérialisation

    Est-ce que ce sont les mêmes ?

  19. #19
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 387
    Par défaut
    Sur WS au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
            Code	        est une chaîne ANSI
    	Produit	est une chaîne ANSI
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
                 Code	        est une chaîne UNICODE
    	Produit	est une chaîne UNICODE
    Merci pour vous les 3 de vos aides

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

Discussions similaires

  1. Problème d'affichage de caractères en arabe
    Par nagca dans le forum Android
    Réponses: 1
    Dernier message: 26/08/2012, 23h48
  2. [Geoserver] Problème d'affichage des labels en arabe
    Par chouf2 dans le forum SIG : Système d'information Géographique
    Réponses: 0
    Dernier message: 06/09/2010, 17h59
  3. problème d'affichage des données en arabe
    Par ikramta dans le forum Balisage (X)HTML et validation W3C
    Réponses: 14
    Dernier message: 26/03/2009, 14h33
  4. [2.2.2] Probléme affichage caractères arabes
    Par alexandre_71 dans le forum BIRT
    Réponses: 8
    Dernier message: 13/02/2009, 15h49
  5. [XSL-FO][FOP] problème d'affichage des caractère arabe
    Par MedNaceur dans le forum XSL/XSLT/XPATH
    Réponses: 19
    Dernier message: 27/11/2008, 18h43

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