Programmer avec le langage Linotte

Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Programmer avec le langage Linotte

Besoin d'un conseil sur la programmation en Linotte ?

Le deal à ne pas rater :
Disque SSD Interne – SAMSUNG – 870 QVO – 1To – 2,5″
69.99 €
Voir le deal

2 participants

Bogue greffon clavier ?

avatar
Wam
Senior Member


Messages : 585
Date d'inscription : 2012-01-11

Bogue greffon clavier ? Empty Bogue greffon clavier ?

Message par Wam Thu 6 Sep - 14:13

J'ai un bogue dans mon programme avec le greffon clavier mais je n'arrive pas à le reproduire.
En effet, à l'ouverture de mon programme le greffon clavier fonctionne normalement.
Mais si je charge une sauvegarde dans mon programme, il ne fonctionne plus du tout.
L'appui sur les touches du clavier n'a alors aucun effet.

[php]
Sélectionner :
*tile_sélection :: mongraphique
num_x :: nombre
num_y :: nombre
numéro_case_grille4 :: nombre
début
"sélection" !
Si (numéro_case de tile_sélection) != -5, lis
index_copie_casier_tiles2 = index_copie_casier_tiles de tile_sélection
sélection_on = vrai
Vide les touches
va vers Attente_clavier
ferme

Attente_clavier :
clavier :: clavier
début
évoque clavier.commencer()
tant que vrai, lis
attends 100 millisecondes
parcours Actions avec clavier.touches(), clavier
ferme

Actions :
*liste :: casier de nombre
*clavier :: clavier
indice :: nombre
début
"Actions" !
si liste est non vide, lis
"test" !
pour chaque liste, lis
Si joker == "Retour arrière", lis
évoque clavier.stop()
Va vers Edition_supprimer
ferme
Si joker == "Droite", lis
si indice_horizontal <
(nombre_case_largeur - nombre_case_largeur_effectif), lis
déplace cadre vers la droite de taille_largeur_case
incrémente indice_horizontal
évoque clavier.stop()
va vers Affichage_quadrillage
ferme
ferme
Sinon si joker == "Gauche", lis
si indice_horizontal >
0, lis
déplace cadre vers la gauche de taille_largeur_case
décrémente indice_horizontal
évoque clavier.stop()
va vers Affichage_quadrillage
ferme
ferme
Sinon si joker == "Haut", lis
si indice_vertical >
0, lis
déplace cadre vers le haut de taille_hauteur_case
décrémente indice_vertical
évoque clavier.stop()
va vers Affichage_quadrillage
ferme
ferme
Sinon si joker == "Bas", lis
si indice_vertical <
(nombre_case_hauteur - nombre_case_hauteur_effectif), lis
déplace cadre vers le bas de taille_hauteur_case
incrémente indice_vertical
évoque clavier.stop()
va vers Affichage_quadrillage
ferme
ferme
ferme
ferme
Reviens
[/php]

Par exemple, si ma fonction "sélectionner" est activée, le mot "sélection" s'affiche sur le tableau de l'atelier.
Ma fonction "Attente_clavier" s'active.
Le mot "Actions" s'affiche sur le tableau de l'atelier.
Pourtant, le mot "test" ne va jamais s'afficher sur le tableau.

Or, au démarrage de mon logiciel, le greffon clavier fonctionne normalement.
Mais si je charge une sauvegarde, il ne fonctionne plus, bien que la sauvegarde n'ai aucun lien avec les fonctions "Sélectionner", "Attente_clavier" ou "Actions"...
admincpc
admincpc
Site Admin


Messages : 1048
Date d'inscription : 2011-11-03

Bogue greffon clavier ? Empty RE: Bogue greffon clavier ?

Message par admincpc Thu 6 Sep - 14:52

Merci pour cette remontée de bogue, je vais regarder pourquoi ça arrive.
admincpc
admincpc
Site Admin


Messages : 1048
Date d'inscription : 2011-11-03

Bogue greffon clavier ? Empty RE: Bogue greffon clavier ?

Message par admincpc Fri 7 Sep - 12:20

Et si tu ajoutes cette trace :

[php]
Attente_clavier :
clavier :: clavier
début
évoque clavier.commencer()
tant que vrai, lis
attends 100 millisecondes
parcours Actions avec clavier.touches(), clavier
Affiche "je passe par là !"
ferme
[/php]

ça donne quoi ?
avatar
Wam
Senior Member


Messages : 585
Date d'inscription : 2012-01-11

Bogue greffon clavier ? Empty RE: Bogue greffon clavier ?

Message par Wam Sat 8 Sep - 14:57

il affiche bien "je passe par là" toutes les 100 millisecondes.
admincpc
admincpc
Site Admin


Messages : 1048
Date d'inscription : 2011-11-03

Bogue greffon clavier ? Empty RE: Bogue greffon clavier ?

Message par admincpc Mon 17 Sep - 14:17

Est-ce que le non fonctionnement du greffon Clavier n'intervient pas dés que tu utilises les fonctions sélectionneretouvrir() ou séléctionneretenregistrer() du conduit ?

Je n'arrive pas à reproduire ton problème....
avatar
Wam
Senior Member


Messages : 585
Date d'inscription : 2012-01-11

Bogue greffon clavier ? Empty RE: Bogue greffon clavier ?

Message par Wam Tue 18 Sep - 13:50

J'ouvre l'atelier.
Je lance mon programme.
Puis je charge un tileset, je dessine un quadrillage et je drag§drop des tiles dans mon quadrillage :
le scrolling fonctionne.
Si ensuite j'utilise les fonctions sélectionneretenregistrer() :
le scrolling fonctionne toujours.
Si j'utilise la fonction sélectionneretouvrir() pour ouvrir ma sauvegarde :
le scrolling fonctionne.

Le problème intervient quand :
J'ouvre l'atelier.
Je lance mon programme.
J'utilise la fonction sélectionneretouvrir() pour ouvrir ma sauvegarde :
là le scrolling ne marche pas...
admincpc
admincpc
Site Admin


Messages : 1048
Date d'inscription : 2011-11-03

Bogue greffon clavier ? Empty RE: Bogue greffon clavier ?

Message par admincpc Tue 18 Sep - 14:17

ok, interessant...

Dans le deuxième cas, tu n'as pas touché à la toile avant d'appeler la fonction sélectionneretouvrir().

La toile est-elle affichée au moment où tu appelles cette méthode ?
admincpc
admincpc
Site Admin


Messages : 1048
Date d'inscription : 2011-11-03

Bogue greffon clavier ? Empty RE: Bogue greffon clavier ?

Message par admincpc Tue 18 Sep - 14:24

Afin de tester si c'est un problème de perte du focus de la toile.
Peux-tu télécharger le greffon de tests que j'ai attaché au post. De remplacer celui que tu as sur ton disque (<
Répertoire Personel>
/.linotte/greffons)

Et d'ajouter un appel à la méthode clavier.focustoile() au moment où tu veux utiliser ta toile ?
avatar
Wam
Senior Member


Messages : 585
Date d'inscription : 2012-01-11

Bogue greffon clavier ? Empty RE: Bogue greffon clavier ?

Message par Wam Tue 18 Sep - 15:28

Je n'ai pas de fichier "Clavier.zgl" dans mon dossier Linotte/greffons.
J'y ai donc ajouté ton greffon "Clavier.zgl".
J'ai également ajouté dans mon code ceci :
[php]
évoque clavier.focustoile()
[/php]

Et voici ce qui s'affiche sur le tableau :
La méthode fonctionnelle est inconnue : focustoile
admincpc
admincpc
Site Admin


Messages : 1048
Date d'inscription : 2011-11-03

Bogue greffon clavier ? Empty RE: Bogue greffon clavier ?

Message par admincpc Tue 18 Sep - 15:45

Non, regarde dans ton répertoire personnel sous Windows

Un truc comme ça :
C:\Documents and Settings\Wam\.linotte\greffons

Les greffons téléchargés vont dans ce répertoire car je suis sur d'avoir les droits d'écriture pour y stocker les nouveaux greffons.
avatar
Wam
Senior Member


Messages : 585
Date d'inscription : 2012-01-11

Bogue greffon clavier ? Empty RE: Bogue greffon clavier ?

Message par Wam Tue 18 Sep - 17:16

En faisant ceci avec ton greffon "Clavier.zgl" :
[php]
Attente_clavier :
clavier :: clavier
début
évoque clavier.commencer()
évoque clavier.focustoile()
tant que vrai, lis
attends 100 millisecondes
parcours Actions avec clavier.touches(), clavier
ferme
[/php]

Sa fonctionne x)
admincpc
admincpc
Site Admin


Messages : 1048
Date d'inscription : 2011-11-03

Bogue greffon clavier ? Empty RE: Bogue greffon clavier ?

Message par admincpc Tue 18 Sep - 17:48

Bonne nouvelle.

Par contre, je ne vais pas laisser focustoile au greffon clavier.

Les problèmes liés au focus peuvent arriver dans d'autres contextes.

Je vais plutôt ajouter un nouveau verbe comme par exemple :
[php]
Activer toile
[/php]

Je vais y réfléchir...
avatar
Wam
Senior Member


Messages : 585
Date d'inscription : 2012-01-11

Bogue greffon clavier ? Empty RE: Bogue greffon clavier ?

Message par Wam Tue 18 Sep - 19:59

Attention,
Depuis l'utilisation de ce nouveau greffon, le clavier réagit parfois comme si la touche restait enfoncée.
Je m'explique :
J'appuie sur la touche "flèche droite" de mon clavier et mon quadrillage se déplace d'une case vers la droite.
Mais parfois, mon quadrillage se déplace indéfiniment vers la droite, comme si je maintenait la touche "flèche droite" de mon clavier enfoncée.
admincpc
admincpc
Site Admin


Messages : 1048
Date d'inscription : 2011-11-03

Bogue greffon clavier ? Empty RE: Bogue greffon clavier ?

Message par admincpc Wed 19 Sep - 9:59

Ah !
J'ai effectué la correction à partir d'une mauvaise version...
je corrige ça !
Désolé !:s
admincpc
admincpc
Site Admin


Messages : 1048
Date d'inscription : 2011-11-03

Bogue greffon clavier ? Empty RE: Bogue greffon clavier ?

Message par admincpc Wed 19 Sep - 10:36

voici un version corrigée.

Contenu sponsorisé


Bogue greffon clavier ? Empty Re: Bogue greffon clavier ?

Message par Contenu sponsorisé


    La date/heure actuelle est Sat 27 Nov - 5:47