Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| demande d'aide pour formulaire | |
| | |
Auteur | Message |
---|
CT95
Nombre de messages : 16 Age : 73 Localisation : Castres Date d'inscription : 23/03/2008
| Sujet: demande d'aide pour formulaire Dim 23 Mar 2008 - 16:50 | |
| Bonjour à tous les "panoramix" J'ai réalisé un formulaire sous excel. Je souhaiterais transposer celui-ci dans panoramic lequel permettrait de rendre l'application exécutable. Je ne connais rien en programmation. Dans le formulaire que je souhaiterais créer, il y aurait 11 combo, 5 objets lesquels permettent de saisir des données, 3 liens vers internet, 3 boutons pour différentes impressions papier et moults calculs et conditions! Pour ce qui est des différents objets de votre application j'ai compris leur numérotation ce qui est bien pratique. Ma première question est celle-ci: Dans le manuel de référence j'ai observé que l'on pouvait récupérer le choix de l'utilisateur -resultat$=ITEM_index$(N) ,mais comment sait-on, que l'utilisateur à eu le temps de faire son choix dans un combo. D'autre part quel est l'objet lequel permet de récupérer une saisie au clavier? Merci de me répondre CT95 | |
| | | Jack Admin
Nombre de messages : 2394 Date d'inscription : 28/05/2007
| Sujet: Re: demande d'aide pour formulaire Dim 23 Mar 2008 - 20:51 | |
| Un formulaire pour Excel peut sans aucun problème être transposé sous PANORAMIC. Les objets permettant de recueillir ce que tape l'utilisateur sont des EDIT. On y lit ce que l'utilisateur y met par TEXT$(N) si N est le numéro de l' EDIT. Concernant les COMBO, ils sont utilisés pour présenter un choix à l'utilisateur parmi plusieurs possibilités. On lit un COMBO de la même façon d'un EDIT : par TEXT$(N), N étant alors le numéro du COMBO. On peut aussi utiliser ITEM_INDEX$(N) pour un COMBO, bien que ce soit plutôt pour savoir sur quel article d'un LIST (une liste d'articles) l'utilisateur a cliqué, mais comme un COMBO est à la fois un LIST et un EDIT, la commande ITEM_INDEX$ est valable. Pour savoir si l'utilisateur a choisi quelque chose dans un COMBO, on peut par exemple utiliser un événement. Je t'ai fait un exemple pour mieux comprendre: Par la commande ON_CHANGE 1,combo_change, à chaque fois que l'utilisateur va choisir quelque chose dans le COMBO, on exécute le bout de programme qui commence par combo_change et qui se termine par RETURN. On a créé un "gestionnaire d'événement", qui est bout de programme qui va s'exécuter à chage fois que le COMBO va être utilisé. - Code:
-
label combo_change
rem création du COMBO combo 1:top 1,100:left 1,50
rem remplissage du COMBO item_add 1,100 item_add 1,200 item_add 1,300 item_add 1,400 item_add 1,600
rem utilisation du combo on_change 1,combo_change
end
combo_change: message "dans le COMBO, on a choisi : "+text$(1) return
Un objet qui recoit une saisie clavier peut par exemple être un EDIT. Il suffit de cliquer dessus et de taper quelque chose au clavier. N'hésites pas à poser d'autres questions. | |
| | | CT95
Nombre de messages : 16 Age : 73 Localisation : Castres Date d'inscription : 23/03/2008
| Sujet: Re: demande d'aide pour formulaire Lun 24 Mar 2008 - 9:32 | |
| Bonjour à tous. Merci Panoramic d'avoir rapidement répondu. Je vais tacher de comprendre tes explications. Bonne journée. CT95 | |
| | | CT95
Nombre de messages : 16 Age : 73 Localisation : Castres Date d'inscription : 23/03/2008
| Sujet: Re: demande d'aide pour formulaire Lun 24 Mar 2008 - 16:01 | |
| re Bonjour à tous je souhaiterais savoir comment puis-je: dans un edit -effacer le texte de libellé dès que l'on clique dans l'objet -récupérer la ligne saisie totale en variable dans un combo, si c'est possible -récupérer l'index de la ligne (article) choisie. Par exemple dans le code ci dessous,lequel ne fonctionne pas pour l'edit, pour le combo 3 je souhaiterais avoir 1 pour lundi, 2 pour mardi,.., 7 pour dimanche. - Code:
-
caption 0,"LABEL, RETURN, ON_CHANGE,END " dim a,b
label combo1_change
rem création du COMBO 1 combo 1:top 1,10:left 1,50 text 1,"choix de nombres" rem remplissage du COMBO 1 item_add 1,100 item_add 1,200 item_add 1,300 item_add 1,400 item_add 1,600
rem utilisation du combo1 on_change 1,combo1_change label combo2_change
rem création du COMBO 2 combo 2:top 2,40:left 2,50 text 2,"choix de couleurs" item_add 2,ROUGE item_add 2,VERT color 2,0,255,0: rem couleur du fond de combo2 item_add 2,BLEU item_add 2,NOIR item_add 2,BLANC
rem utilisation du combo2 on_change 2,combo2_change label combo3_change
rem création du COMBO 3 combo 3:top 3,70:left 3,50 text 3,"choix de jours" item_add 3,LUNDI item_add 3,MARDI item_add 3,MERCREDI item_add 3,JEUDI item_add 3,VENDREDI item_add 3,SAMEDI item_add 3,DIMANCHE
rem utilisation du combo3 on_change 3,combo3_change label edit4_change
rem création de l'edit 4 edit 4:top 4,100:left 4,50:width 4,100 text 4,"saisie d'un nombre"
rem utilisation de l'edit 4 on_change 4,edit4_change end
combo1_change: message "dans le COMBO1, on a choisi : "+text$(1) a=val(text$(1)): rem a est une valeur numérique b=10 print_locate 200,10 print a*b return
combo2_change: message "dans le COMBO2, on a choisi : "+text$(2) return
combo3_change: message "dans le COMBO3, on a choisi : "+text$(3) return
edit4_change: message "dans l'EDIT4, on a choisi : "+text$(4) return
Pour "edit 4" la saisie se fait caractère par caractère ce qui n'est pas bon. Merci de me répondre CT95 | |
| | | Jack Admin
Nombre de messages : 2394 Date d'inscription : 28/05/2007
| Sujet: Re: demande d'aide pour formulaire Mar 25 Mar 2008 - 10:46 | |
| Dans l'exemple que tu donnes, le gestionnaire d'événement de l'EDIT n°4 est appelé à chaque fois que le contenu de l'EDIT change, c'est à dire à chaque fois que l'utilisateur tape un caractère dans cet EDIT. Mais, ce que tape un utilisateur étant totalement imprévisible, on ne peut déterminer le moment où il a fini de taper son nombre. C'est comme lorsque je tape: 1000 comment savoir que j'ai terminé? Une heure plus tard, je peux très bien aller taper un autre zéro pour faire: 10000 et je n'ai peut-être pas encore terminé le nombre! Mais, à chaque instant, on peut lire le contenu de l'EDIT n°4 par TEXT$(4). La solution serait de faire valider par l'utilisateur ce qu'il a tapé dans l'EDIT, par exemple par un BUTTON: - Code:
-
label button5_click caption 0,"LABEL, RETURN, ON_CHANGE,END "
rem création de l'edit 4 edit 4:top 4,100:left 4,50:width 4,100 text 4,"saisie d'un nombre"
rem création du button 5 button 5:top 5,100:left 5,160 caption 5,"Validez"
rem utilisation du button 5 on_click 5,button5_click
end
button5_click: print_locate 50,180 print "l'utilisateur a tapé : "+text$(4) return Je comprends maintenant pourquoi tu demandes d'effacer un EDIT dès qu'on tape quelquechose dedans : c'est pour effacer le texte "saisie d'un nombre". Il y a plusieurs solutions. Voici ce que je te propose: On crée un gestionnaire de l'événement CLICK : dès que l'utilisateur clique sur l'EDIT (pour y taper un nombre), on efface son contenu par TEXT 4,"" Le code devient donc: - Code:
-
label button5_click,edit4_click caption 0,"LABEL, RETURN, ON_CHANGE,END "
rem création de l'edit 4 edit 4:top 4,100:left 4,50:width 4,100 text 4,"saisie d'un nombre" on_click 4,edit4_click
rem création du button 5 button 5:top 5,100:left 5,160 caption 5,"Validez"
rem utilisation du button 5 on_click 5,button5_click
end
button5_click: print_locate 50,180 print "l'utilisateur a tapé : "+text$(4) return
edit4_click: text 4,"" return Pour obtenir le numéro de l'article sélectionné dans la liste d'un COMBO, je regarde et je te répond. | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: demande d'aide pour formulaire Mar 25 Mar 2008 - 16:13 | |
| On pourrait aussi valider une saisie par la frappe de la touche 'Enter' ? | |
| | | Jack Admin
Nombre de messages : 2394 Date d'inscription : 28/05/2007
| Sujet: Re: demande d'aide pour formulaire Mar 25 Mar 2008 - 17:55 | |
| Non, on ne peut pas valider ce qu'un utilisateur tape dans un EDIT en testant s'il a tapé 'ENTER' et pour 2 raisons:
- on ne tape pas forcément ENTER lorsqu'on a terminé de taper quelque chose dans un EDIT. Exemple : l'objet qui est utilisé dans ce forum pour décire le sujet du message est un EDIT : on ne tape pas obligatoirement ENTER quand on a fini de taper le titre de son message.
- PANORAMIC ne permet pas de tester chaque caractère tapé sur un objet : il n'y a pas de mot-clé prévu à ce sujet, bien que ce soit théoriquement possible de créer un mot-clé pour le faire. Dans le cas d'un EDIT, on ne peut que lire la totalité de ce qui est affiché par TEXT$(N). | |
| | | musicgames
Nombre de messages : 55 Date d'inscription : 21/01/2008
| Sujet: Re: demande d'aide pour formulaire Mar 25 Mar 2008 - 18:47 | |
| Par rapport au numéro de l'article sélectionné dans la liste d'un COMBO, je sais que PANORAMIC allait répondre, mais j' ai aussi une solution à proposer. Je mets les jours de la semaine dans un tableau jours$ : - Code:
-
jours$(1)="LUNDI" jours$(2)="MARDI" jours$(3)="MERCREDI" jours$(4)="JEUDI" jours$(5)="VENDREDI" jours$(6)="SAMEDI" jours$(7)="DIMANCHE"
Ensuite je charge le tableau jours$ dans le COMBO 3 avec une boucle : - Code:
-
for i%=1 to 7 item_add 3,jours$(i%) next i%
Dans le label combo3_change je parcours le contenu du tableau jours$. Quand le item_index$ du COMBO 3 sera identique à une inscription du tableau jours$, une variable numérique jourchoisi% sera égale au numéro du jour sélectionné : - Code:
-
for i%=1 to 7 if item_index$(3)=jours$(i%) then jourchoisi%=i% next i% message "numéro du jour choisi : " + str$(jourchoisi%)
Voici le nouveau code complet : - Code:
-
caption 0,"LABEL, RETURN, ON_CHANGE,END " dim a,b,i%,jours$(7),jourchoisi%
jours$(1)="LUNDI" jours$(2)="MARDI" jours$(3)="MERCREDI" jours$(4)="JEUDI" jours$(5)="VENDREDI" jours$(6)="SAMEDI" jours$(7)="DIMANCHE" label combo1_change
rem création du COMBO 1 combo 1:top 1,10:left 1,50 text 1,"choix de nombres" rem remplissage du COMBO 1 item_add 1,100 item_add 1,200 item_add 1,300 item_add 1,400 item_add 1,600
rem utilisation du combo1 on_change 1,combo1_change label combo2_change
rem création du COMBO 2 combo 2:top 2,40:left 2,50 text 2,"choix de couleurs" item_add 2,ROUGE item_add 2,VERT color 2,0,255,0: rem couleur du fond de combo2 item_add 2,BLEU item_add 2,NOIR item_add 2,BLANC
rem utilisation du combo2 on_change 2,combo2_change label combo3_change
rem création du COMBO 3 combo 3:top 3,70:left 3,50 text 3,"choix de jours" for i%=1 to 7 item_add 3,jours$(i%) next i%
rem utilisation du combo3 on_change 3,combo3_change label edit4_change
rem création de l'edit 4 edit 4:top 4,100:left 4,50:width 4,100 text 4,"saisie d'un nombre"
rem utilisation de l'edit 4 on_change 4,edit4_change end
combo1_change: message "dans le COMBO1, on a choisi : "+text$(1) a=val(text$(1)): rem a est une valeur numérique b=10 print_locate 200,10 print a*b return
combo2_change: message "dans le COMBO2, on a choisi : "+text$(2) return
combo3_change: message "dans le COMBO3, on a choisi : "+text$(3) for i%=1 to 7 if item_index$(3)=jours$(i%) then jourchoisi%=i% next i% message "numéro du jour choisi : " + str$(jourchoisi%) return
edit4_change: message "dans l'EDIT4, on a choisi : "+text$(4) return
| |
| | | Jack Admin
Nombre de messages : 2394 Date d'inscription : 28/05/2007
| Sujet: Re: demande d'aide pour formulaire Mar 25 Mar 2008 - 21:53 | |
| Musicgames, bravo pour ta réponse!
Je ne répondais pas car j'étais parti sur une autre solution : comme PANORAMIC ne permettait pas d'obtenir le numéro de l'article choisi dans une liste, et qu'il y a une demande dans ce sens, j'étais en train de combler cette lacune en codant la fonction ITEM_INDEX(N).
Il y aura donc deux fonctions qui vont retourner quelque chose lorsqu'un article d'une liste est sélectionné: ITEM_INDEX(N) qui retourne le numéro de l'article ITEM_INDEX$(N) qui retourne l'article lui-même | |
| | | CT95
Nombre de messages : 16 Age : 73 Localisation : Castres Date d'inscription : 23/03/2008
| Sujet: Re: demande d'aide pour formulaire Mer 26 Mar 2008 - 18:26 | |
| Bonsoir à tous. Merci pour les différents codes,suggestions et la nouvelle fonction. Je vais attendre la nouvelle version (laquelle devrait sortir vers..?) afin de pouvoir intégrer ITEM_INDEX(N) car PANORAMIC étant limité à 40 IF/END_IF il me semble que cela va être trop court avec la bonne solution de Musicgames. A bientôt pour d'autres questions de ma part... CT95 | |
| | | Jack Admin
Nombre de messages : 2394 Date d'inscription : 28/05/2007
| Sujet: Re: demande d'aide pour formulaire Jeu 27 Mar 2008 - 21:44 | |
| Eh bien une nouvelle version contenant la fonction ITEM_INDEX(N) est disponible sur le site (page française des téléchargements). C'est une version de l' EDITOR, basée sur la version "instantanée" PANORAMIC V0.9.9.alpha1. Elle peut être téléchargée avec ou sans installation.
Voici son adresse directe:
Version sans installation: (supprimée)
version avec installation: (supprimée)
Dernière édition par panoramic le Ven 4 Avr 2008 - 18:26, édité 1 fois | |
| | | CT95
Nombre de messages : 16 Age : 73 Localisation : Castres Date d'inscription : 23/03/2008
| Sujet: Re: demande d'aide pour formulaire Ven 28 Mar 2008 - 20:06 | |
| Bonsoir à tous Merci à PANORAMIC pour la nouvelle version de l'éditeur. J'ai testé. Je vais pouvoir reprendre le formulaire. Bonne soirée. CT95 | |
| | | CT95
Nombre de messages : 16 Age : 73 Localisation : Castres Date d'inscription : 23/03/2008
| Sujet: Re: demande d'aide pour formulaire Sam 29 Mar 2008 - 19:30 | |
| Bonsoir à tous. Une nouvelle question: y a t-il une instruction pour aligner le texte à droite dans un alpha?Merci de votre réponse. CT95 | |
| | | Jack Admin
Nombre de messages : 2394 Date d'inscription : 28/05/2007
| Sujet: Re: demande d'aide pour formulaire Dim 30 Mar 2008 - 12:11 | |
| Actuellement, il n'y a pas d'instruction pour aligner à droite le texte d'un ALPHA, l'alignement se faisant naturellement à gauche.
Je vais regarder la possibilité de pouvoir aligner des textes à droite ou à gauche dans un ALPHA ou un EDIT. En effet, cela peut être important de pouvoir par exemple aligner une somme à droite dans un EDIT ou un ALPHA. Je termine le codage et les tests de SELECT, CASE, END_SELECT, je regarde la faisabilité, et je code si c'est faisable. | |
| | | CT95
Nombre de messages : 16 Age : 73 Localisation : Castres Date d'inscription : 23/03/2008
| Sujet: Re: demande d'aide pour formulaire Dim 30 Mar 2008 - 13:29 | |
| Bonjour à tous Merci à PANORAMIC de répondre avec diligence aux besoins Ci-dessous, voici un tableau de 11 variables (n1 à n11) lesquelles évoluent en fonction de la variable n0%. Avec quelle(s) instruction(s) puis-je créer et inscrire ce tableau dans PANORAMIC? Avec quelle(s) instruction(s) puis-je extraire et lire une des variables de ce tableau en fonction de la position de la variable n0%? Par exemple la variable n6 à la position 5 de n0% (31,5). Merci de me répondre CT95 | |
| | | Jack Admin
Nombre de messages : 2394 Date d'inscription : 28/05/2007
| Sujet: Re: demande d'aide pour formulaire Dim 30 Mar 2008 - 18:34 | |
| 1 - pour créer le tableau dans un programme et de manière permanente, le mieux est de mettre ses valeurs en DATA. Ainsi, il est disponible à tout moment. Les données en DATA sont lues par READ Variable. On peut en outre recommencer la lecture des données en DATA par la commande RESTORE (qui n'est pas utilisé dans l'exemple ici) 2 - pour répondre à ta question, il vaut mieux mettre les lignes dans des tableaux de la forme ni(10). Ainsi, tu peux interroger une valeur en fonction du numéro de colonne qui est dans la variable n0%. 3 - voici le code qui permet de rentrer tes valeurs dans des tableaux de variable et d'extraire une valeur en fonction de la colonne, ce numéro de colonne étant dans la variable n0%. Tu remarqueras que ton exemple a été pris en compte: la valeur de n6 pour la 5ème position de colonne (dans n0%) est correcte. - Code:
-
rem déclaration des variables dim n1(10),n2(10),n3(10),n4(10),n5(10) dim n6(10),n7(10),n8(10),n9(10),n10(10),n11(10) dim n0%,i
rem tableau en data data 14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0 data 36.0,36.0,36.0,36.0,36.0,36.0,36.0,36.0,36.0,36.0,36.0 data 14.0,17.5,21.0,24.5,28.0,31.5,35.0,38.5,42.0,45.5,49.0 data 36.0,39.5,43.0,46.5,50.0,53.5,57.0,60.5,64.0,67.5,71.0 data 14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0 data 14.0,17.5,21.0,24.5,28.0,31.5,35.0,38.5,42.0,45.5,49.0 data 25.0,25.0,25.0,25.0,25.0,25.0,25.0,25.0,25.0,25.0,25.0 data 0.0,32.5,36.0,39.5,43.0,46.5,50.0,53.5,57.0,60.5,64.0 data 14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0 data 14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0 data 0.0,32.5,36.0,39.5,43.0,46.5,50.0,53.5,57.0,60.5,64.0
rem lecture des données dans les 11 variables for i=1 to 10:read n1(i):next i for i=1 to 10:read n2(i):next i for i=1 to 10:read n3(i):next i for i=1 to 10:read n4(i):next i for i=1 to 10:read n5(i):next i for i=1 to 10:read n6(i):next i for i=1 to 10:read n7(i):next i for i=1 to 10:read n8(i):next i for i=1 to 10:read n9(i):next i for i=1 to 10:read n10(i):next i for i=1 to 10:read n11(i):next i
rem résolution pour l'exemple demandé rem valeur de n6 à la position n0% n0%=5 print n6(n0%) | |
| | | CT95
Nombre de messages : 16 Age : 73 Localisation : Castres Date d'inscription : 23/03/2008
| Sujet: Re: demande d'aide pour formulaire Dim 30 Mar 2008 - 18:58 | |
| Bonsoir à tous Houlà...Merci à toi PANORAMIC. Je vais essayer de comprendre en testant. Bonne soirée. CT95 | |
| | | CT95
Nombre de messages : 16 Age : 73 Localisation : Castres Date d'inscription : 23/03/2008
| Sujet: Re: demande d'aide pour formulaire Mar 1 Avr 2008 - 19:07 | |
| Bonjour à tous(tes) Après avoir essayé et testé j'ai trouvé une solution permettant de lire les variables en redimensionnant celles-ci à 11. Ainsi le pointeur peut lire le début comme l'extémité d'une ligne. - Code:
-
rem déclaration des variables dim n1(11),n2(11),n3(11),n4(11),n5(11) dim n6(11),n7(11),n8(11),n9(11),n10(11),n11(11) dim n0%,i,j
rem tableau en data data 14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0 data 36.0,36.0,36.0,36.0,36.0,36.0,36.0,36.0,36.0,36.0,36.0 data 14.0,17.5,21.0,24.5,28.0,31.5,35.0,38.5,42.0,45.5,49.0 data 36.0,39.5,43.0,46.5,50.0,53.5,57.0,60.5,64.0,67.5,71.0 data 14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0 data 14.0,17.5,21.0,24.5,28.0,31.5,35.0,38.5,42.0,45.5,49.0 data 25.0,25.0,25.0,25.0,25.0,25.0,25.0,25.0,25.0,25.0,25.0 data 0.0,32.5,36.0,39.5,43.0,46.5,50.0,53.5,57.0,60.5,64.0 data 14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0 data 14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0 data 0.0,32.5,36.0,39.5,43.0,46.5,50.0,53.5,57.0,60.5,64.0
rem lecture des données dans les 11 variables for i=1 to 10:read n1(i):next i for i=1 to 10:read n2(i):next i for i=1 to 10:read n3(i):next i for i=1 to 10:read n4(i):next i for i=1 to 10:read n5(i):next i for i=1 to 10:read n6(i):next i for i=1 to 10:read n7(i):next i for i=1 to 10:read n8(i):next i for i=1 to 10:read n9(i):next i for i=1 to 10:read n10(i):next i for i=1 to 10:read n11(i):next i
rem lecture d'une ligne rem valeur de n6 à la position n0% for j=0 to 10 n0%=j print n6(n0%) next j A titre d'exemple comment peut-on imbriquer une deuxième instruction pour afficher le tableau complet transposé ? Merci de vos réponses Bonne soirée. CT95 | |
| | | CT95
Nombre de messages : 16 Age : 73 Localisation : Castres Date d'inscription : 23/03/2008
| Sujet: Re: demande d'aide pour formulaire Mer 2 Avr 2008 - 17:55 | |
| Bonsoir à tous Pour faire suite au tableau de données et à la lecture de celles-ci comment peut-on choisir par une variable (e), la ligne dont on veut extraire la donnée. Pour reprendre l'exemple: - Code:
-
rem résolution pour l'exemple demandé rem valeur de n6 à la position n0% e=6 n0%=5 print n(e)(n0%)
Merci de me répondre CT95 | |
| | | musicgames
Nombre de messages : 55 Date d'inscription : 21/01/2008
| Sujet: Re: demande d'aide pour formulaire Mer 2 Avr 2008 - 19:39 | |
| Je pense que t' auras forcément besoin d' un tableau à deux dimensions que tu peux déclarer comme ça : - Code:
-
dim n(11,11)
Le premier index montre les lignes et le deuxième les colonnes de ton tableau. Tu pourras mettre les data dans le tableau avec le code suivant : - Code:
-
for i=1 to 11:read n(1,i):next i for i=1 to 11:read n(2,i):next i for i=1 to 11:read n(3,i):next i for i=1 to 11:read n(4,i):next i for i=1 to 11:read n(5,i):next i for i=1 to 11:read n(6,i):next i for i=1 to 11:read n(7,i):next i for i=1 to 11:read n(8,i):next i for i=1 to 11:read n(9,i):next i for i=1 to 11:read n(10,i):next i for i=1 to 11:read n(11,i):next i
Ou avec deux boucles imbriquées : - Code:
-
for i=1 to 11 for k=1 to 11 read n(i,k) next k next i
Pour lire par exemple la troisième colonne de la quatrième ligne, c' est très simple : - Code:
-
print n(4,3)
Voici le code complet que je te propose : - Code:
-
rem déclaration des variables
dim i, k, n(11,11)
rem tableau en data
data 14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0 data 36.0,36.0,36.0,36.0,36.0,36.0,36.0,36.0,36.0,36.0,36.0 data 14.0,17.5,21.0,24.5,28.0,31.5,35.0,38.5,42.0,45.5,49.0 data 36.0,39.5,43.0,46.5,50.0,53.5,57.0,60.5,64.0,67.5,71.0 data 14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0 data 14.0,17.5,21.0,24.5,28.0,31.5,35.0,38.5,42.0,45.5,49.0 data 25.0,25.0,25.0,25.0,25.0,25.0,25.0,25.0,25.0,25.0,25.0 data 0.0,32.5,36.0,39.5,43.0,46.5,50.0,53.5,57.0,60.5,64.0 data 14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0 data 14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0 data 0.0,32.5,36.0,39.5,43.0,46.5,50.0,53.5,57.0,60.5,64.0
for i=1 to 11 for k=1 to 11 read n(i,k) next k next i
rem lecture de la troisième colonne de la quatrième ligne print n(4,3)
| |
| | | CT95
Nombre de messages : 16 Age : 73 Localisation : Castres Date d'inscription : 23/03/2008
| Sujet: Re: demande d'aide pour formulaire Mer 2 Avr 2008 - 21:20 | |
| Merci Musicgame pour m'avoir indiqué cette solution. Sur le code complet proposé et après avoir testé, il me semble, moi qui patauge, qu'il faille compter de 0 à 10. Ce qui pose le problème de la valeur de chacune des 2 variables (ligne et colonne) à laquelle il faudra retrancher 1 pour être dans la bonne ligne ou dans la bonne colonne. Par exemple si ma variable ligne est 5 je devrais coder 5-1= 4 pour être dans la 5ème ligne. Peut-être y a-t-il un rapport avec la numérotation américaine... Y a-t-il un remède où c'est normal? - Code:
-
rem déclaration des variables
dim i, k, n(11,11),l,c
rem tableau en data
data 14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0 data 36.0,36.0,36.0,36.0,36.0,36.0,36.0,36.0,36.0,36.0,36.0 data 14.0,17.5,21.0,24.5,28.0,31.5,35.0,38.5,42.0,45.5,49.0 data 36.0,39.5,43.0,46.5,50.0,53.5,57.0,60.5,64.0,67.5,71.0 data 14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0 data 14.0,17.5,21.0,24.5,28.0,31.5,35.0,38.5,42.0,45.5,49.0 data 25.0,25.0,25.0,25.0,25.0,25.0,25.0,25.0,25.0,25.0,25.0 data 0.0,32.5,36.0,39.5,43.0,46.5,50.0,53.5,57.0,60.5,64.0 data 14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0 data 14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0 data 0.0,32.5,36.0,39.5,43.0,46.5,50.0,53.5,57.0,60.5,64.0
for i=0 to 10:rem de 0 à 10 (11 variables) for k=0 to 10:rem de 0 à10 (11 variables)
read n(i,k) next k next i
l=3: rem c'est la 4ème ligne: décalage de +1 -> 0,1,2,3 c=2: rem c'est la 3ème colonne; idem +1 -> 0,1,2
rem lecture de la troisième colonne de la quatrième ligne print n(l,c) J'obtiens 43 (chez moi!) Si je code print n(5,3) J'obtiens l'intersection de la ligne 6 et de la colonne 4: 24,5 (Je n'ai pas pris l'exemple "print n(4,3)" car il n'y a que des "14" dans la ligne 5). Merci en tous cas, Musicgame. Bonne soirée. CT95 | |
| | | musicgames
Nombre de messages : 55 Date d'inscription : 21/01/2008
| Sujet: Re: demande d'aide pour formulaire Mer 2 Avr 2008 - 21:45 | |
| Le code que j' ai proposé fonctionne (du moins chez moi). Je pense que tu veux remplir le tableau de 0 à 10 parce que le premier index d' un tableau est le 0. Moi je laisse vide l' index 0 du tableau et je remplis de 1 à 11. Comme ça j' évite le décalage dont tu parles. | |
| | | Jack Admin
Nombre de messages : 2394 Date d'inscription : 28/05/2007
| Sujet: Re: demande d'aide pour formulaire Mer 2 Avr 2008 - 22:18 | |
| Effectivement, tout dépend de la convention que l'on se fixe: si on lit les lignes et les colonnes avec un indice qui commence à 1, on obtient directement les lignes et les colonnes avec print n(l,c)si on lit les données avec un indice qui commence à 0, il faut ajouter 1 à l'indice si on parle en lignes et colonnes. Quoi qu'il en soit, il faut noter qu'avec l'instruction READ, on lit forcément en ligne car chaque nouveau READ lit la valeur suivante dans les DATA. CT95, tu as demandé comment obtenir la transposée, car on est bel et bien en train de manipuler des matrices. Je répondrai que la manière la plus simple d'obtenir la transposée est de lire les DATA avec les boucles imbriquées, mais en permutant les indices i et k du tableau n : - Code:
-
for i=0 to 10:rem de 0 à 10 (11 variables) for k=0 to 10:rem de 0 à10 (11 variables) read n(k,i): rem au lieu de read n(i,k) next k next i
On lit toujours le tableau en ligne (on ne peut pas faire autrement), mais on place la valeur lue en colonne! | |
| | | CT95
Nombre de messages : 16 Age : 73 Localisation : Castres Date d'inscription : 23/03/2008
| Sujet: Re: demande d'aide pour formulaire Mer 2 Avr 2008 - 23:03 | |
| - Citation :
- Effectivement, tout dépend de la convention que l'on se fixe:
si on lit les lignes et les colonnes avec un indice qui commence à 1, on obtient directement les lignes et les colonnes avec print n(l,c) si on lit les données avec un indice qui commence à 0, il faut ajouter 1 à l'indice si on parle en lignes et colonnes. Lorsque je lance le code de Musicgame ci-dessous: - Code:
-
rem déclaration des variables
dim i, k, n(11,11)
rem tableau en data
data 14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0 data 36.0,36.0,36.0,36.0,36.0,36.0,36.0,36.0,36.0,36.0,36.0 data 14.0,17.5,21.0,24.5,28.0,31.5,35.0,38.5,42.0,45.5,49.0 data 36.0,39.5,43.0,46.5,50.0,53.5,57.0,60.5,64.0,67.5,71.0 data 14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0 data 14.0,17.5,21.0,24.5,28.0,31.5,35.0,38.5,42.0,45.5,49.0 data 25.0,25.0,25.0,25.0,25.0,25.0,25.0,25.0,25.0,25.0,25.0 data 0.0,32.5,36.0,39.5,43.0,46.5,50.0,53.5,57.0,60.5,64.0 data 14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0 data 14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0 data 0.0,32.5,36.0,39.5,43.0,46.5,50.0,53.5,57.0,60.5,64.0
for i=1 to 11 for k=1 to 11 read n(i,k) next k next i
rem lecture de la troisième colonne de la quatrième ligne print n(4,3) celui-ci ne fonctionne pas chez moi. Le message suivant s'affiche out of data. Line:21 Je ne comprends pas pourquoi. C'est pour cela que je suis obligé de changer la convention... | |
| | | musicgames
Nombre de messages : 55 Date d'inscription : 21/01/2008
| Sujet: Re: demande d'aide pour formulaire Jeu 3 Avr 2008 - 4:17 | |
| Effectivement, ce messsage d' erreur survient chez moi aussi quand je lance le code avec la version instantanée du 27 mars 2008. Il y a également un autre message d' erreur avec des programmes qui fonctionnaient normalement avec la version 0.9.8 : "Not Correct Expression : Negative or Zero Number in MID$". Si t' essaies avec la version 0.9.8 ça devrait marcher. | |
| | | Contenu sponsorisé
| Sujet: Re: demande d'aide pour formulaire | |
| |
| | | | demande d'aide pour formulaire | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |