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 :
Réassort du coffret Pokémon 151 ...
Voir le deal

descriptionL' utilisation de l'IHM table EmptyL' utilisation de l'IHM table

more_horiz
Bonsoir,

Je tente d’utiliser le composant IHM table en « recyclant » l’exemple de démonstration des IHM.

Cependant, je n’obtiens pas l’affichage complet de la table.

D'avance Merci, pour votre aide.

Voici, le livre :
<
CODE>

/*xxx
Spécification : 2.2.0
Auteur : pat
*/

bibliothèque
espèces
globale
form est un formulaire, titre vaut "xxx", largeur vaut 800, hauteur vaut 600
panneau_table est un panneau
table est un table, x vaut 10, y vaut 10,hauteur vaut 400 , largeur vaut 600
b_table est un bouton, texte vaut "Afficher la table", x vaut 500, y vaut 230
b_ajouter est un bouton, texte vaut "Ajouter une ligne", x vaut 500, y vaut 250
boite_table est un boite, x vaut 100, y vaut 400, largeur vaut 400, hauteur vaut 200
colonnes est un casier de texte <
- "Prénom", "Nom", "Âge"
ligne <
- 3

principale :
souffleurs
début
ajoute table dans panneau_table
ajoute panneau_table & boite_table & b_ajouter & b_table dans form
projette form
fais réagir b_table à "clic souris" pour afficher table
fais réagir b_ajouter à "clic souris" pour ajouter ligne
évoque table.colonnes (colonnes)
pour chaque ligne, _ table.ajouterligne()
évoque table.valeur(0,0,"Gilbert")
évoque table.valeur(0,1,"Dupond")
évoque table.valeur(0,2,35)
évoque table.valeur(1,0,"Robert")
évoque table.valeur(1,1,"Dupont")
évoque table.valeur(1,2,43)
évoque table.valeur(2,0,"Hugo")
évoque table.valeur(2,1,"Dupons")
évoque table.valeur(2,2,29)
pour chaque ligne, lis
c <
- joker
pour chaque 3, lis
évoque table.écriture(c,joker,vrai)
ferme
ferme
projette form
attends 7 secondes

afficher table :
*b est un bouton
contenu est un texte
début
pour chaque ligne, lis
contenu vaut contenu + table.retournevaleur(joker,0) + " " + table.retournevaleur(joker,1) + " à " +
table.retournevaleur(joker,2) + " ans"
contenu vaut contenu + chr 13 + chr 10
ferme
texte @ boite_table vaut contenu
reviens

ajouter ligne :
*b est un bouton
début
évoque table.ajouterligne()
incrémente ligne
évoque table.valeur(ligne-1,0,"")
évoque table.valeur(ligne-1,1,"")
évoque table.valeur(ligne-1,2,0)
évoque table.écriture(ligne-1,0,vrai)
évoque table.écriture(ligne-1,1,vrai)
évoque table.écriture(ligne-1,2,vrai)
reviens
<
/CODE>

descriptionL' utilisation de l'IHM table EmptyRE: L' utilisation de l'IHM table

more_horiz
Bonjour Pat,

Le tableau est dans un "panneau". Etant donné que le panneau n'avait pas de dimension, il s'affichait avec une taille par défaut.

Voici l'exemple corrigé :

Code:


/*xxx
Spécification :
2.
2.
0
Auteur :
pat
*/

bibliothèque
espèces
globale
form est un formulaire, titre vaut "xxx", largeur vaut 800, hauteur vaut 600
// J'ai ajouté les dimensions au panneau :

panneau_table est un panneau, hauteur vaut 250 , largeur vaut 350, couleurfond vaut "rose"
table est un table, x vaut 10, y vaut 10,hauteur vaut 200 , largeur vaut 300
b_table est un bouton, texte vaut "Afficher la table", x vaut 500, y vaut 230
b_ajouter est un bouton, texte vaut "Ajouter une ligne", x vaut 500, y vaut 250
boite_table est un boite, x vaut 100, y vaut 400, largeur vaut 400, hauteur vaut 200
colonnes est un casier de texte <
- "Prénom", "Nom", "Âge"
ligne <
- 3

principale :

souffleurs
début
ajoute table dans panneau_table
ajoute panneau_table & boite_table & b_ajouter & b_table dans form
projette form
fais réagir b_table à "clic souris" pour afficher table
fais réagir b_ajouter à "clic souris" pour ajouter ligne
évoque table.
colonnes (colonnes)
pour chaque ligne, _ table.
ajouterligne()
évoque table.
valeur(0,0,"Gilbert")
évoque table.
valeur(0,1,"Dupond")
évoque table.
valeur(0,2,35)
évoque table.
valeur(1,0,"Robert")
évoque table.
valeur(1,1,"Dupont")
évoque table.
valeur(1,2,43)
évoque table.
valeur(2,0,"Hugo")
évoque table.
valeur(2,1,"Dupons")
évoque table.
valeur(2,2,29)
pour chaque ligne, lis
c <
- joker
pour chaque 3, lis
évoque table.
écriture(c,joker,vrai)
ferme
ferme
projette form
attends 7 secondes

afficher table :

*b est un bouton
contenu est un texte
début
pour chaque ligne, lis
contenu vaut contenu + table.
retournevaleur(joker,0) + " " + table.
retournevaleur(joker,1) + " à " +
table.
retournevaleur(joker,2) + " ans"
contenu vaut contenu + chr 13 + chr 10
ferme
texte @ boite_table vaut contenu
reviens

ajouter ligne :

*b est un bouton
début
évoque table.
ajouterligne()
incrémente ligne
évoque table.
valeur(ligne-1,0,"")
évoque table.
valeur(ligne-1,1,"")
évoque table.
valeur(ligne-1,2,0)
évoque table.
écriture(ligne-1,0,vrai)
évoque table.
écriture(ligne-1,1,vrai)
évoque table.
écriture(ligne-1,2,vrai)
reviens



Si tu n'as pas besoin du panneau, tu peux le supprimer

descriptionL' utilisation de l'IHM table EmptyRE: L' utilisation de l'IHM table

more_horiz
Dans l’exemple suivant comment éviter que la variable som soit remise à zéro à chaque itération ?
D’avance merci.
lire element :
i & a & som est un nombre
j <
- 1
début
Pour i de 0 à nblig+2 , lis
a <
- table.retournevaleur(i,j)
som <
- som+a
ferme
affiche som
reviens

descriptionL' utilisation de l'IHM table EmptyRE: L' utilisation de l'IHM table

more_horiz
Voici la correction :

[php]
lire element :
i & a & som est un nombre
j <
- 1
début
Pour i de 0 à nblig+2 , lis
a vaut table.retournevaleur(i,j)
som vaut som+a
ferme
affiche som
reviens
[/php]

L'utilisation de <
- indique la création d'un acteur.[/quote]

descriptionL' utilisation de l'IHM table EmptyRe: L' utilisation de l'IHM table

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