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

C++Builder Discussion :

probleme avec StringReplace


Sujet :

C++Builder

  1. #1
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut probleme avec StringReplace
    Bonsoir:
    Je n'arrive pas a utiliser la fonction StringReplace, j'ai essaye ceci.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    String Fichier;
    Fichier = StringReplace("C:\Documents and Settings\blondelle\Mes documents\Open_Office\essai.ods", "\\", "//", TReplaceFlags()<< rfReplaceAll << rfIgnoreCase);
    et voici ce que je voudrais recuperer dans Fichier.
    "C:/Documents and Settings/blondelle/Mes documents/Open_Office/essai.ods"

  2. #2
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Dans ton chemin tu n'as pas les '\\' mais des simple '\' donc ca ne peut pas fonctionner.

  3. #3
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Salut pottiez:
    Le probleme si j'ecrit la fonction comme cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Fichier = StringReplace("C:\Documents and Settings\blondelle\Mes documents\Open_Office\essai.ods", "\", "/", TReplaceFlags()<< rfReplaceAll << rfIgnoreCase);
    J'ai un lot d'erreur
    Undeterminated string or character constant
    Illegal use of pointer
    Function call missing)
    Statement missing;

  4. #4
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Il faut l'ecrire comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fichier = StringReplace("C:\\Documents and Settings\\blondelle\\Mes documents\\Open_Office\\essai.ods", "\\", "//", TReplaceFlags()<< rfReplaceAll << rfIgnoreCase);

  5. #5
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Effectivement la ca inverse les "\" mais j'obtient ceci
    "C://Documents and Settings//blondelle//Mes documents//Open_Office//essai.ods"
    or je devrais obtenir ceci
    "C:/Documents and Settings/blondelle/Mes documents/Open_Office/essai.ods"
    C'est pour ouvrir un document html

  6. #6
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Dans ce cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fichier = StringReplace("C:\\Documents and Settings\\blondelle\\Mes documents\\Open_Office\\essai.ods", "\\", "/", TReplaceFlags()<< rfReplaceAll << rfIgnoreCase);
    En effet le caractere '\' signifie sous windows que le caractere suivant est une commande de formatage de texte (exemple '\n' est le retour a la ligne), il faut donc doubler le '\' pour avoir vrement le caractere '\' voulu, ce qui n'est pas le cas avec le '/'.

  7. #7
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    La effectivement ca change bien les barres obliques comme je le voulais
    Je vais peut etre pouvoir ouvrir un document deja cree sous OpenOffice.
    Merci pottiez

  8. #8
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    De rien, j'espere que tu as compris mes explications, je n'est peut etre pas été tres clair

  9. #9
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    c'est parfait la fonction je l'avais compris, je savais qu'il fallait doubler les "\\" mais c'est pour le remplacement que je n'avais pas compris, je doublais aussi les barres oblique de remplacement ca ne pouvais pas marcher.

  10. #10
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Non

    Je me suis permis de mettre

  11. #11
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    ok pour le resolu
    et encore merci

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

Discussions similaires

  1. Probleme avec la copie des surfaces
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/01/2003, 10h33
  2. Problèmes avec le filtrage des ip
    Par berry dans le forum Réseau
    Réponses: 9
    Dernier message: 30/12/2002, 07h51
  3. probleme avec la touche F10
    Par b.grellee dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2002, 22h04
  4. Probleme avec fseek
    Par Bjorn dans le forum C
    Réponses: 5
    Dernier message: 04/08/2002, 07h17
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 08/06/2002, 23h06

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