Interdire deux virgules [Résolu]

Messages postés
159
Date d'inscription
lundi 10 janvier 2005
Dernière intervention
17 juillet 2008
- - Dernière réponse : Maniaxman
Messages postés
159
Date d'inscription
lundi 10 janvier 2005
Dernière intervention
17 juillet 2008
- 29 mai 2005 à 13:40
Bonjour,



j'ai un edit sur ma fiche, et j'aimerais bien qu'on ne puisse pas entrer deux virgules dedans, comment puis-je faire?



Merci
Afficher la suite 

Votre réponse

12 réponses

Meilleure réponse
Messages postés
1529
Date d'inscription
samedi 12 juin 2004
Dernière intervention
5 juillet 2010
3
Merci
Tu peux faire comme ceci (rajoute le code dans l'événement OnKeyPress de ton TEdit ) :

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

if Key = ',' then if Pos( ',' , Edit1.Text ) <> 0 then Key := #9;
// Si une virgule se trouve déjà dans le texte de l'Edit, un bip se
produit (#9)

end;



@+
Bonne Prog'
Nico

<hr>

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




www.ni69.new.fr</italique>

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de ni69
Messages postés
2354
Date d'inscription
dimanche 5 octobre 2003
Dernière intervention
18 novembre 2010
3
Merci
Solution acceptable, mais je pouuse le bouchon et je colle "1554,1154,1" j'ai donc 2 , et aucun bip =)



je propose ça :



procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

if Key = ',' then if Pos( ',' , Edit1.Text ) <> 0 then Key := #9;

end;



procedure TForm1.Edit1Exit(Sender: TObject);

var temp: string;

begin

temp := edit1.text;

if pos(',', temp)>0 then

begin

delete(temp,0, pos(',',temp));

if pos(',', temp)>0 then

begin

beep;

Showmessage('Attention il y a 2 , !');

edit1.SetFocus;

edit1.SelectAll;

end;

end;

end;



ça vérifié en plus lors du OnExit que 2 , ne sont pas présentes.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de JulioDelphi
Messages postés
314
Date d'inscription
dimanche 31 octobre 2004
Dernière intervention
31 décembre 2006
0
Merci
Salut,
Simplement pour mes connaissances ni69, la fonction pos donne la position du caractère dans la chaine. C'est ça ?? et elle renvoie 0 sinon ?

Ps : en taille 1 c'est udr à lire :p


N'oubliez pas de cliquer sur réponse acceptée si la réponse vous convient !!!
Commenter la réponse de cs_sim51
Messages postés
1529
Date d'inscription
samedi 12 juin 2004
Dernière intervention
5 juillet 2010
0
Merci
Comme tu le dis, la fonction Pos(SousChaîne, Chaîne) renvoie la
position de la SousChaîne dans la Chaîne et 0 si elle n'est pas
présente.

Désolé
pour
la taille

des
caractères
!




@+
Bonne Prog'
Nico

<hr>

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




www.ni69.new.f</italique>
Commenter la réponse de ni69
Messages postés
314
Date d'inscription
dimanche 31 octobre 2004
Dernière intervention
31 décembre 2006
0
Merci
mdrrrrrrrrrrrr c'est pas grave pour la taille, vive le ctrl + molette arrière :p



N'oubliez pas de cliquer sur réponse acceptée si la réponse vous convient !!!
Commenter la réponse de cs_sim51
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Dernière intervention
9 janvier 2013
0
Merci
"vive le ctrl + molette arrière " : je viens d'apprendre quelque chose aujourd'hui. Merci sim51

<
Commenter la réponse de cs_Delphiprog
Messages postés
1529
Date d'inscription
samedi 12 juin 2004
Dernière intervention
5 juillet 2010
0
Merci
Bien vu JulioDelphi !

J'avoue que n'y avais pas pensé !



@+
Bonne Prog'
Nico

<hr>

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




www.ni69.new.fr</italique>
Commenter la réponse de ni69
Messages postés
159
Date d'inscription
lundi 10 janvier 2005
Dernière intervention
17 juillet 2008
0
Merci
pas mal, j'avoue que je n'avais pas pensé non plus qu'on pouvait coller


n'y a t-il pas un moyen plus simple qui permettrait d'interdir de coller dans un label ?
Commenter la réponse de Maniaxman
Messages postés
2354
Date d'inscription
dimanche 5 octobre 2003
Dernière intervention
18 novembre 2010
0
Merci
C'est le moyen simple celui là, après tu peux changer le composant edit
afin qui ne reçoive plus le message windows du collage, tu peux aussi
bidouiller (plus compliqué que ce que j'ai fait) qu'il vérifié quand
une touche est appuyée que ce n'est pas un "ctrl" enfoncé avec un "v"
ou un "V" puis ajouter un menu en clic droit pour supprimer l'original,
enfin bref, beaucoup plus compliqué et bidouillé que mes quelques
lignes =)
Commenter la réponse de JulioDelphi
Messages postés
159
Date d'inscription
lundi 10 janvier 2005
Dernière intervention
17 juillet 2008
0
Merci
et comment faire pour ne pas faire afficher le message du collage?
Commenter la réponse de Maniaxman
Messages postés
2354
Date d'inscription
dimanche 5 octobre 2003
Dernière intervention
18 novembre 2010
0
Merci
Hum ... Une petite lecture du code pour voir mon simple

Showmessage('Attention il y a 2 , !');

A toi de le supprimer.
Commenter la réponse de JulioDelphi
Messages postés
159
Date d'inscription
lundi 10 janvier 2005
Dernière intervention
17 juillet 2008
0
Merci
dsl, ce que je voulais dire c'était comment ne pas faire afficher "coller" dans le menu contextuel de l'edit, mais je crois que j'ai tout ce qu'il me faut, merci a vous tous
Commenter la réponse de Maniaxman

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.