begin process at 2012 05 27 20:23:15
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Système

 > LIBRAIRIE DE CONTROLE (FILTRE) DE TOUCHE DANS UN TEDIT

LIBRAIRIE DE CONTROLE (FILTRE) DE TOUCHE DANS UN TEDIT


 Information sur la source

Note :
Aucune note
Catégorie :Système Classé sous :TEdit, Systeme, dlls Niveau :Débutant Date de création :20/12/2007 Vu :2 512

Auteur : patdimby

Ecrire un message privé
Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

 Description

Ceci un librairie ou dll qui controle les entrees des utilisateurs dans un TEdit.Limitation des entrees a des chiffres entiers ou avec virgules.L'edition acceptant le retour de chariot.
Vous appelerez les fonction par les evenements de Tedit OnKeyPress
qui accepte une variable Char.
Exemple:

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

Pour importer les fonctions dans le programme,exemple:

var
  Form1: TForm;
  IntKey:procedure(var m:Char);stdcall;
  RealKey:procedure(var m:Char);stdcall;

Source

  • library dimbfunc;
  • { Dlls de controle de touche
  • entree de chiffre entier ou decimal par exemple
  • dans une boite d'edition.Cet exemple est specifique
  • pour la platforme Windows }
  • uses
  • Forms,SysUtils,Windows,Dialogs,Classes;
  • {$R *.res}
  • var w:Byte;
  • function SeparDec:Byte;
  • var c:Char;
  • TF:TFormatSettings;
  • InfoLocal:Integer;
  • begin
  • InfoLocal:=Languages.LocaleID[0];
  • GetLocaleFormatSettings(InfoLocal,TF);
  • c:=TF.DecimalSeparator;
  • if c=','then Result:=1 else Result:=0;
  • {recuperation de separateur decimal
  • pour un point ou un virgule.}
  • end;
  • procedure RealKey(var m:Char);stdcall;export;
  • var n:Integer;
  • {touches numériques avec virgule(réel)
  • ou point(si anglais)}
  • begin
  • n:=Ord(m);
  • if w=1 then begin
  • if (n>=48)and (n<=57)then m:=m
  • else if (n=Ord(VK_BACK))or(n=44) then m:=m else m:=#0;
  • end else begin
  • if (n>=48)and (n<=57)then m:=m
  • else if (n=Ord(VK_BACK))or(n=46) then m:=m else m:=#0;
  • end;
  • end;
  • procedure IntKey(var m:Char);stdcall;export;
  • var n:Integer;
  • begin
  • //nombre entier de 0 a 9
  • n:=Ord(m);
  • if (n>=48)and (n<=57)then m:=m
  • else if n=Ord(VK_BACK) then m:=m else m:=#0;
  • end;
  • exports IntKey,RealKey,EntKey;
  • begin
  • w:=SeparDec;
  • end.
library dimbfunc;
{ Dlls de controle de touche
entree de chiffre entier ou decimal par exemple
dans une boite d'edition.Cet exemple est specifique
pour la platforme Windows  }

uses
  Forms,SysUtils,Windows,Dialogs,Classes;

{$R *.res}

var w:Byte;

function SeparDec:Byte;
var c:Char;
    TF:TFormatSettings;
    InfoLocal:Integer;
begin
 InfoLocal:=Languages.LocaleID[0];
 GetLocaleFormatSettings(InfoLocal,TF);
 c:=TF.DecimalSeparator;
 if c=','then Result:=1 else Result:=0;
 {recuperation de separateur decimal
 pour un point ou un virgule.}
end;

procedure RealKey(var m:Char);stdcall;export;
var n:Integer;
{touches numériques avec virgule(réel)
ou point(si anglais)}
begin
 n:=Ord(m);
 if w=1 then begin
  if (n>=48)and (n<=57)then m:=m
  else if (n=Ord(VK_BACK))or(n=44) then m:=m else m:=#0;
 end else begin
  if (n>=48)and (n<=57)then m:=m
  else if (n=Ord(VK_BACK))or(n=46) then m:=m else m:=#0;
  end;
end;

procedure IntKey(var m:Char);stdcall;export;
var n:Integer;
begin
//nombre entier de 0 a 9
 n:=Ord(m);
 if (n>=48)and (n<=57)then m:=m
 else if n=Ord(VK_BACK) then m:=m else m:=#0;
end;

exports IntKey,RealKey,EntKey;

begin
 w:=SeparDec;
end.

 Conclusion

Comment compter si les sepateurs decimals sont en plus
et que le chiffre ne commence pas par un separateur decimal?


 Sources du même auteur

Source avec Zip GESTION STOCK AVEC DEPOT ET MAGASINS

 Sources de la même categorie

Source avec Zip Source avec une capture EXEMPLES DE THREADS par Jean_Jean
Source avec Zip LECTURE DE LA MEMOIRE D'UN AUTRE PROCESSUS par Mokost
Source avec Zip Source avec une capture LIBÉRER LA TAILLE MAXIMALE D'UNE FENÊTRE PAR SUBCLASSING par rt15
Source avec Zip Source avec une capture OBSERVATEUR DE PROCESSUS ACTIFS; VPROCESS 1,0 par Neftali
UN SELECTDIRECTORY QUI SE PLACE AU BON ENDROIT par ThWilliam

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture NETTOYEUR AUTOMATIQUE DE VOS DISQUES par diglas
Source avec Zip Source avec une capture RÉSOLUTION D'UN SYSTÈME LINÉAIRE (( N ÉQUATIONS À N INCONNUS... par offlake
Source avec Zip Source avec une capture TEDIT À LE FAÇON D'INTERNET EXPLORER 7 par bubulemaster
Source avec Zip Source avec une capture CONTROLER UN "COPIER/COLLER" DANS UN TEDIT par cirec
Source avec Zip Source avec une capture INFORMATIONS SYSTÈME (VIA WMI) par fjohnny

Commentaires et avis

Commentaire de f0xi le 20/12/2007 09:49:46 administrateur CS

procedure RealKey(var m:Char);stdcall;export;
begin
  if not (m in ['0'..'9',decimalseparator,#8]) then
    m := #0;
end;

procedure IntKey(var m:Char);stdcall;export;
begin
  if not (m in ['0'..'9',#8]) then
    m := #0;
end;

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Dlls... Besoin "urgent" !! [ par Bestiol ] Salut tt le monde !!J'aurais besoin qu'on m'aide pour l'utilisation des dlls dans Delphi(6)... De la création de la dll à l'implémentation des appels TEdit avec masque de saisie [ par lguez ] Existe t'il un composant dérivé de TEdit dans lequel on peut lui définir un masque de saisie.par exemple :avoir la possibilité de ne rentrer que des n Graphique sur un TEdit [ par magicvinni ] Bonjour, j'ai un dessin sur la fond de ma fiche et un TEdit dessus mais invisible au debut de l'application. Quand je veux faire un rectangle sur le f Evenements [ par MasterJ ] Je veux savoir si il y a un moyen de regrouper la gestion d'évènements de plusieurs controles Tedit similaires avec une seule procédure.Exemple : J'ai Valider le type d'un TEdit [ par MasterJ ] Bonjour tt le mde,comment fait-t-on pour vérifier que le contenu d'un TEdit est bien du type que l'on veut.Plus précisément, j'envoie le contenu d'un Alignement controle TEdit [ par ricopetitdejeuner ] Bonjour !!Voila, je voudrais savoir s'il existe une propriete pour aligner le texte d'un TEdit a droite (comme pour un TLabel, avec le taLeftJustify), Une boucle pour scanner des Tedit [ par MasterJ ] Bonjour tt le monde,je me demandais s'il est possible de scanner plusieurs Tedit ayant un nom composé d'une racine similaire et d'un numéro ordinal a Stocker dernier composant ayant genere event [ par MasterJ ] Bonjour todo el mondo,comment fais t'on pour garder dans une variable le dernier composant ayant genere un evenement. Le but est de faire un petit un utilisation des dlls [ par ak47 ] salut à tous!Je suis en train de faire un programme ki, entre autre, interpreterai des scripts, et j'aimerai utiliser les dll pour stocker toutes les Forcer affichage menu systeme [ par fabiin ] Salut g une application sans barre de titremais je voudrai kan même afficher le menu systeme lors du klik droit :)comment faire ???merci par avance <i


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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,374 sec (3)

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