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 Mobile Discussion :

Extraire une chaine contenant des "€" [WM18]


Sujet :

Windev Mobile

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2013
    Messages : 17
    Par défaut Extraire une chaine contenant des "€"
    Bonjour,

    Je développe une application type "Catalogue" pour une entreprise, je parcours des fichier "*.txt" et extrait différentes sous-chaines de caractère, (Code article, Désignation1, Designation2, Prix TTC, Unité...), j'utilise pour cela une procédure globale qui me permet d'extraire une sous chaine à partir d'un nom de référence mais lorsque j’extraie ma désignation2, le signe "€" apparait sous forme bizarre .. J'ai essayer de déclarer mes variables en ANSI, UNICODE ou normales mais rien n'y fait.
    Le signe "€" m'est envoyé sous la forme : "€"

    Quelqu'un aurait une solution ?

    Cordialement,

  2. #2
    Membre Expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 915
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 915
    Par défaut
    Bonjour,

    Peux tu nous dire comment tu ouvre ton fichier texte?

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2013
    Messages : 17
    Par défaut
    J'ai une dizaine de fichier, et j'utilise la fonction suivante :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    ListeFichiersArticle = fListeFichier("C:\POUR MARTIN\art*",frNonRécursif)
    HCréation(ARTICLES)
    POUR TOUTE CHAÎNE UnFichier DE ListeFichiersArticle SEPAREE PAR RC
    	Trace(UnFichier)
    	iDFIchier=fOuvre(UnFichier,foAnsi+foLecture)
    	SI iDFIchier <> -1 ALORS
    		sMonJSON = fLit(iDFIchier,10000000)
    		sMonJSON = Remplace(sMonJSON,"},","}|")
    		sMonJSON = Remplace(sMonJSON,RC,"")
    	SINON
    		Info("Impossible de lire le fichier source")
    	FIN
    sLigne=ExtraitChaîne(sMonJSON,rangPremier,"}|{")
    	TANTQUE sLigne <> EOT
    		Desi2Art=JsonTrouveChaineSpéciale(sLigne,"designation_2")	
    		SI CodeArt="NONTROUVE" ALORS
    			Info("ERREUR ! L'élément n'a pas pu être trouvé")
    		SINON
    			sLigne=ExtraitChaîne(sMonJSON,rangSuivant,"}|{")
    			ARTICLES.ART_DESI2=Desi2Art
    			Trace(Desi2Art)
    			//HAjoute(ARTICLES)
    			Multitâche(-1)
    		FIN
    	FIN	
    	fFerme(iDFIchier)
    FIN
    Et j'utilise la procédure suivante :

    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
    17
    18
    19
    PROCEDURE JsonTrouveChaineSpéciale(fichierJson,chaineRech sont des chaînes)
     
    machaine est une chaîne
    pos, posd, posf, grandeur, gr sont des entiers
     
    chaineRech = Caract(34) + chaineRech + Caract(34) + ": " + Caract(34)
    gr = Taille(chaineRech)
    pos = Position(fichierJson,chaineRech)
     
    SI pos = 0 ALORS
    	machaine ="NONTROUVE"
    SINON
    	posd = pos + gr
    	posf = Position(fichierJson,Caract(34), posd)
    	grandeur = posf - posd
    	machaine = Milieu(fichierJson,posd, grandeur)
    FIN
     
    RENVOYER machaine

  4. #4
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2013
    Messages : 17
    Par défaut
    Grâce à une aide extérieure, j'ai la solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    desi2art est une chaine ANSI
    Desi2Art = UTF8VersChaîne(Desi2Art)

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

Discussions similaires

  1. insérer une chaine contenant des apostrophes
    Par guy_antoine_mav dans le forum C#
    Réponses: 10
    Dernier message: 13/01/2010, 15h45
  2. Réponses: 5
    Dernier message: 16/09/2009, 16h22
  3. Nettoyer une chaine contenant des caractères spéciaux?
    Par adil_vpb dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 30/05/2007, 15h47
  4. Réponses: 1
    Dernier message: 22/01/2007, 20h33
  5. passer d'une chaine contenant des espaces a un tableau
    Par flyfrog dans le forum Contribuez
    Réponses: 3
    Dernier message: 26/06/2006, 20h12

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