Recherche par mot clé

AITFRAH1 Messages postés 10 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 19 janvier 2010 - 27 janv. 2006 à 14:52
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 - 27 janv. 2006 à 19:06
Bonjour ;


J’ai une application de gestion de livres à laquelle je veux ajouter un menu de recherche de livres par mot clé. C'est-à-dire en saisissant un mot, tous les livres dont le titre contient le mot tapé, seront affichés dans un dbgrid..


A titre d’information j’ai essayé d’utiliser les deux fonctions suivantes :


AnsiContainsStr et AnsiContainsText mais en vain.


Prière de m’aider car j’ai vraiment besoin de cette recherche et merci d’avance à celui ou à celle qui m’apportera la solution.


Encore une fois merci .


Prière de m'avertir de votre réponse sur Email : yahia1b2003@yahoo.fr

5 réponses

f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 37
27 janv. 2006 à 16:32
le mieux serait d'utiliser une base de donnée, la requette serait plus simple :

SELECT * FROM base WHERE champ LIKE '%mot%mot%mot'

sinon faut regarder du coté des expression reguliere.

<hr size="2" width="100%">La theorie c'est quand on sait tout, mais que rien ne fonctionne.
La pratique c'est quand tout fonctionne, mais que personne ne sait pourquoi.
<hr>
0
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 37
27 janv. 2006 à 16:32
ps : ne mets pas ton mail dans tes messages.

<hr size="2" width="100%">La theorie c'est quand on sait tout, mais que rien ne fonctionne.
La pratique c'est quand tout fonctionne, mais que personne ne sait pourquoi.
<hr>
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
27 janv. 2006 à 17:23
Salut,
si non tu peux utiliser la fonction Pos de l'unité system.pas :
function Pos(const substr, str: AnsiString): Integer;
qui revoie 0 si substr n'est pas trouvé
et qui revoie la position de substr dans str si elle a été trouvé

@+
Cirec
0
roud59 Messages postés 99 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 26 juillet 2007 2
27 janv. 2006 à 18:58
Salut

Une remarque : la fonction Pos() fait la distinction entre les majuscules et minuscules, ce qui peut être génant pour une recherche par mot clé. Il faut alors forcer str et substr en majuscules pour que ça fonctionne.

Roud59
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
27 janv. 2006 à 19:06
@ roud59
oui absolument tu as raison de faire cette remarque:
Pos(UpperCase(SubStr), UpperCase(Str)) //pour forcer la Majuscule

Pos(LowerCase(SubStr), LowerCase(Str)) // pour forcer la Minuscule

@+
Cirec
0
Rejoignez-nous