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

Langage Delphi Discussion :

Analyser une String


Sujet :

Langage Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 7
    Par défaut Analyser une String
    Bonjour a tous,

    Je suis debutant en Delphi, et je n'arrive pas a trouver un moyen de faire ce que je veux. En fait je demande a l'utilisateur de rentrer une phrase dans une textbox, et je voudrais detecter s'il y a des espaces dans la chaine de charactere et, si oui, ajouter des guillemets au debut et a la fin de la chaine. En gros je voudrais ca:

    x = chaine de charactere
    Si x contient un ou plusieurs espace ajouter un guillemet (") au debut et a la fin de la chaine.

    Exemple:
    'Patrick aime les poireaux' -> '"Patrick aime les poireaux"'

    Voila, j'espere m'etre bien explique, merci !

  2. #2
    Membre Expert

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Par défaut
    Salut et bienvenue sur les forums de Developpez.com (je fais mon modo )

    Alors, tu pourrais simplement te faire une boucle qui passe tout les caracteres, et qui renvoie true si un des caracteres est un espace.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for caractere:=1 to Length(x) do
      if x[Caractere]=' ' then Result:=true;
    Mais, pour les malins (ou fainéants, ca dépends du point de vue ), on peut simplement chercher dans ta chaine avec la fonction Pos(SousChaine, Chaine)

    Pos renvoie le numero du caractere a laquelle commence SousChaine dans Chaine (F1). S'il renvoie 0, c'est que la souschaine n'est pas dans ta chaine.

    Donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if Pos(' ',x)<>0 then X:='"'+x+'"';
    Bonne chance !

  3. #3
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 934
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 934
    Par défaut
    S'il y a possibilité qu'il y en ait, ajoute les systématiquement. Ca évitera le test inverse au décodage.

    Par exemple, un chemin écrit C:\ ou "C:\" est identique, avec ou sans espace

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 7
    Par défaut
    merci beaucoup pour vos reponse, en plus j'ai trouve une methode encore plus facile, la fonction AnsiContainsStr(x, ' ') ! Merci encore

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

Discussions similaires

  1. [DOM] parser une String pour en faire un document XML
    Par Fladnag dans le forum Format d'échange (XML, JSON...)
    Réponses: 9
    Dernier message: 29/03/2004, 11h04
  2. [Débutant][JSP] Ajout des caractères à une String...
    Par Henkyl dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 04/03/2004, 16h30
  3. Analyser une bitmap
    Par Vathal dans le forum OpenGL
    Réponses: 6
    Dernier message: 14/02/2004, 16h12
  4. [Syntaxe] mettre des ' dans une string ?
    Par souch dans le forum Débuter
    Réponses: 4
    Dernier message: 14/08/2003, 16h26
  5. Réponses: 6
    Dernier message: 24/07/2003, 12h39

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