Soyez le premier à donner votre avis sur cette source.
Snippet vu 4 354 fois - Téléchargée 30 fois
function GetTok(Phrase: string; Num: Integer; Char: string): string; var g1, g2 : string; g4, g7, i : Integer; begin if (Num > 0) then // pour retour premier mot begin i := 1; 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(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;
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.