Equivalent du LIKE VB ?
fred
Bonjour,

Je suis entrain de traduire du VB vers Windev (jusqu'à la tout va bien) mais je bloque sur l'équivalent du LIKE VB6.

If (CCase Like "*45*35*55*") Then
...
Else
...
End If


Je vois bien des possibilités avec ChaîneOccurrence mais c'est nettement moins drôle et lisible :)

Merci

Contribution le : 08/02/2006 10:43
Créer un fichier PDF de la contribution Imprimer


Re: Equivalent du LIKE VB ?
Developpeur WDF
Inscrit:
24/01/2006 13:42
De Chartres
Post(s): 142
Regarde dans l'aide [=
c'est le remplacant du like (commence par).

Contribution le : 08/02/2006 10:58
Créer un fichier PDF de la contribution Imprimer


Re: Equivalent du LIKE VB ?
Anonyme
Merci de ta réponse

J'ai regardé l'aide mais aucune opérateur ne propose d'utiliser des joker (* ou %)...

Fred

Contribution le : 08/02/2006 11:29
Créer un fichier PDF de la contribution Imprimer


Re: Equivalent du LIKE VB ?
Anonyme
Bon bah j'ai codé une fonction approchante :p

// Syntaxe :
//[ <Résultat> = ] Like (<ChaineSource>, <donnee1>[, <donnee2>[, <donnee3>[, <donnee4>[, <donnee5>]]]])
//
// Paramètres :
//	ChaineSource : <chaine>
//	donnee1 : <chaine a rechercher>
//	donnee2 : <chaine a rechercher>
//	donnee3 : <chaine a rechercher>
//	donnee4 : <chaine a rechercher>
//	donnee5 : <chaine a rechercher>
// Valeur de retour :
// 	booléen :     // 	Aucune

FONCTION Like(ChaineSource, donnee1, donnee2="",donnee3="",donnee4="",donnee5="")
resultat est un booléen

d2,d3,d4,d5 sont des booléens
SI donnee2="" ALORS d2=True SINON d2=False
SI donnee3="" ALORS d3=True SINON d3=False
SI donnee4="" ALORS d4=True SINON d4=False
SI donnee5="" ALORS d5=True SINON d5=False

resultat=0
SI ChaîneOccurrence(ChaineSource,donnee1)>0 ET (ChaîneOccurrence(ChaineSource,donnee2)>0 OU d2=True) ET (ChaîneOccurrence(ChaineSource,donnee3)>0 OU d3=True) ET (ChaîneOccurrence(ChaineSource,donnee4)>0 OU d4=True) ET (ChaîneOccurrence(ChaineSource,donnee5)>0 OU d5=True) ALORS
	resultat=1	
FIN

RENVOYER resultat

Contribution le : 08/02/2006 11:45
Créer un fichier PDF de la contribution Imprimer


Re: Equivalent du LIKE VB ?
Animateur WDF
Inscrit:
17/05/2004 14:21
Post(s): 382
Bonjour,

quelque chose du genre

PROCEDURE Like(P_Chaine,P_Comparateur)

// Déclaration
i			est un entier
W_B_Retour 	est un booléen = Vrai

POUR i = 1 A Taille(P_Comparateur)
	
	SI P_Comparateur[[i]] <> "*" ALORS
		
		SI P_Comparateur[[i]] <> P_Chaine[[i]] ALORS
			W_B_Retour = Faux
		FIN
	FIN
	
FIN

RENVOYER W_B_Retour



 SI Like(CCase,"*45*35*55*") alors ...

Contribution le : 08/02/2006 11:58
_________________
Mbsl
Créer un fichier PDF de la contribution Imprimer


Re: Equivalent du LIKE VB ?
Developpeur WDF
Inscrit:
24/01/2006 13:42
De Chartres
Post(s): 142
If (CCase Like "*45*35*55*")

if CCase [= ?45 or CCase [= ?35 alors ...

a tester
bon dev

Contribution le : 08/02/2006 12:47
Créer un fichier PDF de la contribution Imprimer


Re: Equivalent du LIKE VB ?
Fred
if CCase [= ?45

if CCase [= %45

if CCase [= *45


Aucun de ces joker ne marche.

rhaaaa Windev tu me déçois....

Fred

Contribution le : 08/02/2006 13:08
Créer un fichier PDF de la contribution Imprimer


Re: Equivalent du LIKE VB ?
Developpeur WDF
Inscrit:
24/01/2006 13:42
De Chartres
Post(s): 142
Il te reste plus quas faire une fonction .
cela dis j'ai vue une classe qui fais ca
http://prdownloads.sourceforge.net/wdforge/cl_7.5_MATCH_1.0.zip?download

Contribution le : 08/02/2006 13:59
Créer un fichier PDF de la contribution Imprimer


Re: Equivalent du LIKE VB ?
Fred
Bien vu Celtic, cette classe correspond totalement à mes attentes et est compactible avec ma version 9 de WinDev.

Je comprends pas grand chose au fonctionnement de la fonction IsMatch() et nottament aux appels réccursifs de la fonction dans la fonction mais ca marche !


Fred

Contribution le : 09/02/2006 15:00
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2