begin process at 2012 02 08 09:15:27
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Texte

 > RENVOIE UNE PARTIE D'UNE CHAINE PAR RAPPORT À UN SÉPARATEUR

RENVOIE UNE PARTIE D'UNE CHAINE PAR RAPPORT À UN SÉPARATEUR


 Information sur la source

Note :
8 / 10 - par 1 personne
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Texte Niveau :Débutant Date de création :03/03/2003 Date de mise à jour :03/03/2003 11:41:06 Vu :3 900

Auteur : Amadeus

Ecrire un message privé
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

 Description

Retourne les tokens se trouvant à la position At dans la chaîne S sans les caractères de contrôle et les espaces se trouvant au début et à la fin.

Source

  • function TokenAt(const S: string; Seperator: Char; At: Integer): string;
  • var
  • J, I: Integer;
  • begin
  • Result := '';
  • J := 1;
  • I := 0;
  • while (I <= At) and (J <= Length(S)) do
  • begin
  • if (S[J] = Seperator) then
  • Inc(I)
  • else if (I = At) then
  • Result := Result + S[J];
  • Inc(J);
  • end;
  • Result := Trim(Result);
  • end;
function TokenAt(const S: string; Seperator: Char; At: Integer): string;
var
  J, I: Integer;
begin
  Result := '';
  J := 1;
  I := 0;
  while (I <= At) and (J <= Length(S)) do
  begin
    if (S[J] = Seperator) then
      Inc(I)
    else if (I = At) then
      Result := Result + S[J];
    Inc(J);
  end;
  Result := Trim(Result);
end;

 Conclusion

Exemple:
s := "aaa;bb;ccc"
si on lance s1 := rgTokenAt(s, ';', 2)
alors s1 = bb


 Sources du même auteur

VERROUILER UN FICHIER
DONNE NOMBRE DE TOKEN DANS UNE CHAINE
Source avec Zip COMPOSANT TALIGNPANEL
GESTION DES FENÊTRE MDI FILLE UNIQUE
Source avec Zip EXPORT DE DONNÉE D'UN DATASET DANS UN FICHIER TEXTE

 Sources de la même categorie

Source avec Zip Source avec une capture TABLEAU INFO SAVE INI par quentinix
Source avec Zip TIBWORD: EDITEUR ORIENTE LANGUE TIBÉTAINE par fredelem
Source avec Zip Source avec une capture POSTIT INFOS par dubois77
Source avec Zip Source avec une capture STREAM STRINGWRITER... UNE MICRO-LIBRAIRIE POUR ÉCRIRE DES C... par LaDentDeLait
Source avec Zip COMBINAISONS DE STRINGS par askil2000

Commentaires et avis

Commentaire de Amadeus le 03/03/2003 12:01:07

Fonction proposé suite à un problème de Manu00

Commentaire de Emandhal le 04/03/2003 12:13:16

Function SubString(Str: String ; Substr: String ; n: Integer): String;
var
  z: Integer;
begin
  Str := Str + Substr;
  For z := 1 to n do
  begin
    Str := copy(Str, pos(Substr, Str)+length(Substr), length(Str)-pos(Substr, Str)+Length(Substr));
  end;
  Result := copy(Str, 1, pos(Substr, Str)-1);
end;
Ce code là aurait-il pas été plus simple? voir mieux vu que le séparateur peut-être aussi bien un Char qu'une String?

Commentaire de japee le 05/02/2005 01:45:40 administrateur CS

Redirigé ici par ni69 qui répondait à une question posée sur le forum. ;)
On n'a pas fini de l'explorer, notre site préféré !

Dans son exemple, l'auteur a certainement voulu dire :

s := 'aaa;bb;ccc'
si on lance s1 := TokenAt(s, ';', 2)
alors s1 = 'ccc'

... vérifiez !

La fonction proposée dans le commentaire par Emandhal sera plus correcte en remplaçant :

Result := Copy(Str, 1, pos(Substr, Str) -1);

... par :

Result := Trim(Copy(Str, 1, pos(Substr, Str) -1));

si l'on tient compte des espaces éventuels, comme dans le code d'Amadeus.

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,811 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales