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 :

newb manipulation chaine de caratère


Sujet :

Langage Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2003
    Messages : 97
    Points : 45
    Points
    45
    Par défaut newb manipulation chaine de caratère
    Bonjour à tous !

    J'ai cherché dans plusieurs bouquins de delphi comment manipuler une chaine de caractère mais je n'ai pas vraiment trouvé comment faire une recherche dans le texte.

    exemple j'ai une variable string qui dit "nombre de chiens = 6"
    comment faire pour rechercher la valeur 6 et la stocker dans une variable int ?

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    j'ai fait un petit truc rapide si tu veux :
    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
    var
      str : string;
      entier  : integer;
      i :integer;
    begin
      str := 'nombre de chien = 6';
      for i:=1 to length(str) do
        begin
          try
          if strtoint(str[i]) in [0..9] then
            entier:=strtoint(str[i]);
          except
          end;
        end;
    end;
    voila en esperant que cela fonctionne et te convienne

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    si l' entier n'est pas qu'un chiffre mais peut etre un nombre petite modif légère :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    begin
      str := 'nombre de chien = 6242';
      nb := EmptyStr;
      for i:=1 to length(str) do
        begin
          try
          if strtoint(str[i]) in [0..9] then
            nb := nb + str[i];
     
          except
          end;
        end;
      entier:=strtoint(nb);
    voila

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2003
    Messages : 97
    Points : 45
    Points
    45
    Par défaut
    merci !

    et si je veux faire un truc genre un fichier texte avec


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <image1> chien.jpg
    <image2> cannard.jpg
    comment récupérer d'abord chien.jpg dans un string et cannard.jpg dans un autre

  5. #5
    Membre confirmé

    Inscrit en
    Novembre 2002
    Messages
    762
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 762
    Points : 499
    Points
    499
    Par défaut
    une solution comme une autre , consiste a integer des caracteres type a ta chaine pour recupere les champs utiles , par exemple le nom de l'animal entre "[..]" [ chien 1] , un autre champs entre d'autres caracteres ..
    il te suffit ensuite de recuperer ce qui se trouve entre tes caracteres type .
    mais un tableau me semblerai plus simple dans ton cas , tes champs serai deja separé.

  6. #6
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Pour info la construction suivante est à bannir dans tout code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     try
       fais qq chose
      except 
      end;
    Si vous avez un bloc d'exception nommez celles que vous gérez !

  7. #7
    Membre du Club

    Inscrit en
    Juillet 2005
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 48
    Points : 58
    Points
    58
    Par défaut
    Citation Envoyé par n0c8d
    si l' entier n'est pas qu'un chiffre mais peut etre un nombre petite modif légère :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    begin
      str := 'nombre de chien = 6242';
      nb := EmptyStr;
      for i:=1 to length(str) do
        begin
          try
          if strtoint(str[i]) in [0..9] then
            nb := nb + str[i];
     
          except
          end;
        end;
      entier:=strtoint(nb);
    voila
    pourquoi convertir chaque caractere, alors qu'il suffit de tester le caractere
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ....
    if str[i] in ['0'..'9'] then
      nb := nb + str[i];
    ...

Discussions similaires

  1. manipulation de chaine de caratéres en MS SQL2005
    Par d.tellier dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 09/12/2009, 09h11
  2. incrémenter des chaines de caratères
    Par stan21 dans le forum Access
    Réponses: 6
    Dernier message: 22/02/2006, 14h19
  3. Convertir des chaines de caratères en chiffres
    Par Mr Hyde dans le forum Général Python
    Réponses: 1
    Dernier message: 06/09/2005, 15h18
  4. debutant asp manipulation chaine de caractere
    Par MaxiMax dans le forum ASP
    Réponses: 3
    Dernier message: 12/08/2005, 15h59
  5. Réponses: 1
    Dernier message: 08/03/2004, 11h35

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