Gettok style

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 354 fois - Téléchargée 30 fois

Contenu du snippet

Comme je l'explique c'est une commande comme mIRC, un while qui recherche le mot voulu.
Je suis nouveau en delphi mais cette commande mes telement pratique, je l'ai cherché mais sa exploit.

Se qui faut pas oublier c'est que dans ma commande j'ai mis un if que le N dois être supérieur 1. Car avec un Copy normal tu peux très bien retrouvé le premier mot ou string voulus.

Pour avoir la commande:

var := Gettok('Ta Phrase',N,#32);
(Le N = au Nième mots recherché
Et le #32 et biensûr le char numéro 32 .

Source / Exemple :


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;

A voir également

Ajouter un commentaire Commentaires
cs_OmbreNoir Messages postés 67 Date d'inscription samedi 1 février 2003 Statut Membre Dernière intervention 10 juin 2011
19 mai 2004 à 21:27
Ouin j'avais oublier je l'avais mis dans mon script par la suite
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
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;

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.