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 :

chaine et symbole <0> [WD12]


Sujet :

WinDev

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 69
    Points : 64
    Points
    64
    Par défaut chaine et symbole <0>
    Bonsoir à tous,

    J'ai actuellement un problème sur un programme de gestion de fichiers. En effet, lorsque je cherche à traiter un fichier, je le transfère vers une chaine avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gsFichier_Buffer = fChargeTexte(gsNom_fichier)
    et je le manipule ensuite avec succès sauf lorsque le fichier comporte le symbole <0> dedans. Ça semble être le symbole de fin de chaine et il est 12 fois au beau milieu de certains fichiers de données suite à un problème sur une machine médicale. Je cherche donc à les supprimer mais la fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    remplace(gsFichier_Buffer,<0>," ")
    ne fonctionne pas... J'ai l'erreur "Erreur de syntaxe sur le mot <." Auriez=vous une idée de comment solutionner le problème?

    Je vous remercie de vous être penché sur le problème...

    Bonne soirée à tous!

  2. #2
    Membre expérimenté Avatar de klbsjpolp
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 065
    Points : 1 322
    Points
    1 322
    Par défaut
    Bonjour,

    Il y a 2 problèmes avec ton code. Premièrement, l'affichage <0> n'est que la représentation textuelle du caractère 0 qui n'est pas affichable autrement. Les caractères non affichables sont tous affichés de cette manière. Pour avoir le caractère 0, tu dois utiliser la fonction Caract(), qui prend en paramètre le numéro du caractère dans la table ascii.

    Le deuxième problème c'est que la fonction Remplace() retourne la chaine modifiée mais ne modifie pas la chaine passée en paramètre.

    En résumé, essai plutôt ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gsFichier_Buffer = Remplace(gsFichier_Buffer, Caract(0), " ")
    «Un problème bien défini est un problème à moitié résolu.»

  3. #3
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 161
    Points : 221
    Points
    221
    Par défaut
    Il y a aussi et surtout le fait d'avoir oublié les guillemets dans la fonction Remplace

    -> Remplace(TaChaîne,"<0>"," ")

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 69
    Points : 64
    Points
    64
    Par défaut
    Merci klbsjpolp ça fonctionne parfaitement! Une fameuse épine hors du pied en une ligne! Et il est vrai que j'avais tronqué l'affectation devant le remplace car c'était vers l'interface...

    Pour la remarque de lazariel concernant les "", je pense que c'est erroné car le <0> représente le caractère non affichable 0 et non pas une chaine de trois caractères. J'avais essayé avant et cela ne semblait pas fonctionner pour cette raison...

    Merci pour vos réponses et bonne journée à tous

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

Discussions similaires

  1. [Vxi3] Stopper la chaine de caractère à un symbole donné
    Par asiane dans le forum Designer
    Réponses: 2
    Dernier message: 10/09/2010, 09h52
  2. [RegEx] compter le nb d'un symbole dans une chaine
    Par fAdoua123 dans le forum Langage
    Réponses: 1
    Dernier message: 13/03/2009, 16h56
  3. lire une chaine qui est entre 2 symboles '
    Par tibofo dans le forum VB 6 et antérieur
    Réponses: 15
    Dernier message: 01/12/2008, 23h05
  4. Réponses: 9
    Dernier message: 31/05/2005, 14h34
  5. [LG]Symbole # (dièse) et fonctions sur les chaînes
    Par James64 dans le forum Langage
    Réponses: 6
    Dernier message: 24/03/2004, 14h19

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