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 |
|
|
| Détournement de SPIN . . . | |
| | Auteur | Message |
---|
Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Détournement de SPIN . . . Ven 6 Mar 2015 - 23:20 | |
| Bonjour à tous ! Détournement de SPIN ... - Code:
-
DIM Heure$ DIM Minute$ DIM HeureMinute$
LABEL Mask LABEL Affichage gosub Mask gosub Affichage
ON_CHANGE 1, Affichage ON_CHANGE 3, Affichage
END
' ----------------------------------------------------------------------------- Affichage: Heure$ = TEXT$(3) Minute$ = TEXT$(1) IF VAL(Minute$)=60 then Minute$="0": position 1, 0 IF VAL(Minute$)=-1 then Minute$="59": position 1, 59 IF VAL(heure$)=24 then Heure$="0": position 3, 0 IF VAL(heure$)=-1 then Heure$="23": position 3, 23 If LEN(heure$) < 2 then Heure$ = "0" + heure$ If LEN(Minute$)< 2 then Minute$= "0" + Minute$ HeureMinute$=" " + Heure$ + ":" + Minute$ TEXT 2, HeureMinute$
RETURN
' ----------------------------------------------------------------------------- Mask: spin 1 TOP 1, 55 LEFT 1, 174 width 1,20 HEIGHT 1, 50 POSITION 1, 0 MAX 1, 60 MIN 1 , -1
EDIT 2 FONT_SIZE 2, 32 TOP 2,55 LEFT 2,50 WIDTH 2, 125 HEIGHT 2, 50
spin 3 TOP 3, 55 LEFT 3, 31 width 3,20 HEIGHT 3, 50 POSITION 3, 0 MAX 3, 24 MIN 3, -1 RETURN | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Détournement de SPIN . . . Ven 6 Mar 2015 - 23:30 | |
| | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 7 Mar 2015 - 6:23 | |
| Joli Marc, bien vu ! Bravo ! | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Détournement de SPIN . . . Sam 7 Mar 2015 - 9:51 | |
| Bonjour, très bonne utilisation des SPIN, comme tu postes sur le forum, je me permets quelques petites remarques puisque c'est aussi l’intérêt de poster son code. Tu utilises un objet EDIT pour l'horloge, mais du coup, tu devrais faire une procédure pour tester le validité du contenu si l'utilisateur modifie la valeur de l'horloge par ce moyen. Comme ton programme sert à montrer la mise à jour par les SPIN, j'ai remplacé l'EDIT par un ALPHA, ce qui ne permet plus l'édition de cette valeur et ça tombe bien puisque c'est ce que l'on veut. J'ai rajouté aussi une initialisation de l'horloge au départ par l'heure du système, c'est un choix personnel actuellement inutile car dans ce programme de démonstration on n'utilise pas cette horloge, mais bon Je t'ai rajouté aussi une procédure MinutePassee pour mettre à jour l'horloge en fonction du temps qui passe. J'a fais une solution simple avec un Timer, avec le temps il y aurait peut être un petit décalage avec al vrai heure, mais bon, ce serait à vérifier selon l'usage que l'on voudrait faire de l'horloge. Le reste des modifications est secondaire et personnel, j'ai remplacé le sous programme créant l'horloge par une procédure. Personnellement j'utilise les SUB pour tout ce qui n'est pas événementiel, mais c'est un choix purement personnel et l'usage d'un GOSUB est tout à fait correct. Les petites modifications de la mise en forme sont pareillement personnel. En fait, je regroupe un peu les propriétés d'un objet lorsque je le créé par ce que quand on en a beaucoup, cela représente vite beaucoup de lignes et dans les grands programmes, une fois que les objets ont été créés, ce ne sont plus eux qui posent problème, par ontre il faut faire défiler les lignes pour débugguer les éventuelles erreurs que l'on a fait ailleurs. Bref, c'est une habitude que j'ai pris, ce qui en aucun cas signifie que ce soit une bonne habitude. Le code donne: - Code:
-
' Programme utilisant des objes SPIN pour mettre à jour une horloge ' (sans modification de l'horloge système)
DIM Heure$, Minute$ : ' Variables texte permettant de stocker l'heure et les minutes
LABEL Affichage : ' Procédure permettant de mettre à jour l'horloge quand on clic sur les flèches des SPIN LABEL MinutePassee : ' Une minute s'est écoulée
CreeHorloge() : ' Création de l'horloge ' Initialisation de l'horloge Minute$ = TIME$ : Heure$ = LEFT$(Minute$, 2) : Minute$ = MID$(Minute$, 4, 2) POSITION 1,VAL(Minute$) : POSITION 3,VAL(heure$) GOSUB Affichage
' Si modification par les SPIN, mettre à jour l'horloge ON_CHANGE 1, Affichage : ON_CHANGE 3, Affichage TIMER 4 : TIMER_INTERVAL 4,60000 : ON_TIMER 4,MinutePassee
END
' ----------------------------------------------------------------------------- Affichage:
Heure$ = TEXT$(3) Minute$ = TEXT$(1) IF VAL(Minute$)= 60 THEN Minute$="0" : POSITION 1, 0 IF VAL(Minute$)= -1 THEN Minute$="59": POSITION 1, 59 IF VAL(heure$) = 24 THEN Heure$="0" : POSITION 3, 0 IF VAL(heure$) = -1 THEN Heure$="23" : POSITION 3, 23 IF LEN(heure$) < 2 THEN Heure$ = "0" + heure$ IF LEN(Minute$) < 2 THEN Minute$= "0" + Minute$ CAPTION 2, " " + Heure$ + ":" + Minute$
RETURN
' ----------------------------------------------------------------------------- SUB CreeHorloge()
SPIN 1 : TOP 1, 55 : LEFT 1, 174 : WIDTH 1,20 : HEIGHT 1, 50 POSITION 1, 0 : MAX 1, 60 : MIN 1 , -1 ALPHA 2 : FONT_SIZE 2, 32 : TOP 2,55 : LEFT 2,50 : WIDTH 2, 125 : HEIGHT 2, 50 SPIN 3 : TOP 3, 55 : LEFT 3, 31 : WIDTH 3,20 : HEIGHT 3, 50 POSITION 3, 0 : MAX 3, 24 : MIN 3, -1
END_SUB ' ----------------------------------------------------------------------------- MinutePassee: Heure$ = TEXT$(3) Minute$ = TEXT$(1) IF VAL(Minute$) > 58 Minute$="0" : POSITION 1, 0 Heure$ = STR$(POSITION(3) + 1) IF VAL(Heure$) = 24 THEN Heure$ = 0 POSITION 3, VAL(Heure$) ELSE Minute$ = STR$(POSITION(1) + 1) POSITION 1, VAL(Minute$) END_IF IF LEN(heure$) < 2 THEN Heure$ = "0" + heure$ IF LEN(Minute$) < 2 THEN Minute$= "0" + Minute$ CAPTION 2, " " + Heure$ + ":" + Minute$
RETURN | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Détournement de SPIN . . . Sam 7 Mar 2015 - 13:17 | |
| Bravo Marc37, J'attends, avant de commenter, tes réactions par rapport au code de Jicehel. En effet les modifications de ton code (proposées par Jicehel) dépendent de ce que tu souhaites faire avec le tien. Je précise pour Jicehel que la modification du code est bien faite, je ne la critique pas. A+ PS: une remarque: le titre du sujet est "détournement de SPIN...". Je trouve qu'on est dans une utilisation normale et classique de SPIN. Mais bon, c'est pour pinailler | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Détournement de SPIN . . . Sam 7 Mar 2015 - 14:24 | |
| Pas de problème Jean-Claude Le code envoyé par Marc 37 est propre et j'ai essayé d'expliquer le pourquoi de mes modifs / ajouts. J'ai juste oublié de dire que j'avais eu envie de faire ces ajouts par ce que j'aimais bien cet idée et son affichage. Après je pense que l'idée du détournement du SPIN est sur la gestion des bords 60 => 0 et 24 => 0 , -1 => 59 ou 23 selon qu'il s'agisse des minutes ou des heures | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Détournement de SPIN . . . Sam 7 Mar 2015 - 14:37 | |
| Bonjour à tous,
Merci pour vos encouragements et remarques.
Vu pour l’objet EDIT par un ALPHA. J’avais aussi utilisé un BUTTON qui permet en plus le centrage automatique du CAPTION. Ce petit bout de code est prévu pour programmer une heure de repas d’une fabrique d’aliments qui sera, je l’espère, entièrement pilotée en PANOMARIC… Entièrement c à d : pilotage des machines, gestion des quantités de soupe à créer et à distribuer. La route est longue ! J’ai écrit pour l’instant quelques 5000 lignes très aérées (avec beaucoup d’espaces : c’est plus facile pour moi de m’y retrouver !) que je modifie et re-modifie…
Bon week-end ensoleillé !
Marc | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Détournement de SPIN . . . Sam 7 Mar 2015 - 14:39 | |
| Super ton projet. Bon courage et n'hésite pas à partager ce qui te semble intéressant et à demander de l'aide si besoin. Tiens nous au courant pour savoir si tu as réussi quand tu auras fini et bravo pour ce beau projet. | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Détournement de SPIN . . . Sam 7 Mar 2015 - 15:16 | |
| J’ai mis sur mon Webdav mon programme qui s’appellera CIBUS. Il est loin d’être fini. C’est le fouillis ! Il s’accompagne du fichier de datas CIBUS.CIB. Si vous l’omettez, il sera automatiquement créé. => Version 42 : ce n’est pas une blague ! Rien que pour la présentation, j’ai changé maintes fois d’ergonomie pour finir par adopter qu’une seule et unique forme avec un menu principal latéral. Dans la longue liste à faire : remplacement des LABEL par des SUB ; mise en place des variables locales quand c’est possible ; gestion des heures de repas ; calculs des quantités de soupe à produire et à servir en fonction de l’âge des animaux et du nombre d’animaux par salle ; lors du passage à minuit, re-calcul des rations alimentaires… Bref, comme je disais, la route est longue ! … avec, peut-être un jour, avoir la satisfaction que tout marche !
| |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 7 Mar 2015 - 15:45 | |
| Ne t' affoles pas pour les versions Marc 37, j' en suis à la version 3 de PPE mais ce devrait être 3.60, cela fait 3 ou 4 jours que je tourne en rond, que je change un truc pour finir par le reprendre... Et pour le fouilli, je finis par me perdre dans mon propre code. | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Détournement de SPIN . . . Sam 7 Mar 2015 - 15:47 | |
| Je viens de télécharger CIBUS. Je constate qu’il a besoin de INPOUT32.DLL Bon, je l’ai téléchargé pour tester (je ne trouve pas le fichier rouages.bmp) mais bon, on peut s’en passer. Bravo, beau travail bien que je ne m’y connais pas trop en animaux. NB Pour ceux qui veulent télécharger INPOUT32.dll, c’est ici (en bas de la page.) | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Détournement de SPIN . . . Sam 7 Mar 2015 - 16:48 | |
| Désolé !
Je viens d'ajouter 3 fichiers manquants : - Rouage.bmp - Coche.bmp - Inpout.dll
L'image rouage.bmp est un bouton qui permet l'accès à un sous menu de pilotage des machines.
Marc | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Détournement de SPIN . . . Sam 7 Mar 2015 - 18:53 | |
| Woihou, vla le code !Ne comprenant rien au fonctionnement de ton programme Marc (il faut être expert en la matière), je ne peux pas tester. Par contre, l'interface est sobre et sympathique. Concernant ton code, tes labels sont très explicites, bravo ! Chaque variable est commentée, encore bravo ! Par contre tu dois avoir des crampes à force de faire défiler le code. Tu peux, peut-être, réduire considérablement le nombre de ligne en groupant les attributs des objets sur une ou plusieurs lignes. Exemple pour le bouton 1. - Code:
-
BUTTON 1 : LEFT 1, 13 : TOP 1, 21 : WIDTH 1, 85 : HEIGHT 1, 55 HINT 1, "Entrées Sorties Caractéristiques matières premières" CAPTION 1, "Produits" : ON_CLICK 1, Matieres_Premieres
3 Lignes au lieu de 8, économie de 5 lignes par objet en moyenne et vu le nombre d'objets.... A moins que ce ne soit un choix délibéré ? En tous cas, tu as dû y passer un paquet de temps. Courage pour la suite, je pense que tu es un têtu, donc tu arriveras au bout. Bravo | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Détournement de SPIN . . . Dim 8 Mar 2015 - 9:18 | |
| Bonjour à tous,
Oui c’est un choix délibéré que le code soit « étiré » par soucis de lisibilité. Je ne pense pas qu’il ait de ralentissement une fois le programme compilé en EXE.
Ma routine de saisie répond à une demande précise dans mon programme, mais je suis ouvert à toutes les idées et suggestions. C’est très enchérissant de voir et analyser les différentes méthodes que vous avez développées. Merci pour vos partages.
Les animaux ? Je n’y connais rien aussi ! J’apprends au fur et à mesure. Mon beau-frère est là pour me renseigner et il me donne ses directives. A moi d’essayer de les mettre en code.
Je dérape lentement et me voilà hors sujet. Peut-être devais-je migrer vers le sujet VOS PROJETS ?
Bon dimanche à tous !
Marc | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Détournement de SPIN . . . Dim 8 Mar 2015 - 9:56 | |
| T'inquiète Marc, tu ne SPAM pas en plus c'est ton sujet. On n'es pas non plus obligé de parler 100% code Sinon juste une chose à laquelle tu peux avoir recours, ce sont les includes en répartissant les sous programmes selon la partie du programme (tu l'as peut être déjà fait, mais j'avoue, je n'ai pas récupéré le code pour le moment pour regarder) | |
| | | Contenu sponsorisé
| Sujet: Re: Détournement de SPIN . . . | |
| |
| | | | Détournement de SPIN . . . | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |