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
|
Type
EnsembleCarac = Set of Char;
{--------------------------------------------------------}
{ Compte le nombre de mots d'une phrase en utilisant }
{ un ou plusieurs caractères séparateurs de champs }
{ Exemple : Mots:=CompteMots(Chaine,[',',';',#9]); }
{ Utilisation de la virgule, du point-virgule }
{ et du tabulateur comme séparateur de champs }
{--------------------------------------------------------}
Function CompteMots(S : String; WordDelims : EnsembleCarac) : Integer;
var
I, Count : Integer;
begin
If Length(S) = 0 Then Result:=0
Else
begin
Count := 1;
For I:=1 To Length(S) Do
If (S[I] in WordDelims) Then Inc(Count);
Result := Count;
end;
end;
{--------------------------------------------------------}
{ Extrait le n° mot d'une phrase en utilisant }
{ un ou plusieurs caractères séparateurs de champs }
{ Exemple : Mot:=ExtraitMot(5,Chaine,[',',';',#9]); }
{ Utilisation de la virgule, du point-virgule }
{ et du tabulateur comme séparateur de champs }
{--------------------------------------------------------}
Function ExtraitMot(N : Integer;S : String;WordDelims : EnsembleCarac) : String;
var
Chn : String;
I, Count : Integer;
LongRech : Integer;
Begin
Count := 0;
I := 1;
Chn:='';
LongRech:=Length(S);
S:=S + ' ';
While (I <= LongRech) And (Count <> N) Do
begin
while (I < LongRech) and (S[I] in WordDelims) do Inc(I);
if I <= LongRech then Inc(Count);
while (I <= LongRech) And Not(S[I] in WordDelims) Do
begin
If Count = N Then Chn:=Chn + S[I];
Inc(I);
end;
end;
Result:=Chn;
end;
{--------------------------------------------------------} |
Partager