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 :

Supprimer les retours chariot en double


Sujet :

WinDev

  1. #1
    Nouveau membre du Club Avatar de chenevierebooks
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Décembre 2017
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 52
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeuse informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 41
    Points : 35
    Points
    35
    Par défaut Supprimer les retours chariot en double
    Bonjour,

    je dois nettoyer des textes dans une base de données HF , je recherche un moyen de supprimer les retours chariots en trop.

    Ces retours chariots peuvent être en milieu de texte ou à la fin ...

    Je n'ai pas trouver de moyen simple pour le faire , il en existe ?

  2. #2
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 057
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 057
    Points : 9 397
    Points
    9 397
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ch = fchargefichier(fic)
    ch = remplace ( ch, RC+RC+RC, RC)
    ch = remplace ( ch, RC+RC+RC, RC)
    ch = remplace ( ch, RC+RC, RC)
    ch = remplace ( ch, RC+RC, RC)
    J'ai mis plusieurs fois l'instruction remplace(), comme ça, s'il y a une dizaine de RC qui se suivent, ils sont remplacés par un seul RC.
    Si le fichier est énorme, ma solution ne fonctionnera pas , parceq que fchargeTexte ne fonctionnera pas
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  3. #3
    Membre actif
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Mai 2015
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur COBOL

    Informations forums :
    Inscription : Mai 2015
    Messages : 138
    Points : 270
    Points
    270
    Par défaut
    Citation Envoyé par chenevierebooks Voir le message
    Bonjour,

    je dois nettoyer des textes dans une base de données HF , je recherche un moyen de supprimer les retours chariots en trop.

    Ces retours chariots peuvent être en milieu de texte ou à la fin ...

    Je n'ai pas trouver de moyen simple pour le faire , il en existe ?
    Bonjour,

    @tbc92 Salut,
    si je le lis bien il ne cherche pas a nettoyer un fichier plat, mais des chaines dans un fichier hyperfile. enfin je me trompe peut-être.

    @chenevierebooks

    le Rc que tu doit nettoyer sont dans une chaine et peuvent se trouver n'importe ou ? et tu ne veux garder que le dernier ?

    dans ce cas comme te l'as sugéré tbc92 j'utiliserais aussi le remplace. mais de cette façon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    machaine =remplace(machaine,rc,"") // je remplace tout les rc par rien
    machaine=machaine+rc // je rajoute une retour chariot en fin de la chaine
    Bien sur ceci est valable uniquement si ce que je t'ai dis auparavant est exact.

    ceci dit en te relisant j'ai l'impression que tes retours chariots peuvent être en milieu de chaine et dans ce cas le code proposé par tbc92 est le plus approprié à l'exception du fchargefichier qui ne te sert à rien.

    j'ai bien en tête une petite idée en utilisant extraitchaine et chaineoccurence, mais je me torture probablement la tête surtout que je suis pas sur d'arriver à un truc simple et surtout que je ne suis pas absolument sur de ce que tu veux
    un petit exemple serait le bienvenu.

    Edit: évidement si je ne fait pas fausse route pour le fichier qui est un ficher hyperfile tu dois faire une boucle pour lire chaque enregistrement, chose que tu n'a pas à faire avec un fchargefichier, ce commentaire au cas ou tbc92 est dans le vrai

  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
    Bonjour,

    En complément tu peux faire pour simplifier,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    pour i = 10 a 2
    machaine =remplace(machaine,repete(rc,i),rc)
    fin
    Philippe,


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

  5. #5
    Membre confirmé
    Homme Profil pro
    Admin - Gestion reconverti en informatique
    Inscrit en
    Septembre 2017
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Admin - Gestion reconverti en informatique

    Informations forums :
    Inscription : Septembre 2017
    Messages : 328
    Points : 493
    Points
    493
    Par défaut
    Bonsoir,

    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
     
    sChaineRemplacée est une chaîne
     
    HLitPremier(MonFichier)
    TANTQUE PAS HEnDehors()
         // rubrique du fichier FIC "MonFichier.LIBELLE"
         sChaineRemplacée=MonFichier.LIBELLE
     
         // exemple pour un nombre maximum de RC = 10
         POUR i=10 A 2 PAS -1
              sChaineRemplacée=Remplace(sChaineRemplacée,Répète(RC,i),RC)
         FIN
     
         MonFichier.LIBELLE=sChaineRemplacée
         HModifie(MonFichier)
         hLitSuivant(MonFichier)
    FIN

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    Ou plus simple:
    Code WinDev : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    TANTQUE chaineoccurrence(MaChaine,rc + rc) > 0
    	MaChaine = remplace(MaChaine,rc+rc,rc)
    FIN
    Ainsi peu importe le nombre de "doublons".

    Tatayo.

Discussions similaires

  1. Supprimer les retours chariots d'une chaine de caractère
    Par Seb33300 dans le forum Général VBA
    Réponses: 3
    Dernier message: 31/01/2009, 22h50
  2. [RegEx] Supprimer les retours chariots de trop
    Par Alexandrebox dans le forum Langage
    Réponses: 18
    Dernier message: 20/01/2009, 16h24
  3. supprimer les retour chariot
    Par battit64 dans le forum VBA Word
    Réponses: 2
    Dernier message: 26/03/2008, 16h42
  4. Supprimer les retours chariots d'une chaine
    Par alexdfr dans le forum Delphi
    Réponses: 7
    Dernier message: 03/10/2006, 09h57
  5. Réponses: 1
    Dernier message: 11/01/2006, 11h58

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