Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Fonction Pos(). [ Archives / J'AI BESOIN D'AIDE !!!! :O ] (Becracker)

dimanche 4 septembre 2005 à 01:44:42 | Fonction Pos().

Becracker

Salut les gars,

Je voudrais savoir comment avec la fonction Pos() signifier par exemple à Delphi de vérifier si un  mot est contenu trois fois au lieu d'une fois dans une chaine de caractère par exemple label1.caption.

Merci à tous.

-----------------------------------------
May Delphi and Php change the world ....

dimanche 4 septembre 2005 à 07:57:06 | Re : Fonction Pos().

jlen100

Membre Club
Réponse acceptée !

salut ,
tu peux faire :
function nombredemot(var chaineacontroler:string;mot:string):integer;
var index:integer;
buffer:string;
begin
   buffer:=chaineacontroler;
   index:=0;
   while (pos(mot,buffer))<>0 do
   begin
      inc(index);
      delete(buffer,pos(mot,buffer),length(mot));//on supprime le mot de la chaine
   end;
   result:=index;
end;
bonne prog;


dimanche 4 septembre 2005 à 12:50:48 | Re : Fonction Pos().

ni69

Membre Club
Pourquoi ne pas utiliser la fonction PosEx() de l'unité StrUtils ?

function NombreDeSubStrDansStr(SubStr:String; Str:String):Integer;
var
 i:integer;
begin
  result := 0; i := 0;
  repeat
    i:=PosEx(SubStr,Str,i+1);
    if i<>0 then inc(result);
  until i=0;
end;


Remarque : Cette fonction n'est disponible qu'à partir de Delphi7.

@+
Bonne Prog'
Nico [www.ni69.new.fr]

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !

dimanche 4 septembre 2005 à 13:53:29 | Re : Fonction Pos().

Becracker

et je mets le 3 (nombre de fois que doit être présente la chaine vérifiée) où dans tout ca ?

-----------------------------------------
May Delphi and Php change the world ....

dimanche 4 septembre 2005 à 13:58:33 | Re : Fonction Pos().

ni69

Membre Club
Ben tu l'inclus simplement dans ton test :

if NombreDeSubStrDansStr( 'mot1' , Label1.Caption ) = 3 then
ShowMessage( 'Le mot est présent 3 fois
' );

@+
Bonne Prog'
Nico [www.ni69.new.fr]

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !

dimanche 4 septembre 2005 à 14:04:40 | Re : Fonction Pos().

jlen100

Membre Club

dans ma fonction ou dans celle de ni69 le resultat retourné te donne le nombre de fois que le mot a été trouvé il te suffit ensuite de l'utiliser dans un test par exemple
if  nombredemot('mot',chaine)=3 then showmessage('mot est present 3 fois')


dimanche 4 septembre 2005 à 14:10:37 | Re : Fonction Pos().

Becracker

Merci à vous ni69 et jlen100 pour votre aide. Seulement, j'aurai besoin de toi ni69 pour que tu m'expliques ce que veulent dire les différentes lignes de ta fonction (qui m'a paru être la plus facile des 2 ), paske je connais pas grand chose dans les fonctions.

-----------------------------------------
May Delphi and Php change the world ....

dimanche 4 septembre 2005 à 14:16:38 | Re : Fonction Pos().

ni69

Membre Club
Réponse acceptée !
Voilà !

function
NombreDeSubStrDansStr(SubStr:String; Str:String):Integer;
var
 i:integer;
begin
  result := 0; i := 0; // initialisation
  repeat // ON REPETE CE CODE
    i:=PosEx(SubStr,Str,i+1); // Recherche la SubString dans la String principale à partir du (i+1)ème caractère
    if i<>0 then inc(result); // Si la SubString a été trouvée (donc que 1<>0), on ajoute 1 à la valeur de retour de la fonction
  until i=0; // JUSQU'A CE QUE i VAILLE 0, C'EST A DIRE QUE LA SUBSTRING N'A PLUS ETE TROUVEE DANS LA STR PRINCIPALE
end;


Remarque : Cette fonction n'est disponible qu'à partir de Delphi7.

@+
Bonne Prog'
Nico [www.ni69.new.fr]

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !



Cette discussion est classé dans : fonction, delphi, exemple, pos


Répondre à ce message

Sujets en rapport avec ce message

fonction random en Delphi [ par alexyou ] tt le monde*salut;j'aimerais bien que qlq 1 me dis comment on utilise la fonction   Random() par exemple un numéro de 1 à 100mais que chaque fois on a Utilisation d'une dll ecrite en C++ avec delphi [ par gilch ] Bonjour,j'utilise une dll ecrite en C++ sous delphi, le fonctionement est ok mais j'ai un pb avecla declaration d'une fonction.Dans le programme C++ q Y a-t'il un equivalent de la fonction sscanf du C en delphi? [ par koale ] Voilà en fait j'aimerais extraire des informations de chaine de caractère lu à partir d'un fichier et les sauvegarder dans des variables adéquates, en éditeur d etexte et delphi 2 [ par laulau200 ] Bonjour, J'ai acheté il y a quelques années un "PC POCHE Delphi 2". Un exemple du bouquin consistait à créer un traitement de texte. Malheureusement, liste des fonction delphi??? [ par needle ] Alors voila, je me demandais, tous simplement, ou est-ce qu'on pourrait trouver une liste des fonctions de bases. Avec, si possible, une explication d createprocess, solution alternative ? [ par drakaon ] bonjour,je cherche une solution sous delphi pour faire l'équivalent de la fonction createprocess en C++.Existe t-il une fonction en delphi pour faire delphi + MSDE [ par exyacc ] quelqu'un aurait il un lien pour trouver un exemple (simple) ou un tutoriel ou meme un bouquin, de comment ca marche delphi avec MSDE ...et en simple Cherche fonction Delphi [ par costello ] Je cherche une fonction qui renvoie la position d'une chaine dans une autre, mais qui ne s'arrête pas à la premiere occurence !Pos( ) s'arrête dès qu' Modifier l'architecture d'un dossier [ par lupra ] J'ai un dossier dont je connais le chemin par exemple:C:\Ludovic\Delphi\Séparation (string)et dans ce dossier, il y a par exemple 1000 fichiers.Je vou test de la présence de delphi à l'exécution [ par ericamiens ] bonjour,j'aimerais savoir si un programme est exécuté à partir de delphi ou bien lancé seul (par l'explorateur windows par exemple) ; mais sans avoir


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,312 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.