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 LinotteConnexion

Besoin d'un conseil sur la programmation en Linotte ?

Le Deal du moment : -17%
SSD interne Crucial SSD P3 1To NVME à ...
Voir le deal
49.99 €

descriptionBogue des listes EmptyBogue des listes

more_horiz
Lorsque l'on sélectionne un élément d'une liste, il s'enclenche 2 fois :

[php]
Globale
fenêtre est un formulaire, hauteur vaut 150, largeur vaut 350, titre vaut "Ma première fenêtre"
b1 est un bouton, visible vaut "oui", x vaut 255, y vaut 100, texte vaut "Push !"
phrase est une étiquette, visible vaut "oui", x vaut 20, y vaut 10, texte vaut "Bonjour et bienvenue !"
test est un xtableau, visible vaut "oui", x vaut 20, y vaut 30, hauteur vaut 50, largeur vaut 300
choix :: liste, valeurs vaut "Rouge|Vert|Bleu", visible vaut "oui", x vaut 100, y vaut 100

Principal :
début
Ajoute b1 & phrase & test & choix dans fenêtre
Fais réagir choix à "clic souris" pour Envoyer
Fais réagir fenêtre à "clic souris" pour Quitter

// Boucle infinie
Tant que vrai, temporise

Envoyer :
début
Affiche valeur de choix
Reviens

Quitter :
début
Termine
[/php]

Et si on prend cet exemple :

[php]
Globale
fenêtre est un formulaire, hauteur vaut 150, largeur vaut 350, titre vaut "Ma première fenêtre"
b1 est un bouton, visible vaut "oui", x vaut 255, y vaut 100, texte vaut "Push !"
phrase est une étiquette, visible vaut "oui", x vaut 20, y vaut 10, texte vaut "Bonjour et bienvenue !"
test est un xtableau, visible vaut "oui", x vaut 20, y vaut 30, hauteur vaut 50, largeur vaut 300
choix est une liste, visible vaut "oui", x vaut 100, y vaut 100, valeurs vaut "Rouge|Vert|Bleu"

Principal :
couleurs est un casier de textes valant "Jaune", "Violet", "Gris"
début
Ajoute b1 & phrase & test & choix dans fenêtre
Fais réagir choix à "clic souris" pour Envoyer
Fais réagir fenêtre à "clic souris" pour Quitter

Evoque choix.chargevaleurs(couleurs)

// Boucle infinie
Tant que vrai, temporise

Envoyer :
début
Affiche valeur de choix
Reviens

Quitter :
début
Termine
[/php]

Voici ce qui s'affiche :

[attachment=135]


Une remarque :

Dans mon premier exemple, on peut remplacer ceci

[php]
Affiche valeur de choix
[/php]

Par ceci :

[php]
Affiche choix.valeurs()
[/php]

Or, on pourrait s'attendre à ce que cette méthode fonctionnelle corresponde à l'attribut valeurs, et donc, affiche ceci : "Rouge|Vert|Bleu"

Ne devrait-on pas plutôt remplacer cette méthode fonctionnelle par ceci :

[php]
Affiche choix.valeur()
[/php]

?

descriptionBogue des listes EmptyRE: Bogue des listes

more_horiz
J'ai noté le premier bogue :
https://code.google.com/p/langagelinott ... ail?id=126

Pour la fonction : Affiche choix.valeurs()
Le nom est mal choisi.
elle retourne les valeurs sélectionnées. Je devrais l'appeler "valeurssélectionnées" ?

descriptionBogue des listes EmptyRE: Bogue des listes

more_horiz
Et je regarderais également le deuxième problème que tu as remonté :
https://code.google.com/p/langagelinott ... ail?id=127

Je suis bon pour une version 2.1.4 <img src=" title="Smile" />

descriptionBogue des listes EmptyRE: Bogue des listes

more_horiz
Depuis un moment, je voit fleurir des méthodes fonctionnelles un peu partout xD

Mais les méthodes fonctionnelles ne font-elles pas doublon vis-à-vis des attributs ?

Dans ma remarque précédente il semble plus facile d'écrire ceci :

[php]
Affiche valeur de choix
[/php]

Que ceci :

[php]
Affiche choix.valeurssélectionnées()
[/php]

Les attributs ne sont-ils pas plus simple à comprendre que les méthodes fonctionnelles ?

Dans cet exemple, quel est l'intérêt d'utiliser la méthode fonctionnelle .valeurssélectionnées() par rapport à l'attribut valeur ?



De même, en ce qui concerne l'espèce liste, est-il vraiment nécessaire d'avoir 2 méthodes fonctionnelles :
.sélectionunique()
.sélectionmultiple()

plutôt qu'un seul attribut "sélectionmultiple" qu'il suffirait de mettre à vrai ou à faux ?

descriptionBogue des listes EmptyRE: Bogue des listes

more_horiz
Oui, [php]Affiche valeur de choix [/php]

est plus simple que [php]Affiche choix.valeurssélectionnées() [/php]

Mais la deuxième forme permet de récupérer plusieurs valeurs alors que la première non.

descriptionBogue des listes EmptyRE: Bogue des listes

more_horiz
Hum...
Du coup, entre l'accumulation des attributs et des méthodes fonctionnelles, ça ne simplifie pas le langage ^^"

Un exemple que j'avais déjà évoqué :

On dispose de variables particulières minute et seconde mais également des méthodes fonctionnelles .seconde() et .minute()

Là encore, quelle est la différence ?

Et en revanche, pour les millisecondes, on dispose seulement d'une méthode fonctionnelle .milliseconde()...


Un autre exemple :

Les popups disposent de 4 méthodes fonctionnelles :
.message(texte)
.messageeticône(texte, texte)
.question(texte, casier)
.questioneticône(texte, casier, texte)

Il ne serait pas plus simple de proposer seulement :
.message(texte)
.question(texte, casier)

en leur ajoutant à chacune un attribut icône ?

descriptionBogue des listes EmptyRE: Bogue des listes

more_horiz
Oui, j'ai conscience que ça complique le langage mais c'est plus simple pour moi quand je veux ajouter une fonctionnalité :angel:

D'ailleurs, j'essaye d'en proposer de moins en moins sauf avec les greffons.

descriptionBogue des listes EmptyRE: Bogue des listes

more_horiz
Bonjour,

Dans cet exemple :

[php]
Globale
fenêtre est un formulaire, hauteur vaut 150, largeur vaut 350, titre vaut "Ma première fenêtre"
b1 est un bouton, visible vaut "oui", x vaut 255, y vaut 100, texte vaut "Push !"
phrase est une étiquette, visible vaut "oui", x vaut 20, y vaut 10, texte vaut "Bonjour et bienvenue !"
test est un xtableau, visible vaut "oui", x vaut 20, y vaut 30, hauteur vaut 50, largeur vaut 300
choix :: liste, valeurs vaut "Rouge|Vert|Bleu", visible vaut "oui", x vaut 100, y vaut 100

Principal :
début
Ajoute b1 & phrase & test & choix dans fenêtre
Fais réagir choix à "clic souris" pour Envoyer
Fais réagir fenêtre à "clic souris" pour Quitter

// Boucle infinie
Tant que vrai, temporise

Envoyer :
début
Affiche valeur de choix
Reviens

Quitter :
début
Termine
[/php]

Le premier élément de la liste est SÉLECTIONNÉ mais NE s'affiche PAS dans le xtableau.

Mais dans cet exemple :

[php]
Globale
fenêtre est un formulaire, hauteur vaut 150, largeur vaut 350, titre vaut "Ma première fenêtre"
b1 est un bouton, visible vaut "oui", x vaut 255, y vaut 100, texte vaut "Push !"
phrase est une étiquette, visible vaut "oui", x vaut 20, y vaut 10, texte vaut "Bonjour et bienvenue !"
test est un xtableau, visible vaut "oui", x vaut 20, y vaut 30, hauteur vaut 50, largeur vaut 300
choix est une liste, visible vaut "oui", x vaut 100, y vaut 100, valeurs vaut "Rouge|Vert|Bleu"

Principal :
couleurs est un casier de textes valant "Jaune", "Violet", "Gris"
début
Ajoute b1 & phrase & test & choix dans fenêtre
Fais réagir choix à "clic souris" pour Envoyer
Fais réagir fenêtre à "clic souris" pour Quitter

Evoque choix.chargevaleurs(couleurs)

// Boucle infinie
Tant que vrai, temporise

Envoyer :
début
Affiche valeur de choix
Reviens

Quitter :
début
Termine
[/php]

Le premier élément de la liste est SÉLECTIONNÉ ET s'affiche dans le xtableau.

Et dans cet exemple :

[php]
Globale
fenêtre est un formulaire, hauteur vaut 150, largeur vaut 350, titre vaut "Ma première fenêtre"
b1 est un bouton, visible vaut "oui", x vaut 255, y vaut 100, texte vaut "Push !"
phrase est une étiquette, visible vaut "oui", x vaut 20, y vaut 10, texte vaut "Bonjour et bienvenue !"
test est un xtableau, visible vaut "oui", x vaut 20, y vaut 30, hauteur vaut 50, largeur vaut 300
choix est une liste, visible vaut "oui", x vaut 100, y vaut 100, valeurs vaut ""

Principal :
début
Ajoute b1 & phrase & test & choix dans fenêtre
Fais réagir choix à "clic souris" pour Envoyer
Fais réagir fenêtre à "clic souris" pour Quitter

Pour chaque {"Jaune", "Violet", "Gris"}, évoque choix.ajoutervaleur(joker)

// Boucle infinie
Tant que vrai, temporise

Envoyer :
début
Affiche valeur de choix
Reviens

Quitter :
début
Termine
[/php]

Le premier élément de la liste est DÉSÉLECTIONNÉ et NE s'affiche PAS sur le xtableau. (C'est également valable pour la méthode fonctionnelle .ajoutervaleuretinfobulle(texte, texte) )

Peut-être serait-il préférable d'adopter le même comportement pour les 4 cas ?

descriptionBogue des listes EmptyRe: Bogue des listes

more_horiz
privacy_tip Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
power_settings_newSe connecter pour répondre