Voir le flux RSS

Le Blog de DSR57 - Programmation WinDev

WinDev : chaine vide

Noter ce billet
par , 21/07/2015 à 23h09 (922 Affichages)
Une fonction pour tester les chaînes vides...

Dans ce billet je propose une petite fonction qui permet de déterminer si une chaîne de caractère est vide.

Contexte fonctionnel



Commençons par une définition.

Nom : definition-web.jpg
Affichages : 1055
Taille : 7,3 Ko une chaine vide est une chaîne qui contient aucun caractère.


Avec cette définition, WinDev nous permet de vérifier avec la fonction Taille renvoyant 0 et le test d'égalité avec "" renvoyant vrai.

Code Windev : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
ls_TestEXPRESS est une chaîne 
 
ls_TestEXPRESS=""
 
Taille(ls_TestEXPRESS)    //----->Retourne 0

Nous pourrions en rester la-dessus, mais mettons en place ce test dans un contexte utilisateur et une vérification des données saisies. Prenons par exemple le cas d'un formulaire :
  • saisie d'un formulaire d'inscription ;
  • saisie d'une fiche client ;
  • saisie d'une fiche article.


A la validation nous vérifions la saisie des informations obligatoires (Nom, prénom, adresse, référence, ....), en mettant en place le test vu plus haut, nous récupérons la valeur des champs renseignés ... Mais si l'utilisateur saisi une suite d'espace, que renvoie notre test ?

Code WinDev : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
ls_TestEXPRESS est une chaîne 
 
ls_TestEXPRESS="   "
 
Taille(ls_TestEXPRESS)    //----->Retourne 3

Nous observons que la définition et le test ne nous permettents pas de détecter les chaines contenant uniquement des espaces, et nous avons en base de données des valeurs inexploitables.

Nouvelle fonction



Dans un premier temps, nous allons définir ce que l'on entend par chaîne vide dans un contexte de vérification d'informations.

Nom : definition-web.jpg
Affichages : 1055
Taille : 7,3 Ko Une chaîne vide est une chaîne qui ne contient aucun caractère ou uniquement des caractères espace.

Pour cela je propose la fonction ChaineVide qui permettra de tester uen chaine selon cette définition.

Code de la fonction :
Code WinDev : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
// Résumé : Vérifie si une chaine contient uniquement des caractères espaces ou pas de caractère
// Syntaxe :
//ChaineVide ()
//
// Paramètres :
//	ps_chaine <chaine> : chaine à tester
// Valeur de retour :
// 	vrai : chaine contenant 0 caractère ou uniquement des espaces
//  faux : chaine contenant plusieurs caractères différents de espace
//
// Exemple :
// ChaineVide(ls_nomClient)
//
PROCEDURE ChaineVide(ps_chaine est une chaîne)
 
RENVOYER (SansEspace(ps_chaine)="")


Test



Nom : practiceTest.jpg
Affichages : 245
Taille : 8,9 Ko

Un jeu de tests pour vérifier la fonction

Code WinDev : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
ls_TestEXPRESS1, Ls_TestEXPRESS2, ls_TestEXPRESS3, ls_TestEXPRESS4,sLs_TestEXPRESS5 est une chaîne 
 
ls_TestEXPRESS1=""
Ls_TestEXPRESS2="  "
ls_TestEXPRESS3="  Nom"
ls_TestEXPRESS4="  Prenom"
ls_TestEXPRESS4="  Adresse       "
 
ChaineVide(ls_TestEXPRESS1) 
ChaineVide(Ls_TestEXPRESS2) 
ChaineVide(ls_TestEXPRESS3)
ChaineVide(ls_TestEXPRESS4)
ChaineVide(sLs_TestEXPRESS5)

Résultats

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Vrai
Vrai
Faux
Faux
Faux
Contexte technique



Nom : Contexte.jpg
Affichages : 243
Taille : 7,6 Ko
Version de WinDev : 20 et antérieures

Conclusion




Dans ce billet, nous avons une nouvelle définition d'une chaîne vide plus proche d'un contexte utilisateur. Celle-ci peut être appliqué pour tester les valeurs saisies d'un utilisateur, et aussi pour vérifier les paramètres d'entrée d'une fonction (fonctions internes à un programme, Web-services, API, ...). Cette fonction permet de vérifier qu'une chaîne contient des caractères mais ne permet de vérifier la validité des informations, un client avec pour nom et prénom test passera le test...

Bon dev à tous

Envoyer le billet « WinDev :  chaine vide » dans le blog Viadeo Envoyer le billet « WinDev :  chaine vide » dans le blog Twitter Envoyer le billet « WinDev :  chaine vide » dans le blog Google Envoyer le billet « WinDev :  chaine vide » dans le blog Facebook Envoyer le billet « WinDev :  chaine vide » dans le blog Digg Envoyer le billet « WinDev :  chaine vide » dans le blog Delicious Envoyer le billet « WinDev :  chaine vide » dans le blog MySpace Envoyer le billet « WinDev :  chaine vide » dans le blog Yahoo

Mis à jour 09/09/2015 à 22h54 par dsr57

Catégories
WinDev , Fonctions

Commentaires