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 |
|
|
| SPIN et aide langage (résolu) | |
| | Auteur | Message |
---|
leclode
Nombre de messages : 39 Date d'inscription : 01/11/2022
| Sujet: SPIN et aide langage (résolu) Mar 19 Mar 2024 - 14:51 | |
| Bonjour. Après avoir téléchargé Panoramic en 2022 j'ai jamais réussi à le faire fonctionner.(Peut être ma machine bref j'ai laissé tomber). Je me suis servi d'un tableur à la place. Sauf que c'est devenu une usine à gaz :-). Dernièrement suite à un message, j'ai téléchargé et là ça fonctionne. D'abord bravo quand je vois ce que vous faites je suis impressionné. Apparemment beaucoup de pro. Donc à mon petit niveau je ne suis pas du tout informaticien mais j'ai bidouillé pas mal avec visual basic en 1990. Bref je découvre Panoramic. Voilà, j'aimerais si c'est possible, savoir s'il existe une aide un peu plus fournie que celle de Panoramic editor v09 29i11 ou Elip v6 08 Par exemple j'ai utilisé SPIN.
SPIN 2: LEFT 2,10: TOP 2,50: WIDTH 2,50 MIN 2,1: MAX 2,31: ON_CLICK 2,modif: POSITION 2,Jour%
avec ON_CLICK je voudrais modifier Jour% quand on arrive au mini 1 il repasse à 31 le maxi et inversement quand on arrive à 31 il repasse à 1.
' ------------------------------------------------------------------------------ modif: IF Jour%= 1 Jour%= 31 Mois%= Mois%-1 ELSE Jour%= 31 Jour%= 1 Mois%= Mois%+1 END_IF RETURN sauf erreur de ma part," POSITION 2,Jour% " devrait prendre la nouvelle valeur de Jour% dans "modif" non ? Parce que là il reste sur 1 ou 31. Si cela n'est pas possible, le faire avec un simple bouton ?
D'avance merci à celui ou celle qui voudra bien m'aider.
Dernière édition par leclode le Sam 23 Mar 2024 - 15:25, édité 1 fois | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: SPIN et aide langage (résolu) Mar 19 Mar 2024 - 15:29 | |
| Bonjour Leclode, Cet exemple pourrait répondre à ta demande : - Code:
-
label action
spin 1 left 1,30 top 1,30 width 1,50 height 1,30 font_size 1,12 min 1,0 max 1,32 position 1,1
on_change 1,action
end
action: off_change 1
if text$(1) = "0" position 1,31 end_if if text$(1) = "32" position 1,1 end_if on_change 1,action return Bonne programmation ! | |
| | | leclode
Nombre de messages : 39 Date d'inscription : 01/11/2022
| Sujet: Re: SPIN et aide langage (résolu) Mar 19 Mar 2024 - 17:21 | |
| Un grand merci pour ton aide. Je vais regarder ça, mais il me semble pas avoir vu on_change dans l'aide de spin. | |
| | | leclode
Nombre de messages : 39 Date d'inscription : 01/11/2022
| Sujet: Re: SPIN et aide langage (résolu) Sam 23 Mar 2024 - 12:38 | |
| Bonjour. Un grand merci a Marc et a Papypall. Je voulais mettre résolu dans le titre mais pas trouver comment le modifier. voici mon code. Je me doute qu'il doit y avoir mieux mais je débute. code: - Code:
-
DIM Jour%, Mois%, MaxiJ%, An%, LABEL action, action2, centrer, MaxiJour ALPHA 6 FONT_SIZE 6,13 LEFT 6,120 TOP 6,32 An%=(DATE_YEAR) Mois%=(DATE_MONTH) Jour%=(DATE_DAY) GOSUB MaxiJour SPIN 1: LEFT 1,30: TOP 1,30: WIDTH 1,42: HEIGHT 1,30: FONT_SIZE 1,12 MIN 1,0: MAX 1,32 POSITION 1,Jour% ON_CHANGE 1,action SPIN 2: LEFT 2,72: TOP 2,30: WIDTH 2,42: HEIGHT 2,30: FONT_SIZE 2,12 MIN 2,0: MAX 2,13 POSITION 2,Mois% ON_CHANGE 2,action2
' dimensionner la fenêtre HEIGHT 0,HEIGHT(0) - HEIGHT_CLIENT(0) + 500 WIDTH 0,WIDTH(0) - WIDTH_CLIENT(0) + 500 ' centrer la fenêtre sur l'écran TOP 0,(SCREEN_Y - HEIGHT(0))/2 LEFT 0,(SCREEN_X - WIDTH(0))/2 ON_RESIZE 0,centrer END ' ------------------------------------------------------------------------------ action: OFF_CHANGE 1 IF TEXT$(1) = "0" POSITION 1,MaxiJ% Mois%=(Mois% -1) POSITION 2,Mois% GOSUB MaxiJour POSITION 1,MaxiJ% END_IF IF TEXT$(1) = STR$(MaxiJ%+1) POSITION 1,1 Mois%=(Mois% +1) POSITION 2,Mois% IF Mois%=13 THEN Mois%=1 GOSUB MaxiJour END_IF ON_CHANGE 1,action RETURN ' ------------------------------------------------------------------------------ action2: OFF_CHANGE 2 GOSUB MaxiJour IF TEXT$(1) = STR$(MaxiJ%) IF TEXT$(2) = "0" POSITION 2,12 An%=(An% -1) CAPTION 6, An% GOSUB MaxiJour POSITION 1,MaxiJ% END_IF IF TEXT$(2) = "13" POSITION 2,1 An%=An% +1 CAPTION 6, An% END_IF Mois%= VAL(TEXT$(2)) GOSUB MaxiJour POSITION 1,MaxiJ% ELSE IF TEXT$(2) = "0" POSITION 2,12 An%=(An% -1) CAPTION 6, An% END_IF IF TEXT$(2) = "13" POSITION 2,1 An%=An% +1 CAPTION 6, An% END_IF END_IF ON_CHANGE 2,action2 RETURN ' ------------------------------------------------------------------------------ centrer: OFF_RESIZE 0 HEIGHT 0,HEIGHT(0) - HEIGHT_CLIENT(0) + 500 WIDTH 0,WIDTH(0) - WIDTH_CLIENT(0) + 500 ON_RESIZE 0,centrer RETURN
' ------------------------------------------------------------------------------ MaxiJour: REM nombre de jours maxi/mois bissextile ou pas IF Mois%=2 IF (MOD(An%,4)=0) AND ((MOD(An%,100) >0) OR (MOD(An%,400)=0)) MaxiJ%=29 ELSE MaxiJ%=28 END_IF END_IF IF Mois%<>2 AND ((Mois%=4) OR (Mois%=6) OR (Mois%=9) OR (Mois%=11)) MaxiJ%=30 ELSE IF Mois%<>2 THEN MaxiJ%=31 END_IF CAPTION 6, An% RETURN
Dernière édition par leclode le Sam 30 Mar 2024 - 19:02, édité 3 fois | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: SPIN et aide langage (résolu) Sam 23 Mar 2024 - 14:35 | |
| Bonjour à tous ! Bravo Leclode ! Excellent ! Testé avec succès ! Pour un débutant, tu te débrouilles très bien ! Juste une petite confusion dans le sous-programme appelé par le label « centrer :». Dans ce s/p, tu ne centres pas la fenêtre, tu la redimensionnes aux dimensions « client » de 500 x 500 px. Peut-être changer le nom du label ? J’ai compris que tu souhaitais fixer cette fenêtre à 500 x 500 px. Or dans ton programme principal, tu centres la fenêtre à l’écran, mais tu ne lui imposes pas de dimensions précises. Elle fera donc par défaut 586 x 573 px. (Dimensions extérieures de la fenêtre). C’est seulement lors d’une tentative de redimensionnement, qu’elle prendra ses dimensions utiles de 500 x 500 px. Préconisation : ajouter avant le centrage de la fenêtre ligne 26, les dimensions souhaitées, en copiant les mêmes que celles figurant dans le s/p déclenché par l’évènement ON_RESIZE. Ce qui donne (lignes 26,27 et 28 ajoutées): - Code:
-
DIM Jour%, Mois%, MaxiJ%, An%, LABEL action, action2, centrer, MaxiJour ALPHA 6 FONT_SIZE 6,13 LEFT 6,120 TOP 6,32 An%=(DATE_YEAR) Mois%=(DATE_MONTH) Jour%=(DATE_DAY) GOSUB MaxiJour REM CAPTION 4, MaxiJ% SPIN 1: LEFT 1,30: TOP 1,30: WIDTH 1,42: HEIGHT 1,30: FONT_SIZE 1,12 MIN 1,0: MAX 1,32 POSITION 1,Jour% ON_CHANGE 1,action SPIN 2: LEFT 2,72: TOP 2,30: WIDTH 2,42: HEIGHT 2,30: FONT_SIZE 2,12 MIN 2,0: MAX 2,13 POSITION 2,Mois% ON_CHANGE 2,action2
' dimensionner de la fenêtre HEIGHT 0,HEIGHT(0) - HEIGHT_CLIENT(0) + 500 WIDTH 0,WIDTH(0) - WIDTH_CLIENT(0) + 500 ' centre la fenêtre sur l'écran TOP 0,(SCREEN_Y - HEIGHT(0))/2 LEFT 0,(SCREEN_X - WIDTH(0))/2 ON_RESIZE 0,centrer END ' ------------------------------------------------------------------------------ action: OFF_CHANGE 1 IF TEXT$(1) = "0" POSITION 1,MaxiJ% Mois%=(Mois% -1) POSITION 2,Mois% GOSUB MaxiJour POSITION 1,MaxiJ% END_IF IF TEXT$(1) = STR$(MaxiJ%+1) POSITION 1,1 Mois%=(Mois% +1) POSITION 2,Mois% GOSUB MaxiJour END_IF ON_CHANGE 1,action RETURN ' ------------------------------------------------------------------------------ action2: OFF_CHANGE 2 IF TEXT$(2) = "0" POSITION 2,12 An%=(An% -1) CAPTION 6, An% END_IF IF TEXT$(2) = "13" POSITION 2,1 An%=An% +1 CAPTION 6, An% END_IF Mois%= VAL(TEXT$(2)) GOSUB MaxiJour ON_CHANGE 2,action2 RETURN ' ------------------------------------------------------------------------------ centrer: OFF_RESIZE 0 HEIGHT 0,HEIGHT(0) - HEIGHT_CLIENT(0) + 500 WIDTH 0,WIDTH(0) - WIDTH_CLIENT(0) + 500 ON_RESIZE 0,centrer RETURN
' ------------------------------------------------------------------------------ MaxiJour: REM nombre de jours maxi/mois bissextile ou pas IF Mois%=2 IF (MOD(An%,4)=0) AND ((MOD(An%,100) >0) OR (MOD(An%,400)=0)) MaxiJ%=29 ELSE MaxiJ%=28 END_IF END_IF IF Mois%<>2 AND ((Mois%=4) OR (Mois%=6) OR (Mois%=9) OR (Mois%=11)) MaxiJ%=30 ELSE IF Mois%<>2 THEN MaxiJ%=31 END_IF CAPTION 6, An% RETURN Tu vas pouvoir étoffer ton programme en lui ajoutant par exemple l’ajustement du jour en fonction de la sélection d’un nouveau mois. Exemple : - Tu ajustes ton calendrier au 31 mars 2024 ; - Tu changes le mois en sélectionnant le mois de Février. ==> Le jour 31 devrait être remplacé par 29 puisque le 31 février n’existe pas. Bonne programmation ! | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: SPIN et aide langage (résolu) Sam 23 Mar 2024 - 14:38 | |
| - leclode a écrit:
- je voulais mettre résolu dans le titre mais pas trouver comment le modifier.
Tu dois être connecté. En haut et à droite tu vois Clique sur editerUne page Editer le sujet s'ouvre en haut. Tu peux modifier le Titre du sujet en y ajoutant par exemple RésoluTu peux aussi modifier tout (ou une partie) de ton message, etc ... Bone programmation! | |
| | | leclode
Nombre de messages : 39 Date d'inscription : 01/11/2022
| Sujet: Re: SPIN et aide langage (résolu) Sam 23 Mar 2024 - 15:20 | |
| Ah oui bien vu. Avec les jours ça fonctionnes (février a bien 28 ou 29 jours et les autres 30 ou 31), mais pas avec les mois ça change pas si celui-ci est supérieur aux maximum. C'est bon c'est résolu et j'ai rajouté tes lignes pour la taille. En fait j'avais pas fait attention aux mois Du coup je vais pouvoir mettre résolu et changer le premier envoi. Merci pour votre aide | |
| | | Contenu sponsorisé
| Sujet: Re: SPIN et aide langage (résolu) | |
| |
| | | | SPIN et aide langage (résolu) | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |