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

Delphi Discussion :

Portion de string


Sujet :

Delphi

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 122
    Par défaut Portion de string
    Ce topic est très sérieux !

    Bon en fait j'aimerais savoir le nom de la fonction permettant de récuperer une portion de sring. Je m'explique. Supposons que ma string s contienne 30 caracteres et que je veuille tous les caracteres compris entre le dixième et le 27eme.

    Je ne trouve pas de telle fonction dans l'aide delphi. Si elle n'existe pas tanpis je la coderai moi même.

    Merci d'avance.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Andorre

    Informations forums :
    Inscription : Juin 2004
    Messages : 219
    Par défaut
    Salut

    Copy

    A+

  3. #3
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 917
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 917
    Billets dans le blog
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Tanga:=Copy(String,11,16);
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  4. #4
    Membre chevronné
    Avatar de karami
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Juin 2005
    Messages : 343
    Par défaut
    Je sais pas s'il existe une telle fonction, mais j'ai trouvé qlques fcts qui peuvent t'aider à coder la tienne.
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
     
    unit FonctionsChaine;
     
    interface
     
     
    function droite(substr: string; s: string): string;
    function DroiteDroite(substr: string; s: string): string;
    function gauche(substr: string; s: string): string;
    function NbSousChaine(substr: string; s: string): integer;
    function NDroite(substr: string; s: string;n:integer): string;
    function GaucheNDroite(substr: string; s: string;n:integer): string;
     
    implementation
     
    function droite(substr: string; s: string): string;
    begin
      if pos(substr,s)=0 then result:='' else
        result:=copy(s, pos(substr, s)+length(substr), length(s)-pos(substr, s)+length(substr));
    end;
     
    function droiteDroite(substr: string; s: string): string;
    {============================================================================}
    { fonction qui renvoie la sous chaine de caractère situè à droite de la sous }
    { chaine substr située la plus à droite                                      }
    { ex: si substr = '\' et S= 'truc\tr\essai.exe droiteDroite renvoie essai.exe}
    {============================================================================}
    begin
      Repeat
        S:=droite(substr,s);
      until pos(substr,s)=0;
      result:=S;
    end;
     
    function gauche(substr: string; s: string): string;
    {============================================================================}
    { fonction qui renvoie la sous chaine de caractère situè à gauche de la sous }
    { chaine substr                                                              }
    { ex: si substr = '\' et S= 'truc\tr\essai.exe' gauche renvoie truc           }
    {============================================================================}
    begin
      result:=copy(s, 1, pos(substr, s)-1);
    end;
     
    function NbSousChaine(substr: string; s: string): integer;
    {==================================================================================}
    { renvoie le nombre de fois que la sous chaine substr est présente dans la chaine S}
    {==================================================================================}
    begin
      result:=0;
      while pos(substr,s)<>0 do
      begin
        S:=droite(substr,s);
        inc(result);
      end;
    end;
     
    function NDroite(substr: string; s: string;n:integer): string;
    {==============================================================================}
    { renvoie ce qui est à droite de la n ieme sous chaine substr de la chaine S   }
    {==============================================================================}
    var i:integer;
    begin
      for i:=1 to n do
      begin
        S:=droite(substr,s);
      end;
      result:=S;
    end;
     
    function GaucheNDroite(substr: string; s: string;n:integer): string;
    {==============================================================================}
    { renvoie ce qui est à gauche de la droite de la n ieme sous chaine substr     }
    { de la chaine S                                                               }
    { ex : GaucheNDroite('/','c:machin\truc\essai.exe',1) renvoie 'truc'           }
    { Permet d'extraire un à un les éléments d'une chaine séparés par un séparateur}
    {==============================================================================}
    var i:integer;
    begin
      S:=S+substr;
      for i:=1 to n do
      begin
        S:=copy(s, pos(substr, s)+length(substr), length(s)-pos(substr, s)+length(substr));
      end;
      result:=copy(s, 1, pos(substr, s)-1);
    end;
     
     
    end.

  5. #5
    Membre chevronné
    Avatar de karami
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Juin 2005
    Messages : 343
    Par défaut
    J'ai pas vu les autres posts, donc ça existe, c'est bien à connaitre.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 122
    Par défaut
    Wow merci à tous !

  7. #7
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Par défaut

    je ne voudrais pas être rabat joie ,mais à l'avenir, pense à rechercher un peu sur le forum avant de poster une question. en effet si tu avais pris le temps de le faire, tu aurais trouvé plusieurs réponses à ta question sans avoir besoin de la poser.

  8. #8
    Membre chevronné
    Avatar de karami
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Juin 2005
    Messages : 343
    Par défaut
    Citation Envoyé par evarisnea

    je ne voudrais pas être rabat joie ,mais à l'avenir, pense à rechercher un peu sur le forum avant de poster une question. en effet si tu avais pris le temps de le faire, tu aurais trouvé plusieurs réponses à ta question sans avoir besoin de la poser.
    je ne voudrai pas etre Bafoussam joie , mais c'est pas moi qui a posé la question, il te suffira de voir le 1er post pour le savoir .

  9. #9
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Par défaut
    Citation Envoyé par karami
    je ne voudrai pas etre Bafoussam joie , mais c'est pas moi qui a posé la question, il te suffira de voir le 1er post pour le savoir .
    Bafoussam joie ?
    désolé karami, mais mon post ne t'était pas destiné, mais plutôt à gobgob l'auteur de la discussion.

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

Discussions similaires

  1. éliminer un caractere d'un string
    Par no-vice dans le forum Langage
    Réponses: 5
    Dernier message: 09/08/2002, 14h55
  2. String -> long double (_strlold ?)
    Par haypo dans le forum C
    Réponses: 7
    Dernier message: 25/07/2002, 20h22
  3. URGENT: retour de string
    Par Pinggui dans le forum CORBA
    Réponses: 4
    Dernier message: 15/07/2002, 09h47
  4. Réponses: 2
    Dernier message: 05/06/2002, 12h29
  5. String Grid et choix d'une couleur pour une ligne
    Par Gigottine dans le forum C++Builder
    Réponses: 12
    Dernier message: 17/05/2002, 15h23

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