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
» Gestion d'un système client-serveur.
comment contrôler la saisie d'un EDIT ? Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
comment contrôler la saisie d'un EDIT ? Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
comment contrôler la saisie d'un EDIT ? Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
comment contrôler la saisie d'un EDIT ? Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
comment contrôler la saisie d'un EDIT ? Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
comment contrôler la saisie d'un EDIT ? Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
comment contrôler la saisie d'un EDIT ? Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
comment contrôler la saisie d'un EDIT ? Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
comment contrôler la saisie d'un EDIT ? Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
comment contrôler la saisie d'un EDIT ? Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
comment contrôler la saisie d'un EDIT ? Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
comment contrôler la saisie d'un EDIT ? Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
comment contrôler la saisie d'un EDIT ? Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
comment contrôler la saisie d'un EDIT ? Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
comment contrôler la saisie d'un EDIT ? Emptypar Jack Mar 30 Avr 2024 - 20:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment : -21%
LEGO® Icons 10329 Les Plantes Miniatures, ...
Voir le deal
39.59 €

 

 comment contrôler la saisie d'un EDIT ?

Aller en bas 
3 participants
AuteurMessage
Marc

Marc


Nombre de messages : 2397
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 : 12301
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 : 69
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 : 2397
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 : 69
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 : 69
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: