begin process at 2010 02 10 06:13:33
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Divers

 > 

Aide et documentation

 > 

caractère illicite


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

caractère illicite

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ée 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...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,437 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales