Peut t'on brider un champ au niveau du contenu?

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Peut t'on brider un champ au niveau du contenu?

Messagepar cyril08 » 07 Déc 2010 à 08:44

Bonjour,

J'ai un champs SE que je souhaiterais brider :

SE : "XXX CCC XX" les X sont obligatoirement des lettres et les C des chiffres.

Y-a-t-il une possibilitée?

merci
cyril08
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 349
Inscrit(e) le : 22 Nov 2010 à 17:11

Messagepar Michael DELIQUE » 07 Déc 2010 à 08:47

salut

en Lotus script c'est faisable, mais pas à la saisie. tu voudrais un champ avec une sorte de préformatage ?
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar seroa » 07 Déc 2010 à 08:54

Salut, en javascript, tu peux avec les Regular Expression

Il te suffit de créer une fonction verification dans ce style :

var chaine = tonchamp;
var reg = new RegExp('ta formule RegEx');
if(!reg.test(chaine))
{
alert('Warning : format incorect');
return false;
}
seroa
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 304
Inscrit(e) le : 08 Nov 2007 à 08:36
Localisation : Mâcon

Messagepar cyril08 » 07 Déc 2010 à 09:11

Michael DELIQUE a écrit:salut

en Lotus script c'est faisable, mais pas à la saisie. tu voudrais un champ avec une sorte de préformatage ?


Oui c exact
cyril08
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 349
Inscrit(e) le : 22 Nov 2010 à 17:11

Messagepar Michael DELIQUE » 07 Déc 2010 à 09:12

pas de champ pré-formaté...

tout ce que tu peut faire c'est un controle apres saisie, ou alors il faut que tu explose ta saisie en plusieurs champs
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar LSong » 07 Déc 2010 à 14:57

on peu faire des choses avec un NotesTimer
ca permet d'appeler une fonction toutes les x secondes

du coup tant que tu es dans le champs tu peu faire un check périodique, mais c'est pas super stable je trouve
LSong
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 353
Inscrit(e) le : 07 Nov 2007 à 14:27
Localisation : Ile de france

Messagepar Michael DELIQUE » 07 Déc 2010 à 15:06

l'idée est pas mauvaise, mais tu risque de bouffer un max de ressource pour pas grand chose
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar amahi » 07 Déc 2010 à 15:33

Quelque soit le language tu n'auras pas le preformatage. La seule chose que tu peut faire simplement c'est à la validation d'entree verifier que les données correspondent a ce que tu attends et bloquer l'enregistrement en cas de non conformité.
@Novaliance
amahi
Empereur des posts
Empereur des posts
 
Message(s) : 1032
Inscrit(e) le : 08 Jan 2007 à 16:57
Localisation : Region parisienne

Messagepar Michael DELIQUE » 07 Déc 2010 à 15:36

ou alors passer par une dialogbox ou tu aurra éclater le champ en plusieurs en fonction du formatage
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar cyril08 » 07 Déc 2010 à 19:53

amahi a écrit:Quelque soit le language tu n'auras pas le preformatage. La seule chose que tu peut faire simplement c'est à la validation d'entree verifier que les données correspondent a ce que tu attends et bloquer l'enregistrement en cas de non conformité.


C'est une chose que j'avais pensé mais je ne vois pas du tout comment mi prendre sachant que :

mon champ SE sera de la forme : LLL CCC LL avec L:lettre et C:Chiffre
cela implique pour chaque champ SE que je mettrais dans mes masque SE1, SE2 ....SEx... que toutes les lettres peuvent être A,B...à Z et mes chiffres de 001 à 100
cyril08
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 349
Inscrit(e) le : 22 Nov 2010 à 17:11

Messagepar roubech » 07 Déc 2010 à 20:42

comme dit précédemment, selon que tu veux une aide à la saisie :
a) une petite fonction LS qui ouvre une boite de dialogue et retourne une chaine formatée selon ton besoin, que tu appelles sur un bouton pour chacun des tes champs
ou juste un contrôle de validation
b) une fonction JS basée sur une RegEx appellé dans le onChange par exemple de chaque champs concernées
http://www.commentcamarche.net/contents ... egexp.php3
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar Michael DELIQUE » 07 Déc 2010 à 20:43

re,

passe par une dialoguebox qui affiche chaque champ séparement et le ls concatene le tout ensuite.

ensuite dans la validation du champ en jouant avec @replace tu devrais t'en sortir
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar cyril08 » 07 Déc 2010 à 23:00

Michael DELIQUE a écrit:re,

passe par une dialoguebox qui affiche chaque champ séparement et le ls concatene le tout ensuite.

ensuite dans la validation du champ en jouant avec @replace tu devrais t'en sortir


Qu"appelle tu dialogbox? c ds le LS aussi??
cyril08
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 349
Inscrit(e) le : 22 Nov 2010 à 17:11

Messagepar roubech » 08 Déc 2010 à 00:03

Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar cyril08 » 14 Déc 2010 à 15:58

J'ai bien pris en compte la solution dialogbox

@DialogBox( form ; [AUTOHORZFIT] : [AUTOVERTFIT] : [NOCANCEL] : [NONEWFIELDS] : [NOFIELDUPDATE] : [READONLY] : [SIZETOTABLE] : [NOOKCANCEL] : [OKCANCELATBOTTOM] : [NONOTE] ; title )

est ce quelqu'un pourrais m'éclairer sur le contenu de cette formule car j'ai du mal à comprendre même avec les exmples du lien ci-dessus.

Je rappelle le But qui est de crée un champ ou le formalisme est :

LLL CCC LL ou chaque C peut aller de 1 à 9 et chaque L de A à Z

merci
cyril08
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 349
Inscrit(e) le : 22 Nov 2010 à 17:11

Suivant

Retour vers Développement