FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
comment contrôler la saisie d'un EDIT ? Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
comment contrôler la saisie d'un EDIT ? Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
comment contrôler la saisie d'un EDIT ? Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
comment contrôler la saisie d'un EDIT ? Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
comment contrôler la saisie d'un EDIT ? Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
comment contrôler la saisie d'un EDIT ? Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
comment contrôler la saisie d'un EDIT ? Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
comment contrôler la saisie d'un EDIT ? Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
comment contrôler la saisie d'un EDIT ? Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
comment contrôler la saisie d'un EDIT ? Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
comment contrôler la saisie d'un EDIT ? Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
comment contrôler la saisie d'un EDIT ? Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
comment contrôler la saisie d'un EDIT ? Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
comment contrôler la saisie d'un EDIT ? Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
comment contrôler la saisie d'un EDIT ? Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le deal à ne pas rater :
SSD interne Crucial BX500 2,5″ SATA – 500 Go à 29,99€
29.99 €
Voir le deal

 

 comment contrôler la saisie d'un EDIT ?

Aller en bas 
3 participants
AuteurMessage
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

comment contrôler la saisie d'un EDIT ? Empty
MessageSujet: comment contrôler la saisie d'un EDIT ?   comment contrôler la saisie d'un EDIT ? EmptyLun 7 Avr 2014 - 0:17

Bonjour,

Je cherche à contrôler les entrées clavier dans des objets EDIT.
Je souhaite que seuls les touches numériques et la virgule soient actifs.
J'ai fait cette petite routine, mais comment empêcher de mettre 2 virgules dans un nombre ?

Merci de votre aide.

Bien amicalement,

Marc

Code:
' Contrôle de saisie caractère par caractère d'un objet EDIT

' but : exclure les caractères non autorisés
'     : substituer le point par une virgule


label controle_saisie

dim a$ : ' dernier caractère frappé
dim L : ' nombre de caractères saisis

' ------------------ programme principal ---------------------------------
edit 1
left 1, 100
top 1, 100
on_change 1 , controle_saisie

end

' ------------------------------------------------------------------------
controle_saisie:

  a$=right$(text$(1),1):' extraction dernier caractère frappé

  if a$="" then return

  if a$="," then return

  if a$ ="." then L=len(text$(1)):text 1, left$(text$(1),L-1) + ",":caret_position 1, L :return

  if asc(a$)<48 or asc(a$)>57 then L=len(text$(1)):text 1, left$(text$(1),L-1):caret_position 1,L-1: return

return
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

comment contrôler la saisie d'un EDIT ? Empty
MessageSujet: Re: comment contrôler la saisie d'un EDIT ?   comment contrôler la saisie d'un EDIT ? EmptyLun 7 Avr 2014 - 0:58

Tu peux charger le fichier KGF_OBJ.bas sur mon WebDav, dossier DLLs\KGF_SUB\.

Ce fichier contient des procédures pour chaque objet Panoramic, ainsi que pour quelques pseudo-objets de ma création. C'est du code Panoramic pur, sans utilisation de DLLs.

Deux procédures peuvent être utiles: xEditFilter et xEditMask. Cette dernière permet de spécifier un masque de saisie, en précisant le jeu de caractèred autiorisé à chaque position du texte à saisir.

Tu peux extraire ces procédures pour les inclure dans ton source, ou simplement ajouter la ligne suivante à la toute fin de ton programme:
#INCLUDE "KGF_OBJ.bas"

Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 70
Localisation : 83 Var
Date d'inscription : 07/05/2009

comment contrôler la saisie d'un EDIT ? Empty
MessageSujet: Re: comment contrôler la saisie d'un EDIT ?   comment contrôler la saisie d'un EDIT ? EmptyLun 7 Avr 2014 - 8:05

Je te propose une Sub que j'utilise dans un programme, à toi de l’adapter à ton besoin.

Code:
dim ok$,a$,b$
label ctrl_nom
edit 1
on_change 1,ctrl_nom
END

ctrl_nom:
' contrôle la saisie caractère par caractère
 a$=text$(1)
 Ctrl_Caracteres_Interdits(a$)
 if ok$="N"
    if len(a$)>1
      b$=upper$(left$(a$,len(a$)-1)):text 1,b$:caret_position 1,len(b$)
    else
      text 1,""
    end_if
 end_if
return
' ------------------------------------
Sub Ctrl_Caracteres_Interdits(chaine$)
  ok$=""
  dim_local a%,car1$
 for a%=1 to len(chaine$)
  car1$=mid$(chaine$,a%,1)
  if asc(car1$)>0 and asc(car1$)<32 then message_car_interdit(car1$):exit_sub
  if asc(car1$)>32 and asc(car1$)<48 then message_car_interdit(car1$):exit_sub
  if asc(car1$)>57 and asc(car1$)<65 then message_car_interdit(car1$):exit_sub
  if asc(car1$)>90 and asc(car1$)<95 then message_car_interdit(car1$):exit_sub
  if asc(car1$)=96 then message_car_interdit(car1$):exit_sub
  if asc(car1$)>122 then message_car_interdit(car1$):exit_sub
 next a%
End_sub
' ------------------------
Sub message_car_interdit(car$)
  message "Le caratère [ "+car$+" ] est interdit":ok$="N"
End_sub

A+
Revenir en haut Aller en bas
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

comment contrôler la saisie d'un EDIT ? Empty
MessageSujet: Re: comment contrôler la saisie d'un EDIT ?   comment contrôler la saisie d'un EDIT ? EmptyLun 7 Avr 2014 - 11:58

Merci Klaus et Jean-Claude de votre réactivité et de votre partage.

Je vais étudier tout ça.

Bonne journée ensoleillée !

Marc
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 70
Localisation : 83 Var
Date d'inscription : 07/05/2009

comment contrôler la saisie d'un EDIT ? Empty
MessageSujet: Re: comment contrôler la saisie d'un EDIT ?   comment contrôler la saisie d'un EDIT ? EmptyJeu 11 Sep 2014 - 20:56

Bonsoir Marc37,

Je relance ce sujet, car j'aimerais savoir où tu en es ?

Et en le relisant, je m'aperçois que j'ai répondu à coté et que Klaus t'a proposé une solution avec DLL (je ne crois pas que c'est ce que tu cherches).
Marc37 a écrit:
Je cherche à contrôler les entrées clavier dans des objets EDIT.
Je souhaite que seuls les touches numériques et la virgule soient actifs.
J'ai fait cette petite routine, mais comment empêcher de mettre 2 virgules dans un nombre ?
Comme quoi, on devrait mieux lire et comprendre.... Very Happy

En réalité, tu as juste besoin de la fonction NUMERIC(V$), où V$ représente la saisie dans lédit. Cette fonction retourne 1 si la valeur est numérique (y compris avec la virgule) et 0 s'il y a un caractère alphanumérique. ET, surtout, si tu tape 2 virgules, çà ne passe pas.

Bonsoir.
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 70
Localisation : 83 Var
Date d'inscription : 07/05/2009

comment contrôler la saisie d'un EDIT ? Empty
MessageSujet: Re: comment contrôler la saisie d'un EDIT ?   comment contrôler la saisie d'un EDIT ? EmptyJeu 11 Sep 2014 - 21:05

Voici ton code avec la fonction NUMERIC(V$)
Code:
' Contrôle de saisie caractère par caractère d'un objet EDIT

' but : exclure les caractères non autorisés
'     : substituer le point par une virgule


label controle_saisie

dim a$ : ' dernier caractère frappé
dim L : ' nombre de caractères saisis

' ------------------ programme principal ---------------------------------
edit 1
left 1, 100
top 1, 100
on_change 1 , controle_saisie

end

' ------------------------------------------------------------------------
controle_saisie:

  a$=text$(1)
  if numeric(a$)=0 then message "Attendu: valeur numérique" : text 1,""

return

A+
Revenir en haut Aller en bas
Contenu sponsorisé





comment contrôler la saisie d'un EDIT ? Empty
MessageSujet: Re: comment contrôler la saisie d'un EDIT ?   comment contrôler la saisie d'un EDIT ? Empty

Revenir en haut Aller en bas
 
comment contrôler la saisie d'un EDIT ?
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Comment terminer une saisie dans un objet par entrée
» contrôler contenu d'un edit
» Saisie de texte
» Objet EDIT avec saisie filtrée
» saisie de texte

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: