Aller au contenu

Formatage saisie


Messages recommandés

Bonjour,

Dans la saisie sur un EF, je voudrais que la saisie soit tjrs en Majuscules sans que l'opérateur n'appuie sur la touche "MAJ" et que cette saisie n'accepte que les caractères "D" ou "C".

 

Une idée ? :blush:

 

Je sais

Modifié par patyom
Lien vers le commentaire
Partager sur d’autres sites

il faut tout bêtement jouer sur le KeyDown.

 

Pour mettre toutes les lettres en minuscules tu peux tester si asc(key)>=asc("a") and asc(key)<=asc("z") ainsi :

Function KeyDown(key) as boolean
 Dim kc as integer
 kc = asc(key)
 if kc>=asc("a") and kc<=asc("z") then
majKey = char(kc - asc("a") + asc("A")) // on calcule la majuscule correspondante
me.SelText = majKey // on simule l'appui sur la touche majuscule correspondante
return true // interrompre le traitement par RB
 end if
 return false // sinon on agit normalement
End Function

Et ça devrait marcher.

 

Si tu veux être plus restrictif encore que ça, le mieux est peut-être d'interdire toute entrée sauf les touches "C", "D", "c" et "d" (les 2 dernières tu les transformera en majuscules si nécessaire) et les flèches, la touche tabulation, la touche delete et la touche enter.

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Et si dans KeyDown on ne faisaint pas simple un Uppercase

Me.SelStart=Me.Text.Len
Me.SelText=Uppercase(Key)
Return True

Ca ne serai pas plus simple

Lien vers le commentaire
Partager sur d’autres sites

Ah ouais j'avais oublié que Uppercase existait en RB ;)

Bien vu :P

:o

Ali s'est fait mettre par Flo en RB: je suis sur le cul!

Va falloir repratiquer si tu veux garder la forme :P

Lien vers le commentaire
Partager sur d’autres sites

Objective-C screu nieu nieu, Cocoa, c'est pas un langage ! :P

Oui je sais que Objective-C est une amélioration du C++, et Cocoa un package de l'Objective-C (plus de methodes/classes/fonction). Bien retenu la lecon non?

De plus, on peut mettre du code Java (donc pas Ojective-C) et de toute facon Apple utilise "Cocoa". :P

Modifié par Philou309
Lien vers le commentaire
Partager sur d’autres sites

Cocoa n'est pas un package de l'Objective C.

 

C'est le framework développé par Apple sur lequel se base tout le système OSX.

C'est la couche qui te fournit plein de fonctions de différents niveaux (pour dessiner des images, faire une action en cas de simple ou double-clic, etc, ou plus bas pour gérer les pixels, gérer les évènements de bas niveau, etc).

 

C'est en fait si tu veux une sorte de librairie géante.

Un peu

Lien vers le commentaire
Partager sur d’autres sites

Cocoa n'est pas un package de l'Objective C.

 

C'est le framework développé par Apple sur lequel se base tout le système OSX.

C'est la couche qui te fournit plein de fonctions de différents niveaux (pour dessiner des images, faire une action en cas de simple ou double-clic, etc, ou plus bas pour gérer les pixels, gérer les évènements de bas niveau, etc).

 

C'est en fait si tu veux une sorte de librairie géante.

Un peu

Lien vers le commentaire
Partager sur d’autres sites

Alors je vais dire: Cocoa = langage de programmation fait par Apple. Je prends pas de risque.
Ben si justement. Car c'est justement LA confusion qu'on te dis qu'il ne faut pas faire :P

 

Objective-C = langage de programmation. Qui te dit comment écrire un programme, quelle est la syntaxe

Lien vers le commentaire
Partager sur d’autres sites

Ben si justement. Car c'est justement LA confusion qu'on te dis qu'il ne faut pas faire :P

 

Objective-C = langage de programmation. Qui te dit comment écrire un programme, quelle est la syntaxe

Lien vers le commentaire
Partager sur d’autres sites

Je me vois dans l'obligation de vous "mettre" tous les deux et de préférer la solution de Eric P. :

on règle la propriété mask de l'EditField par >&&&&&&&&&& avec autant de & que le maximum de caractères envisagé.

 

Pour les d et les c, tu mets

  dim i as integer
 for i=0 to 25
if i<>2 and i<>3 then EditField1.text=replaceAll(EditField1.text,chr(97+i),"")
 next

dans l'évènement TextChange.

Modifié par Petrus
Lien vers le commentaire
Partager sur d’autres sites

Pour les d et les c, tu mets
  dim i as integer
 for i=0 to 25
if i<>2 and i<>3 then EditField1.text=replaceAll(EditField1.text,chr(97+i),"")
 next

dans l'évènement TextChange.

Cool Petrus, ta solution combinée avec celle d'Ali marche

Lien vers le commentaire
Partager sur d’autres sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement
 Share

×
×
  • Créer...