Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : caractère illicite [ Divers / Aide et documentation ] (bertrand_s)

dimanche 12 novembre 2006 à 18:47:10 | caractère illicite

bertrand_s

Question de débutant !
Bonjour à tous,
Je demarre sous Delphi et je cherche une solution pour limiter les entrées dans un "edit" à des chiffres et une virgule.

Quelqu'un pourrait-il m'aider?
Merci.

dimanche 12 novembre 2006 à 20:28:57 | Re : caractère illicite

Guillemouze

tu n'as cas surcharger le TCustomEdit, en modifiant la methode Change de cette maniere

procedure Change;
begin
    inherited;
    if not self.text[length(self.text)] in ['0', '1', ..., '9', decimalSeparator] then
       self.text := leftstr(self.text, length(self.text)-1);
end;

c'est juste un premier jet, a mon avis tu devra surement faire quelque chose pour eviter le double appel de l'evenement OnChange.

dimanche 12 novembre 2006 à 22:19:03 | Re : caractère illicite

PoulpHunter

Réponse acceptée !
perso j'utilise plutôt l'évènement OnKeyPress
par exemple :

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in [#8,'0'..'9']) then
key:=#0;
end;

// si la touche appuiée n'est pas un chiffre alors c'est comme si aucune touche n'avais été appuiée...

maintenant t'as le choix  tu fait en fonction de tes prefs lol
++

lundi 13 novembre 2006 à 08:08:50 | Re : caractère illicite

N_M_B

salut!
 PoulpHunter> moi aussi j'utilise cette méthode mais on peut toujour faie un coller avec le deuxieme boutton de la souris alor prend en compte Bertrand_s
++
N*M*B

lundi 13 novembre 2006 à 09:27:00 | Re : caractère illicite

Loda

Membre Club
Réponse acceptée !
salut, fait juste attention au option régional! certaines langages utilise le point (.) et non la virgule(,) comme séparateur décimal. respecte les préférence de l'utilisateur. pour lire les options de windows(je sait pas pour linux): var tmpformatSettings : TFormatSettings; begin GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, tmpformatSettings); tmpformatSettings.DecimalSeparator <-- lit les une fois au démarrage du prog et stock les dans une unit global. Tu peux stocker que le séparateur ou le FormatSetting en entier. PS: (onKeyDown me semble plus simple aussi)

lundi 13 novembre 2006 à 13:24:58 | Re : caractère illicite

bertrand_s

Merci à tous pour vos réponses très intéressantes.
Après un paquet d'heures passée dessus j'ai même eu des réponses inespérées comme les options régionales qui m'ont faites ch... merci à toi aussi Loda ;-)

lundi 13 novembre 2006 à 13:38:02 | Re : caractère illicite

Guillemouze

tu as acces directement au separateur decimal grace a la variable DecimalSeparator de l'unité SysUtils, sans avoir besoin de manipuler de TFormatSettings

lundi 13 novembre 2006 à 15:09:35 | Re : caractère illicite

Loda

Membre Club
tiens, j'ai bien faite de me lever ce matin, j'ai appris qqch :D PS: j'utilise une copie du TFormatSettings du system car je modifie les format de date/heure/... . Ceci me permet de passer MON TFormatSettings aux fonctions de conversion lorsque je lit des fichiers de sauvegarde. Comme ça, mes fichiers de sauvegarde ne dépendent pas des options régionales. :)

lundi 13 novembre 2006 à 16:09:16 | Re : caractère illicite

Guillemouze

tout a fait loda. le seul avantage du decimalseparator, c'est si tu n'as besoin que de lui. si tu veux modifier le format date/heure, ..., alors il te reste le TFormatSettings

lundi 13 novembre 2006 à 17:52:54 | Re : caractère illicite

N_M_B

re !
n'oubliez pas que par un clique droit sur le TEdit le popup menu par défaut nous permet de faire un coller ! personelement j'ajoute un TPopUpMenu vide( ou avec un coller sécurisé) et je l'assigne a mon TEdit (y'aurait-il un autre moyen )

N*M*B


1 2

Cette discussion est classé dans : caractère, illicite


Répondre à ce message

Sujets en rapport avec ce message

Code ASCII -> Son caractère correspondant [ par Fabiin ] Salut !Quel fonction permet de passer du code ASCII en sont caractère correspondnat ???l'inverse de Ord()Merci par avance@+Fabs ListBox... [ par finipe ] Bonjour à tous. Je voudrais savoir s'il y a moyen de manipuler une chaîne de caractère dans une ListBox, sachant que la fin de cette chaîne est variab Expressions régulières [ par DiableHautain ] Bonjour tout le monde,Simple petite question:Peux-t-on utiliser des expressions régulières en Delphi (à la manière de VBScript ou JScript), afin de re case 2 caractère [ par lan0sic ] Bijour,voila j'aimerait qu'un case test 2 caractère :case (Edit.text[i]+Edit.text[i+1]) of 'ab' : begin ........... Stockage de caractère grec dans ORACLE [ par antonio69 ] Je dois stocker des caractères grecs dans une base ORACLEces caractères composent un mot (par ex: Tr(Alpha); Alpha devant etre en caractère grec.).Pui cryptage (simple ...) [ par sisi231 ] SISI231Bonjour ! ...J'aurais une petite question sur l'encodage ...J'ai vu sur un site : je ne me souviens plus duquel : peut-êtrecelui-là ... une mét Comment récupere-t-on des informations d'une autre logiciel ? [ par yoghisan ] Je suis tout nouveau dans la programmation et je travaille sur delphi après une briève initiation. J'ai seulement développé un logiciel à caractère pr Isoler un caractère d'une chaîne... [ par mentral ] Bonjour à tous ! Je viens du monde Pascal sous DOS et j'assure une transition sur le Delphi. Sous Pascal, je peux isoler les caractères d'une chaîne e Changer la forme de l'animation matrix [ par Also know as ] Bonjour,Voici une méthode permettant de créer une animation à la matrix sans sa police.Il suffit juste d'appeler sa Form MainForm, mettre un memo et c Ecrire dans un fichier de tel octet à tel octet [ par TheChikenKiller ] Je cherche a écrire dans un fichier une string d'un certain caractère (exemple : 160) à un autre (ex :255)Exemple : ecrire petaouchnok du caractère 16


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


LG KP501

Entre 9€ et 159€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,640 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.