japee
Messages postés1727Date d'inscriptionvendredi 27 décembre 2002StatutModérateurDernière intervention 6 novembre 2021
-
19 mai 2004 à 17:20
cs_OmbreNoir
Messages postés67Date d'inscriptionsamedi 1 février 2003StatutMembreDernière intervention10 juin 2011
-
19 mai 2004 à 21:27
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_OmbreNoir
Messages postés67Date d'inscriptionsamedi 1 février 2003StatutMembreDernière intervention10 juin 2011 19 mai 2004 à 21:27
Ouin j'avais oublier je l'avais mis dans mon script par la suite
japee
Messages postés1727Date d'inscriptionvendredi 27 décembre 2002StatutModérateurDernière intervention 6 novembre 20218 19 mai 2004 à 17:20
Ouais, pourquoi pas ?
Mais on n'obtient pas le dernier mot du String non plus...
Donc, si l'on veut garder la fonction telle quelle, tout en désirant que le premier mot ET le dernier soient retournés :
function GetTok(Phrase: string; Num: Integer; Char: string): string;
var
g1 : string;
g2 : string;
g4 : Integer;
g7 : integer;
i : integer;
begin
//if (Num > 1) then
if (Num > 0) then // pour retour premier mot
begin
i := 1;
//g2 := Phrase;
g2 := Phrase + Char; // pour retour dernier mot
while (i < Num) do
begin
g4 := Length(g2); { Nombre de caractère de la phrase }
g7 := Length(Copy(g2,1,Pos(Char,g2)-1)); { Nombre de caractère du Premier Mot }
g1 := Copy(g2,g7+2,Pos(#32,g2)+g4); { Phrase - le mot donnée }
g2 := g1;
i := i+1
end;
//Result := Copy(g1,1,Pos(Char,g1)-1);
Result := Copy(g2, 1, Pos(Char, g2)-1); // pour retour 1er mot
end;
19 mai 2004 à 21:27
19 mai 2004 à 17:20
Mais on n'obtient pas le dernier mot du String non plus...
Donc, si l'on veut garder la fonction telle quelle, tout en désirant que le premier mot ET le dernier soient retournés :
function GetTok(Phrase: string; Num: Integer; Char: string): string;
var
g1 : string;
g2 : string;
g4 : Integer;
g7 : integer;
i : integer;
begin
//if (Num > 1) then
if (Num > 0) then // pour retour premier mot
begin
i := 1;
//g2 := Phrase;
g2 := Phrase + Char; // pour retour dernier mot
while (i < Num) do
begin
g4 := Length(g2); { Nombre de caractère de la phrase }
g7 := Length(Copy(g2,1,Pos(Char,g2)-1)); { Nombre de caractère du Premier Mot }
g1 := Copy(g2,g7+2,Pos(#32,g2)+g4); { Phrase - le mot donnée }
g2 := g1;
i := i+1
end;
//Result := Copy(g1,1,Pos(Char,g1)-1);
Result := Copy(g2, 1, Pos(Char, g2)-1); // pour retour 1er mot
end;