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
» demande explication KGF pour imprimer en mm
EDIT accepté par return et clic Emptypar JL35 Hier à 17:28

» Petit passage furtif
EDIT accepté par return et clic Emptypar Froggy One Mer 27 Mar 2024 - 14:26

» SPIN et aide langage (résolu)
EDIT accepté par return et clic Emptypar leclode Sam 23 Mar 2024 - 15:20

» Aide-mémoire des mots-clés Panoramic
EDIT accepté par return et clic Emptypar papydall Mer 20 Mar 2024 - 21:23

» Je ne comprend pas pourquoi la largeur de la scene 3d change
EDIT accepté par return et clic Emptypar Marc Mar 12 Mar 2024 - 20:06

» Comment télécharger panoramic?
EDIT accepté par return et clic Emptypar lepetitmarocain Sam 9 Mar 2024 - 13:31

» @lepetitmarocain <==> KGFGrid
EDIT accepté par return et clic Emptypar Klaus Dim 3 Mar 2024 - 9:59

» Tangram-Toukaré
EDIT accepté par return et clic Emptypar jjn4 Mer 28 Fév 2024 - 18:12

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
EDIT accepté par return et clic Emptypar jjn4 Mer 28 Fév 2024 - 18:09

» KGF_dll - nouvelles versions
EDIT accepté par return et clic Emptypar Klaus Mer 28 Fév 2024 - 17:01

» Mes souhaits d'amélioration de Panoramic.
EDIT accepté par return et clic Emptypar Pedro Lun 26 Fév 2024 - 18:12

» Testez-votre-QI
EDIT accepté par return et clic Emptypar jjn4 Dim 25 Fév 2024 - 17:12

» Utilisation d'Élip
EDIT accepté par return et clic Emptypar jjn4 Sam 24 Fév 2024 - 18:33

» Récapitulatif ludothèque panoramic jjn4
EDIT accepté par return et clic Emptypar jjn4 Sam 24 Fév 2024 - 18:11

» Générateur de mots de passe
EDIT accepté par return et clic Emptypar mindstorm Mar 20 Fév 2024 - 20:09

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mars 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031
CalendrierCalendrier
-34%
Le deal à ne pas rater :
-34% LG OLED55B3 – TV OLED 4K 55″ 2023 – 100Hz HDR 10+, ...
919 € 1399 €
Voir le deal

 

 EDIT accepté par return et clic

Aller en bas 
2 participants
AuteurMessage
Invité
Invité




EDIT accepté par return et clic Empty
MessageSujet: EDIT accepté par return et clic   EDIT accepté par return et clic EmptyDim 27 Sep 2009 - 20:06

Vous allez certainement penser que l'on tourne en rond. Mais voila le problème.
J'avais publié un petit programme qui permettais de prendre un texte avec EDIT dans une forme supplémentaire, je le pensais résolu, vu que chez moi, cela marche dans mon programme. Quand à EEEPC qui lui n'accepte pas SCANCODE, j'ai rajouté un délai avec wait 200 qui se répète x fois, le temps de rentrer un texte entre chaque wait. Cela ne se vois pas lors de la frappe, mais après une quinzaine de secondes, je rendais la main au programme, on aurait pu croire qu'après un <RETURN> du clavier, la donnée était accepté.
En voyant que sur le forum, le problème semble toujours présent, j'ai fais un petit programme pour voir se qu'il en ait.
Code:
dim flag%,a$,prompt%,stylo,stylo$,scan%  ,a
label prompt ,texte,nombre ,desact

prompt%=10 :rem variable pour inclure dans un programme en ne modifiant que celle-ci

rem ______________FORM POUR CLAVIER____________________________________________
REM appel par: flag%=0 pour texte, 1 pour valeur et gosub prompt

'        FORME

alpha prompt%:left prompt%,100:top prompt%,1
  width  prompt%,298 :height prompt%,118:color prompt%,232,233,218
  caption prompt%,"entrez votre texte"

edit prompt%+1:top prompt%+1,30:left prompt%+1,100:width prompt%+1,280
 font_size prompt%+1,12:font_bold prompt%+1:color prompt%+1,232,233,218

button 2:left 2,200:caption 2,"texte": on_click 2,texte:  on_click 0,prompt
button 3:left 3,280:caption 3,"nombre":on_click 3,nombre

rem 1èr essai par programme, cela fonctionne, si on refait une 2ème fois, non
gosub desact
flag%=0:gosub prompt


end

texte:
flag%=0:gosub desact:gosub prompt:return
nombre:
flag%=1:gosub desact:gosub prompt:return

rem -------------sous programme clavier----------------------------------------
prompt:
  set_focus prompt%+1
  text prompt%+1 ,""
  repeat : scan%=scancode : until scan%=13 :stylo$=text$(prompt%+1)
  if numeric(stylo$)=1
      stylo=val(stylo$)
  else
      stylo=0
      if flag%=1
        text prompt%+1,"Erreur, on entre une valeur S.V.P."
        color prompt%+1,255,0,0:font_color prompt%+1,255,255,255
        wait 2000 :color prompt%+1,232,233,218:font_color prompt%+1,0,0,0:text prompt%+1,""
        goto prompt
      end_if
  end_if
  text prompt%+1,""
    print stylo$
    active 2:active 3
  return
rem ------------------fin clavier----------------------------------------------

desact:
inactive 2:inactive 3 :return
En modifiant constamment le programme, j'ai constaté ceci:
En appelant 1 fois au départ, le retour chariot est accepté. Après impossible
Si je clique sur la forme, celà redevient opérationnel. Un clique est toujours nécessaire avant pour que cela fonctionne, soit sur la forme, soit sur un bouton (pas l'edit). Fais l'essai, tu verras.
Peut-être pourras tu discerner plus facilement le problème, et enfin en terminer avec ces répétition sur le forum.
Merci d'avance
N'hésite pas à me remettre en place si c'est moi qui n'ai rien compris.

Je rajoute une chose que j'ai remarqué depuis:
Dans mon exemple, je peux lorsque je me rebranche à prompt pour une valeur numérique, tel que le programme le montre, cela marche.
Mais si je veux me rebrancher en rajoutant par exemple après le dernier end_if, avec par exemple:
Code:
a=a+1:if a<5 then goto prompt
cela ne marche plus. Incompréhensible!

Je pense que avant de rajouter tout nouvelle objet et commande, il faut faire en sorte que cela fonctionne. La rentrée de donnée dans un ordinateur par l'intermédiaire d'un programme est le coeur même de la programmation, et il faut que cela fonctionne. Dans mon propre programme en cour, pas de problème, mais cela dépent de ce que l'on fait, et comment on doit le présenter. (curieux c'est pas la même police?et la même hauteur!)
A+
Revenir en haut Aller en bas
Jean Claude

Jean Claude


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

EDIT accepté par return et clic Empty
MessageSujet: Re: EDIT accepté par return et clic   EDIT accepté par return et clic EmptyLun 28 Sep 2009 - 8:33

Toujours le même problème,

Personnellement j'ai repris le petit bouton "OK" à coté de l'EDIT car je suis sur un nouveau projet et je ne veus plus perdre de temps à essayer de terminer la saisie dun EDIT par un Entée. Je le répète une derniere fois, l'idéal serait que l'objet EDIT puisse accepter Entrée comme si c'était un click ou avoir une commande supplémentaire (on_enter). Je ne sais pas si c'est possible, attendons.

Je passe à autre chose.
A+
Revenir en haut Aller en bas
Invité
Invité




EDIT accepté par return et clic Empty
MessageSujet: Re: EDIT accepté par return et clic   EDIT accepté par return et clic EmptyLun 28 Sep 2009 - 8:39

Il faudra bien que ce problème soit résolu un jour, et le plus tôt sera le mieux.
Cela fait tache sur le forum, de revoir toujours ce problème, et celui qui voit ça pour la 1ère fois, n'a pas envie d'aller au delà.
A+
Revenir en haut Aller en bas
Jack
Admin
Jack


Nombre de messages : 2381
Date d'inscription : 28/05/2007

EDIT accepté par return et clic Empty
MessageSujet: Re: EDIT accepté par return et clic   EDIT accepté par return et clic EmptyLun 28 Sep 2009 - 9:41

Je n'ai pas suivi les autres discussions sur le sujet, faute de temps libre, mais je le ferai soyez-en sûr.
J'interviens ici car je ne trouve rien d'anormal.

Citation :
En appelant 1 fois au départ, le retour chariot est accepté. Après impossible
Bien sûr, puisque tu ne fais qu'une fois gosub prompt.

gosub prompt -> appel de prompt, qui se termine quand RETURN est tapé (until scan%=13)
on reviens au programme principal, puis on exécute un end.
Il ne se passe alors plus rien, et c'est tout à fait normal. Il faudrait rappeler à nouveau prompt puisque c'est ce sous-programme qui teste la frappe de RETURN.

Citation :
Si je clique sur la forme, celà redevient opérationnel. Un clique est toujours nécessaire avant pour que cela fonctionne, soit sur la forme, soit sur un bouton
Forcément, puis que tu as programmé une exécution de prompt quand on clique:
- sur la forme (objet n°0): on_click 0,prompt

- ou sur le bouton 2: on_click 2,texte (puis texte appelle prompt)

- ou sur le bouton 3: on_click 3,nombre (puis nombre appelle prompt)

Citation :
Je le répète une derniere fois, l'idéal serait que l'objet EDIT puisse accepter Entrée comme si c'était un click ou avoir une commande supplémentaire (on_enter).
Si le problème, c'est de tester la frappe d'un RETURN sur un EDIT, il est difficile de le faire dans l'état actuel.

Je vais étudier le traitement de l'événement par une commande genre ON_KEY sur un objet.
Cet événement se déclenchera lors de la frappe d'une touche au clavier.

L'utilisation serait comme ON_CLICK ou ON_CHANGE sur un objet N (un EDIT par exemple), avec 2 variables système:
KEY_VALUE donnant le code de la touche tapée
KEY_SPECIAL donnant l'état des touches SHIFT, CONTROL, ALT (enfoncées ou non)

Code:
label traite
edit 1
on_key 1,taite
end

traite:
if KEY_VALUE=13 then - - -
return
Revenir en haut Aller en bas
https://panoramic.1fr1.net
Invité
Invité




EDIT accepté par return et clic Empty
MessageSujet: Re: EDIT accepté par return et clic   EDIT accepté par return et clic EmptyLun 28 Sep 2009 - 10:45

Je suis désolé de ne pas être d'accord avec toi, la preuve en est, que continuellement on revient sur le sujet. Il est évident que t'elle que je le présente, cela fonctionne, mais je ne peut pas faire une vingtaine de présentation de programme sur ce code. Essaye de faire plusieurs fois avant le END, le même appel à prompt. Normalement cela devrait fonctionner. Je reprends une partie du code
Code:

gosub desact:gosub prompt
gosub desact:gosub prompt
gosub desact:gosub prompt

end
La 1ère fois ça marche, les appels suivants ne marchent pas
De même, et la c'est curieux
Code:
  text prompt%+1,""
    print stylo$
    active 2:active 3
    a=a+1:if a<3 then goto prompt :REM TU RAJOUTE CETTE SIMPLE LIGNE
  return
Tu rajoute cette ligne: a=a+1:if a<3 then goto prompt, à la fin dans le programme.
Pourquoi cela ne marche plus. Si il n'y avait pas de problème, on ne reviendrait pas sur le sujet.
Désolé de te faire perdre du temps
A+
Je n'avais pas lu la fin de ton explication, donc je vois que tu t'en préoccupe. Merci
A+
Je reprends l'édition une nouvelle fois pour te dire ce qui me surprends, c'est le fait que 2/3 lignes plus haut, avec goto prompt, cela fonctionne, et après le END_IF, le même goto prompt ne marche plus.
A+


Dernière édition par cosmos70 le Lun 28 Sep 2009 - 11:08, édité 1 fois
Revenir en haut Aller en bas
Jean Claude

Jean Claude


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

EDIT accepté par return et clic Empty
MessageSujet: Re: EDIT accepté par return et clic   EDIT accepté par return et clic EmptyLun 28 Sep 2009 - 10:54

Citation :
Si le problème, c'est de tester la frappe d'un RETURN sur un EDIT, il est difficile de le faire dans l'état actuel.

Oui c'est bien çà le problème. La solution que tu proposes est exactement ce qu'il nous faut.

A+
Revenir en haut Aller en bas
Invité
Invité




EDIT accepté par return et clic Empty
MessageSujet: Re: EDIT accepté par return et clic   EDIT accepté par return et clic EmptyLun 28 Sep 2009 - 12:20

Jean Claude, pour mon programme j'ai fais cela, dès fois que cela te rends service:
Code:

prompt:
  show prompt%:set_focus prompt%+3:text prompt%+2,clavier$:text prompt%+3 ,""
  t=0:repeat : scan%=scancode:wait 200:t=t+1 : until scan%=13 or t=50:stylo$=text$(prompt%+3)
  if numeric(stylo$)=1
      stylo=val(stylo$)
  else
      stylo=0
      if flag%=1
        text prompt%+2,"Erreur, on entre une valeur S.V.P."
        color prompt%+2,255,0,0:font_color prompt%+2,255,255,255
        wait 2000 :color prompt%+2,244,235,192:font_color prompt%+2,255,0,0:text prompt%+2,titr$
        goto prompt
      end_if
  end_if
  hide prompt%
  return
rem ------------------fin clavier----------------------------------------------
J'ai rajouté un temps qui redonne la main, ici environ 15 secondes. Il suffit de modifier t=50 pour modifier le délai. Ici cela laisse environ 15 secondes pour rentrer une donnée, même si< return > ne fonctionne pas, après l'appui, le programme continu, et tu as l'impression d'un délai "d'arrière fond". Ceci c'était pour mon portable, vu que l'appel se fait chez-moi à partir d'un combo, donc d'un clic et fonctionne sur le pc bureau.
Si tu comprends bien pour un autre codage (une autre façon de faire appel à EDIT), il y a wait 200, cela permet d'écrire dans un EDIT, t: compte le nb de fois qu'il va dans la boucle, et ici à 50, sort de celle-ci. On ne sait pas, dès fois que cela puisse aider quelqu'un.
A+
Revenir en haut Aller en bas
Jack
Admin
Jack


Nombre de messages : 2381
Date d'inscription : 28/05/2007

EDIT accepté par return et clic Empty
MessageSujet: Re: EDIT accepté par return et clic   EDIT accepté par return et clic EmptyLun 28 Sep 2009 - 14:37

@cosmos70

J'ai compris ce qui se passe: c'est scancode qui ne fonctionne pas.

Si on ajoute des lignes gosub prompt avant le end, on a l'impression que rien ne se passe, car à chaque fois qu'on exécute prompt, le code rendu par scancode est 13

scancode donne le code de la dernière touche frappée, donc le RETURN de tes essais précédents, et non pas le code de la touche actuellement pressée comme le dit la documentation.

Pour étudier ton problème, j'ai simplifié ton code dans le code suivant. A l'exécution, le contenu de l'EDIT n'est imprimé qu'une seule fois car à chaque appel ultérieur de prompt, scancode retourne le code de la dernière touche tapée (même si elle avait été tapée il y a plusieurs heures...) soit 13 ici.

Code:
dim s%

label prompt

edit 1
left 1,100

print "appel 1":gosub prompt
print "appel 2":gosub prompt
print "appel 3":gosub prompt
print "appel 4":gosub prompt

end

prompt:
set_focus 1
text 1,""
repeat:s%=scancode:until s%=13
if s%=13 then print "scancode=13"
print text$(1)
return

Je regarde SCANCODE pour le faire fonctionner conformément à la documentation.
Revenir en haut Aller en bas
https://panoramic.1fr1.net
Invité
Invité




EDIT accepté par return et clic Empty
MessageSujet: Re: EDIT accepté par return et clic   EDIT accepté par return et clic EmptyLun 28 Sep 2009 - 16:26

Merci beaucoup, je savais que tu était très fort.
Bon travail
A+
Revenir en haut Aller en bas
Contenu sponsorisé





EDIT accepté par return et clic Empty
MessageSujet: Re: EDIT accepté par return et clic   EDIT accepté par return et clic Empty

Revenir en haut Aller en bas
 
EDIT accepté par return et clic
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Gestion du Simple clic et du Double clic
» Return vergessen
» Problème avec la commande 'return'.
» réflexion sur return dans un memo
» input a$ n'accepte pas les caractères -/:,?.;space etc....

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Un problème avec PANORAMIC?-
Sauter vers: