|
- Forum - iziBasic
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 257
Sujet n° 1167 |
Openform |
le 14/03/2005 @ 10:21 par apdi2003
|
Bonjour
Je reprends mon programme apAdress pour le doper avec l'utilisation des masques (openform #v|n). Je bute sur une difficulté imprévue.
Je crée mon masque avec Bird en disposant des objets tels que des labels et des pushbuttons et je leur donne des valeurs initiales. Dans mon programme iziBasic, je voudrais changer dynamiquement (updatetext) les valeurs affichées par ces objets. Apparemment, ce n'est pas possible sans un clic sur un bouton.
Il faudrait un évènement détécté sur le masque chargé pour le mettre à jour ? cela en limiterait singulièrement l'intérêt. Je charge le contenu d'un fichier et je ne peux l'afficher qu'en cliquant sur un bouton ?
Je ne vois pas d'instruction de raffraichissement de l'écran ou du masque. Autre piste ?
Merci de vos lumières. Apdi2003 |
|
|
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Réponse n° 1 -------- le 14/03/2005 @ 11:42 par apdi2003
visiteur |
Je complète ma question concernant openform. Si je pose un pushbutton dans un masque et que je le updatevalue à 1 pour le selectionner, pourquoi ne passe-t'il pas en affichage inverse comme il devrait ?
Son comportement normal serait de passer en inverse et, si je l'ai inscrit dans un groupe, que les autres pushbuttons du groupe soient déselectionnés. Mais je ne comprends pas tout. Quelle est la différence entre usable et enable ?
A suivre... |
|
|
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Réponse n° 2 -------- le 14/03/2005 @ 20:57 par aldweb
visiteur |
Je ne comprends pas trop ce que tu fais... mais tout ce que tu tentes, le fais-tu bien après avoir appelé OPENFORM et avant un CLOSEFORM ? Car tout raffraîchissement sur objets doit se faire dans la FORM active.
Sinon, comme d'habitude, envoie moi ton code source
@+ aldweb |
|
|
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Réponse n° 3 -------- le 15/03/2005 @ 09:24 par apdi2003
visiteur |
Bonjour Pour expliquer les choses, voici un petit bout de code. J'ai crée dans un fichier de ressource une forme d'ID 100, usable, avec 2 pushbuttons ID 11 et 12 et un bouton ordinaire ID 13.
Mon but : afficher des textes personnalisés sur ces pushbuttons à l'ouverture du masque ID 100 et donner le statut pressé au pushbutton 12 donc en inverse video. Or ce n'est pas réalisable, je dois appuyer sur le bouton 13 pour afficher mes textes et le statut pressé ne s'affiche pas.
Mon code : begin openform 100 gosub _MAJ gosub _INITLOOP end
_INITLOOP while d<>-1 d=doevents if d=13 gosub _MAJ wend return
_MAJ: a$="NORD" b$="SUD" updatetext #11,a$ updatetext #12,b$ updatevalue #12,1 return
apdi2003 |
|
|
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Réponse n° 4 -------- le 22/03/2005 @ 11:00 par apdi2003
visiteur |
Salut à tous Je suis apparemment le seul à rencontrer des difficultés avec les objets situés dans un masque. Je reprends donc un programme compilé en version 4.2 et je le recompile en version 5.0 sans rien changer.
L'instruction updatevalue appliquée à un pushbutton a un comportement aléatoire. En particulier dans un bout de programme je crée 13 pushbutton : for i=1 to 13:y=10*i+7 pushbutton #i,"",0,5,y,135,9 next plus loin je veux en sélectionner 1 de façon exclusive (le no 2) donc je remets tous les boutons à 0 for j=1 to 13:updatevalue #j,0:next updatevalue #2,1
il ne passe pas en video inverse et si juste après je fais k=pushbutton(#2), k reste scotché à la valeur 0
Explications ?
apdi2003
|
|
|
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Réponse n° 5 -------- le 22/03/2005 @ 19:49 par Khertan
visiteur |
Désolé de ne pouvoir te répondre :) J'ai abandonnée les forms avec iziBasic pour le moment mais dernier essai se sont tous conclut avec un reset ...
Donc j'en avait marre que cela coupe ma musique dans le rer ... et je laisse donc de coté pour le moment pour d'autre projet qui évolue en paralelle.
Sinon ... je creer une form avec un Field ...
Si je ne creer pas le field dans iziBasic avant d appeler la form et de faire un update ... ca crash
Si je creer le field et ensuite j'appelle ma form et fait un update cela ne crash plus ... mais c normal ... le field est creer avant la form ... et c celui creer avant la form qui est update alors que celui dans la form avec le meme id reste a blanc ....
Ps : il me semble que aldweb m avait dis de mettre une valeur par default ... mais on ne peut pas avec Bird sur un field ... non ? |
|
|
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Réponse n° 6 -------- le 23/03/2005 @ 15:37 par aldweb
visiteur |
Cher ami Apdi2003,
J'ai codé exactement ceci :
' Test.ibas {CREATORID "LDTE"} {VERSION "1.0"}
BEGIN FOR I=1 TO 13 Y=10*I+7 PUSHBUTTON #I,"",0,5,Y,135,9 NEXT REPEAT : A=WAITEVENT : UNTIL A=1000
FOR J=1 TO 13 : UPDATEVALUE #J,0 : NEXT UPDATEVALUE #2,1
REPEAT : A=WAITEVENT : UNTIL A=-1 END
J'ai bien tous les pushbuttons qui apparaissent sous forme de longues et belles barres (je vois ce que tu cherches à faire petit malin !). Ensuite, quand je ticke sur les barres, elles changent bien de couleur. Puis quand je ticke ailleurs pour déclencher l'event 1000 intermédiaire, toutes les cases se remettent bien à blanc et la 2ème en noir. Ce qui est exactement, je crois, le fonctionnement attendu !
Quant au fait que K reste à 0 après ton appel K=PUSHBUTTON(#2) c'est normal si tu le captures après la mise à jour dans le programme ci-dessus. 1 sera retourné à K seulement si l'utilisateur a effectivement tické sur la 2ème barre, pas si tu l'as mis à jour par programmation.
@+ aldweb |
|
|
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Réponse n° 7 -------- le 24/03/2005 @ 19:47 par apdi2003
visiteur |
Cher Aldweb
Merci pour les explications détaillées mais je ne suis pas convaincu par le dernier paragraphe. Pour moi un pushbutton est un bouton à deux états, pressé=bleu non-pressé=blanc. Il serait normal qu'on ait pressé=bleu=1 et non-pressé=blanc=0, sinon à quoi sert de mettre à jour par programmation ? Et ticker sur un bouton bleu ne se verra pas puisque ce n'est pas une bascule.
En attendant le retour des forms, j'abandonne l'idée des pushbuttons et j'ai de bonnes sensations avec gprint. C'est parfois le plus rustique le plus payant. Comme j'ai l'intention de mettre en ligne le code source de mon aiAdress suivant le bon exemple de kerthan et de Leonard, ça n'en sera que plus exemplaire.
Merci de ta disponibilité. Apdi2003 |
|
|
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Réponse n° 8 -------- le 24/03/2005 @ 20:55 par aldweb
visiteur |
Cher apdi2003,
Pas convaincu. C'est que j'ai mal expliqué ? Non, que je me suis embourbé tout seul je crois !
Le code source que je t'ai joint marche parfaitement. Essaye-le donc. Tu auras bien du noir/blanc comme attendu.
Effectivement la fonction PUSHBUTTON() aurait du retourner la bonne valeur. Je vais tester tout ça de façon un peu plus approfondie et te tenir au courant.
Désolé, j'ai vraiment dérapé dans ma précédente réponse, en écrivant une belle qu'au-noeud-riz !
@+ aldweb |
|
|
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Réponse n° 9 -------- le 24/03/2005 @ 21:48 par apdi2003
visiteur |
Cher Aldweb
J'avais été trop concis, ne voulant pas occuper trop de bande passante. Bien sûr j'ai essayé ton code et il donne bien le résultat que tu décrivais. Mon idée première était de contourner l'utilisation des masques en simulant le fonctionnement des groupes de pusbuttons (qui ont entre parenthèses la possibilité de recevoir des cadres arrondis - une de mes préoccupations anciennes) mais en attendant, j'obtiens des très bons résultats avec gprint (la bascule video avec les deux paramètres que tu as rajoutés est super ...) D'une façon diffuse, j'ai l'impression que les updates en version 5 ne font pas comme en 4.2 (updatevalue et updatetext, rien à dire sur les updatelabel)
apdi2003 |
|
|
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Réponse n° 10 -------- le 24/03/2005 @ 22:03 par aldweb
visiteur |
Concernant ta remarque sur updatevalue et updatetext, je n'ai pas souvenir d'y avoir touché entre la 4.2 et la 5.0.
Mais, la complexité aidant, il se pourrait qu'une petite modification de presque rien tout à l'autre bout d'iziBasic ait des répercussions de ce coté ci. Donc, dès que tu auras infusé cette chose encore diffuse, je serai tout prêt à la refuser... non, à m'en excuser de manière confuse
@+ aldweb |
|
|
sujet actif
sujet clos
Important!
Nouveau message -
Rectifier message
Clôturer sujet
Remonter
|
|