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 |
|
|
| Terminate qui BEEP ... | |
| | Auteur | Message |
---|
Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Terminate qui BEEP ... Jeu 26 Fév 2015 - 0:01 | |
| Bonjour les Amis Panoramiciens ! Désolé de revenir sur un sujet déjà traité : Terminate qui BEEP ... - Spoiler:
DIM x DIM y x = SCREEN_x y = SCREEN_y LEFT 0,(x-700)/2 TOP 0,(y-320)/2 WIDTH 0,700 HEIGHT 0,320 COLOR 0, 150,180,150 CAPTION 0, "Calculatrice Matière Sèche" FONT_NAME 0, "Arial" FONT_SIZE 0, 14
LABEL Mask LABEL Saisie_Qantite LABEL Saisie_Matiere_Seche LABEL Saisie_Qantite_2 LABEL Saisie_Matiere_Seche_2 LABEL Calcul_Affichage LABEL Raz LABEL Info LABEL Quitter
DIM Qt1 DIM Qt2 DIM Qt3 DIM MS1 DIM MS2 DIM MS3 DIM N DIM L DIM A$
GOSUB Mask
ON_CLICK 18, Raz ON_CLICK 20, Info ON_CHANGE 5, Saisie_Qantite ON_CHANGE 6, Saisie_Qantite_2 ON_CHANGE 8, Saisie_Matiere_Seche ON_CHANGE 9, Saisie_Matiere_Seche_2 ON_CLICK 19, Quitter
END
' ----------------------------------------------------------------------------
Saisie_Qantite:
N=NUMBER_CHANGE a$=RIGHT$(TEXT$(N),1) IF a$="" THEN QT1=0 : TEXT N, QT1: GOSUB Calcul_Affichage : RETURN IF a$="." or a$="," THEN L=LEN(TEXT$(N)) : TEXT N, LEFT$(TEXT$(N),L-1) + "." : CARET_POSITION N, L : RETURN IF ASC(a$)<48 or ASC(a$)>57 THEN L=LEN(TEXT$(N)) : TEXT N, LEFT$(TEXT$(N),L-1) : CARET_POSITION N, L : RETURN QT1=VAL(LEFT$(TEXT$(N),6)) TEXT N, QT1 L=LEN(TEXT$(N)):CARET_POSITION N, L GOSUB Calcul_Affichage
RETURN
' ----------------------------------------------------------------------------
Saisie_Qantite_2:
N=NUMBER_CHANGE a$=RIGHT$(TEXT$(N),1) IF a$="" THEN QT2=0 : TEXT N, QT2: GOSUB Calcul_Affichage : RETURN IF a$="." or a$="," THEN L=LEN(TEXT$(N)) : TEXT N, LEFT$(TEXT$(N),L-1) + "." : CARET_POSITION N, L : RETURN IF ASC(a$)<48 or ASC(a$)>57 THEN L=LEN(TEXT$(N)) : TEXT N, LEFT$(TEXT$(N),L-1):CARET_POSITION N,L: RETURN QT2=VAL(LEFT$(TEXT$(N),6)) TEXT N, QT2 L=LEN(TEXT$(N)):CARET_POSITION N, L GOSUB Calcul_Affichage
RETURN
' ----------------------------------------------------------------------------
Saisie_Matiere_Seche:
N=NUMBER_CHANGE a$=RIGHT$(TEXT$(N),1) IF a$="" THEN MS1=0 : TEXT N, MS1: GOSUB Calcul_Affichage : RETURN IF a$="." or a$="," THEN L=LEN(TEXT$(N)) : TEXT N, LEFT$(TEXT$(N),L-1) + "." : CARET_POSITION N, L : RETURN IF ASC(a$)<48 or ASC(a$)>57 THEN L=LEN(TEXT$(N)) : TEXT N, LEFT$(TEXT$(N),L-1):CARET_POSITION N,L: RETURN MS1=VAL(LEFT$(TEXT$(N),5)) IF MS1>100 then MS1=100 TEXT N, MS1 L=LEN(TEXT$(N)):CARET_POSITION N, L GOSUB Calcul_Affichage
RETURN
' ----------------------------------------------------------------------------
Saisie_Matiere_Seche_2:
N=NUMBER_CHANGE a$=RIGHT$(TEXT$(N),1) IF a$="" THEN MS2=0 : TEXT N, MS2: GOSUB Calcul_Affichage : RETURN IF a$="." or a$="," THEN L=LEN(TEXT$(N)) : TEXT N, LEFT$(TEXT$(N),L-1) + "." : CARET_POSITION N, L : RETURN IF ASC(a$)<48 or ASC(a$)>57 THEN L=LEN(TEXT$(N)) : TEXT N, LEFT$(TEXT$(N),L-1):CARET_POSITION N,L: RETURN MS2=VAL(LEFT$(TEXT$(N),5)) IF MS2>100 then MS2=100 TEXT N, MS2 L=LEN(TEXT$(N)):CARET_POSITION N, L GOSUB Calcul_Affichage
RETURN
' ----------------------------------------------------------------------------
Calcul_Affichage:
QT3 = QT1 + QT2 IF QT3 <> 0 THEN MS3 = ((QT1*MS1/100)+(QT2*MS2/100))*100/QT3 MS3 = INT(MS3*100) MS3 = MS3/100 CAPTION 7, QT3 CAPTION 13, MS3
RETURN
' ---------------------------------------------------------------------------- Mask:
ALPHA 1 LEFT 1, 143 TOP 1, 21 WIDTH 1, 85 CAPTION 1, "Calcul Matière Sèche du mélange de 2 produits"
' LIGNE 1
ALPHA 2 LEFT 2,105 TOP 2, 65 WIDTH 2, 85 CAPTION 2, "Produit 1"
ALPHA 3 LEFT 3, 305 TOP 3, 65 WIDTH 3, 85 CAPTION 3, "Produit 2"
ALPHA 4 LEFT 4, 505 TOP 4, 65 WIDTH 4, 85 CAPTION 4, "Mélange"
' LIGNE 2 Quantités
ALPHA 10 LEFT 10, 50 TOP 10, 103 WIDTH 10, 85 CAPTION 10, "Qté :"
EDIT 5 LEFT 5, 100 TOP 5, 100 WIDTH 5, 85 HEIGHT 5, 30 TEXT 5, QT1
ALPHA 11 LEFT 11, 250 TOP 11, 103 WIDTH 11, 85 CAPTION 11, "Qté :"
EDIT 6 LEFT 6, 300 TOP 6, 100 WIDTH 6, 85 HEIGHT 6, 30 TEXT 6, QT2
ALPHA 12 LEFT 12, 450 TOP 12, 103 WIDTH 12, 85 CAPTION 12, "Qté :" BUTTON 7 LEFT 7, 499 TOP 7, 100 WIDTH 7, 87 HEIGHT 7, 32
' LIGNE 3 Matière Sèche
ALPHA 15 LEFT 15, 31 TOP 15, 153 WIDTH 15, 85 CAPTION 15, "% MS :"
EDIT 8 LEFT 8, 100 TOP 8, 150 WIDTH 8, 85 HEIGHT 8, 30 TEXT 8, MS1
ALPHA 16 LEFT 16, 231 TOP 16, 153 WIDTH 16, 85 CAPTION 16, "% MS :" EDIT 9 LEFT 9, 300 TOP 9, 150 WIDTH 9, 85 HEIGHT 9, 30 TEXT 9, MS2
ALPHA 17 LEFT 17, 431 TOP 17, 153 WIDTH 17, 85 CAPTION 17, "% MS :"
BUTTON 13 LEFT 13, 499 TOP 13, 150 WIDTH 13, 87 HEIGHT 13, 32
' Boutons R.A.Z., QUITTER et ? BUTTON 18 LEFT 18, 99 TOP 18, 220 WIDTH 18, 87 HEIGHT 18, 32 CAPTION 18, "R.A.Z."
BUTTON 19 LEFT 19, 299 TOP 19, 220 WIDTH 19, 87 HEIGHT 19, 32 CAPTION 19, "Quitter"
BUTTON 20 LEFT 20, 499 TOP 20, 220 WIDTH 20, 87 HEIGHT 20, 32 CAPTION 20, "?" RETURN ' ---------------------------------------------------------------------------- Raz:
OFF_CHANGE 5 OFF_CHANGE 6 OFF_CHANGE 8 OFF_CHANGE 9 QT1 = 0 QT2 = 0 QT3 = 0 MS1 = 0 MS2 = 0 MS3 = 0 TEXT 5, QT1 TEXT 6, QT2 TEXT 8, MS1 TEXT 9, MS2 CAPTION 7, "" CAPTION 13, "" ON_CHANGE 5, Saisie_Qantite ON_CHANGE 6, Saisie_Qantite_2 ON_CHANGE 8, Saisie_Matiere_Seche ON_CHANGE 9, Saisie_Matiere_Seche_2
RETURN
' ---------------------------------------------------------------------------- Info: MESSAGE "http://panoramic-language.pagesperso-orange.fr" RETURN
' ----------------------------------------------------------------------------
Quitter: Terminate
Auriez-vous une idée ? Avec mes remerciements, Marc | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 26 Fév 2015 - 0:35 | |
| Fut un temps où la déclaration du label comme tu l' as fait supprimait ce problème. Apparemment le problème revient mais perso je n' ai pas de solution si ce n' est de couper le son de mon ordi quand je ne suis pas sur de la vidéo ou de la musique. Désolé. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Terminate qui BEEP ... Jeu 26 Fév 2015 - 0:50 | |
| Cela semble normal, même si c'est gênant. Même le programme suivant "sonne": - Code:
-
terminate end
Alors, à part poser la question à Jack, je ne vois pas... | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Terminate qui BEEP ... Jeu 26 Fév 2015 - 1:02 | |
| Salut Marc37 Ce ‘problème’ a été signalé à plusieurs reprises et - Jack a écrit:
- Je vais regarder pourquoi, mais une chose est sure, c'est qu'un BEEP n'a pas été programmé avec TERMINATE, il ne peut venir que de Windows et non de PANORAMIC.
Voir iciRien de changé,depuis. Petite remarque : Quand tu postes un code, même si tu utilises SPOILER, il est souhaitable de le mettre entre les balises [ code ] ... [ / code ]
Dernière édition par papydall le Jeu 26 Fév 2015 - 4:38, édité 1 fois | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Terminate qui BEEP ... Jeu 26 Fév 2015 - 1:11 | |
| Certes, le beep vient de Windows. Et non de Panoramic. Mais il y a un fait troublant: si l'on arrête le programme par la croix rouge, il n'y a pas de beep ! Et donc, il y a une différence, et Windows estime avoir reçu une notification qui correspond au son émis. Il faut creuser de ce côté-là. Si l'on arrête le programme de cette manière: - Code:
-
dim res% dll_on "KGF.dll" res% = dll_call1("KillProcessByHandle",handle(0))
il n'y a pas de beep. Donc, cela vient bien de la façon dont Panoramic arrête son processus. | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Terminate qui BEEP ... Jeu 26 Fév 2015 - 2:10 | |
| Je crois que la cause de ce beep est la commande END. Si on fait en sorte que le programme ne puisse jamais atteindre la commande END, il n’y aura plus de beep. Vous dites que le END est nécessaire pour que le programme n’aille pas regarder ailleurs ? On peut mettre ou omettre le END et OBLIGER le programme à ne jamais exécuter cette commande sans depassement de ses frontières en mettant à la place de END, une boucle sans fin. Ce petit code illustre ce que je dis : - Code:
-
label quit button 10 : left 10,500 : caption 10,"bouton" : on_click 10,quit print "Click sur le bouton pour terminer avec TERMINATE sans bip"
while "Papydall" <> "Panoramic" : end_while : ' boucle interminable ! end rem ==================================================================
quit: terminate
Mettez la ligne 5 en REM et le beep sera au rendez-vous! Dans cet exemple, le END n'est plus nécessaire. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Terminate qui BEEP ... Jeu 26 Fév 2015 - 2:15 | |
| Certes... mais inapplicable dans une application réelle, à cause de la boucle. Et c'est même plus bizarre que ça: tu n'as même pas besoin de passer par END pour que ça sonne: - Code:
-
terminate end A l'évidence, on ne passe pas par END. Mais ça sonne. Par contre: - Code:
-
terminate ne sonne pas... Au secours, Jack ! | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 26 Fév 2015 - 2:20 | |
| J' ai essayé vos codes @ Papydall, avec ou sans boucle pas de bip @ Klaus, Pas de bip Edit : je viens même de reprendre le code de Marc 37, pas de bip. Et j' ai remis le son de mon ordi !... | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Terminate qui BEEP ... Jeu 26 Fév 2015 - 2:26 | |
| @Klaus Après TERMINATE, toute autre commande (même un 2ème TERMINATE) provoque un beep, sauf REM. - Klaus a écrit:
- Certes... mais inapplicable dans une application réelle, à cause de la boucle
Pourquoi inapplicable ? Cette boucle sans fin n’interdit pas les événements ON_xxx Certes le programme boucle à cet endroit mais il surveille les événements, non ? @Ygeronimi Tu dis pas de bip ? Sous quel OS es-tu ? | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 26 Fév 2015 - 2:52 | |
| | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 26 Fév 2015 - 2:57 | |
| Va sur ton ecran clic droit clic Personnalisation clic sons modèle de sons : (combo) Sons Windows par défaut Evènements : (list) Fermer le programme Sons : (combo) Aucun Et il ne m' emm.... plus avec le bip | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Terminate qui BEEP ... Jeu 26 Fév 2015 - 3:16 | |
| - Code:
-
rem ============================================================================ rem Demonstration de TERMINATE sans provoquer de son rem ============================================================================
label continue,suite,encore,fin
button 10 : top 10,20 : left 10,050 : caption 10,"continue" : on_click 10,continue button 20 : top 20,20 : left 20,150 : caption 20,"suite " : on_click 20,suite button 30 : top 30,20 : left 30,250 : caption 30,"encore " : on_click 30,encore button 40 : top 40,20 : left 40,350 : caption 40,"fin " : on_click 40,fin
While "Papydall" <> "Panoramic" : end_while ' Le programme entre dans une boucle sans fin, mais il continue à surveiller ' les événements ON_CLICK ' il ne peut pas atteindre la commande END ' et le TERMINATE ne provoque plus le son reconnu désagréable. ' Si vous REMez la ligne 12, le TERMINATE provoquera le son
end rem ============================================================================ continue: message "Tourne, tourne ma toupie" return
suite: message "C'est la suite" return
encore: message "Tourne encore" return
fin: message "Toute chose a une fin" terminate rem ============================================================================
Dernière édition par papydall le Jeu 26 Fév 2015 - 4:11, édité 1 fois | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Terminate qui BEEP ... Jeu 26 Fév 2015 - 3:43 | |
| Une autre façon de terminer le programme sans émission du son et sans recours à la boucle infini - Code:
-
execute_wait "cmd /c taskkill /im panoramic.exe" - Code:
-
rem ============================================================================ rem Demonstration de TERMINATE sans provoquer de son rem ============================================================================
label continue,suite,encore,fin
button 10 : top 10,20 : left 10,050 : caption 10,"continue" : on_click 10,continue button 20 : top 20,20 : left 20,150 : caption 20,"suite " : on_click 20,suite button 30 : top 30,20 : left 30,250 : caption 30,"encore " : on_click 30,encore button 40 : top 40,20 : left 40,350 : caption 40,"fin " : on_click 40,fin
end rem ============================================================================ continue: message "Tourne, tourne ma toupie" return
suite: message "C'est la suite" return
encore: message "Tourne encore" return
fin: message "Toute chose a une fin" execute_wait "cmd /c taskkill /im panoramic.exe" rem ============================================================================
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Terminate qui BEEP ... Jeu 26 Fév 2015 - 8:27 | |
| Le problème de la boucle sans fin est réel, Papydall. Certes, ça fonctionne, et ça respecte les évènements. Mais ça mange du temps unité centrale, et ça ralentit donc tout le reste, de façon importante. C'est tout le bénéfice de la programmation évènementielle qui est perdu.
Ton idée avec la commande EXECUTE est la bonne - cet utilitaire appelle de façon interne le même service que ma fonction DLL, mais sans recourir à KGF.dll. | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: BEEP BEEP Jeu 26 Fév 2015 - 23:05 | |
| Bonsoir à tous ! Merci de toutes vos nombreuses réponses. J'ai fini par mettre une boucle vide WHILE. - Code:
-
DIM x DIM y x = SCREEN_x y = SCREEN_y LEFT 0,(x-700)/2 TOP 0,(y-320)/2 WIDTH 0,700 HEIGHT 0,320 COLOR 0, 150,180,150 CAPTION 0, "Calculatrice Matière Sèche" FONT_NAME 0, "Arial" FONT_SIZE 0, 14
LABEL Mask LABEL Saisie_Qantite LABEL Saisie_Matiere_Seche LABEL Saisie_Qantite_2 LABEL Saisie_Matiere_Seche_2 LABEL Calcul_Affichage LABEL Raz LABEL Info LABEL Quitter LABEL Boucle_Terminate_Anti_BEEP
DIM Qt1 DIM Qt2 DIM Qt3 DIM MS1 DIM MS2 DIM MS3 DIM N DIM L DIM A$
GOSUB Mask
ON_CLICK 18, Raz ON_CLICK 20, Info ON_CHANGE 5, Saisie_Qantite ON_CHANGE 6, Saisie_Qantite_2 ON_CHANGE 8, Saisie_Matiere_Seche ON_CHANGE 9, Saisie_Matiere_Seche_2 ON_CLICK 19, Quitter
GOSUB Boucle_Terminate_Anti_BEEP
END
' ----------------------------------------------------------------------------
Saisie_Qantite:
N=NUMBER_CHANGE a$=RIGHT$(TEXT$(N),1) IF a$="" THEN QT1=0 : TEXT N, QT1: GOSUB Calcul_Affichage : RETURN IF a$="." or a$="," THEN L=LEN(TEXT$(N)) : TEXT N, LEFT$(TEXT$(N),L-1) + "." : CARET_POSITION N, L : RETURN IF ASC(a$)<48 or ASC(a$)>57 THEN L=LEN(TEXT$(N)) : TEXT N, LEFT$(TEXT$(N),L-1) : CARET_POSITION N, L : RETURN QT1=VAL(LEFT$(TEXT$(N),6)) TEXT N, QT1 L=LEN(TEXT$(N)):CARET_POSITION N, L GOSUB Calcul_Affichage
RETURN
' ----------------------------------------------------------------------------
Saisie_Qantite_2:
N=NUMBER_CHANGE a$=RIGHT$(TEXT$(N),1) IF a$="" THEN QT2=0 : TEXT N, QT2: GOSUB Calcul_Affichage : RETURN IF a$="." or a$="," THEN L=LEN(TEXT$(N)) : TEXT N, LEFT$(TEXT$(N),L-1) + "." : CARET_POSITION N, L : RETURN IF ASC(a$)<48 or ASC(a$)>57 THEN L=LEN(TEXT$(N)) : TEXT N, LEFT$(TEXT$(N),L-1):CARET_POSITION N,L: RETURN QT2=VAL(LEFT$(TEXT$(N),6)) TEXT N, QT2 L=LEN(TEXT$(N)):CARET_POSITION N, L GOSUB Calcul_Affichage
RETURN
' ----------------------------------------------------------------------------
Saisie_Matiere_Seche:
N=NUMBER_CHANGE a$=RIGHT$(TEXT$(N),1) IF a$="" THEN MS1=0 : TEXT N, MS1: GOSUB Calcul_Affichage : RETURN IF a$="." or a$="," THEN L=LEN(TEXT$(N)) : TEXT N, LEFT$(TEXT$(N),L-1) + "." : CARET_POSITION N, L : RETURN IF ASC(a$)<48 or ASC(a$)>57 THEN L=LEN(TEXT$(N)) : TEXT N, LEFT$(TEXT$(N),L-1):CARET_POSITION N,L: RETURN MS1=VAL(LEFT$(TEXT$(N),5)) IF MS1>100 then MS1=100 TEXT N, MS1 L=LEN(TEXT$(N)):CARET_POSITION N, L GOSUB Calcul_Affichage
RETURN
' ----------------------------------------------------------------------------
Saisie_Matiere_Seche_2:
N=NUMBER_CHANGE a$=RIGHT$(TEXT$(N),1) IF a$="" THEN MS2=0 : TEXT N, MS2: GOSUB Calcul_Affichage : RETURN IF a$="." or a$="," THEN L=LEN(TEXT$(N)) : TEXT N, LEFT$(TEXT$(N),L-1) + "." : CARET_POSITION N, L : RETURN IF ASC(a$)<48 or ASC(a$)>57 THEN L=LEN(TEXT$(N)) : TEXT N, LEFT$(TEXT$(N),L-1):CARET_POSITION N,L: RETURN MS2=VAL(LEFT$(TEXT$(N),5)) IF MS2>100 then MS2=100 TEXT N, MS2 L=LEN(TEXT$(N)):CARET_POSITION N, L GOSUB Calcul_Affichage
RETURN
' ----------------------------------------------------------------------------
Calcul_Affichage:
QT3 = QT1 + QT2 IF QT3 <> 0 THEN MS3 = ((QT1*MS1/100)+(QT2*MS2/100))*100/QT3 MS3 = INT(MS3*100) MS3 = MS3/100 CAPTION 7, QT3 CAPTION 13, MS3
RETURN
' ---------------------------------------------------------------------------- Mask:
ALPHA 1 LEFT 1, 143 TOP 1, 17 WIDTH 1, 85 CAPTION 1, "Calcul Matière Sèche du mélange de 2 produits"
' LIGNE 1
ALPHA 2 LEFT 2,105 TOP 2, 65 WIDTH 2, 85 CAPTION 2, "Produit 1"
ALPHA 3 LEFT 3, 305 TOP 3, 65 WIDTH 3, 85 CAPTION 3, "Produit 2"
ALPHA 4 LEFT 4, 505 TOP 4, 65 WIDTH 4, 85 CAPTION 4, "Mélange"
' LIGNE 2 Quantités
ALPHA 10 LEFT 10, 50 TOP 10, 103 WIDTH 10, 85 CAPTION 10, "Qté :"
EDIT 5 LEFT 5, 100 TOP 5, 100 WIDTH 5, 85 HEIGHT 5, 30 TEXT 5, QT1
ALPHA 11 LEFT 11, 250 TOP 11, 103 WIDTH 11, 85 CAPTION 11, "Qté :"
EDIT 6 LEFT 6, 300 TOP 6, 100 WIDTH 6, 85 HEIGHT 6, 30 TEXT 6, QT2
ALPHA 12 LEFT 12, 450 TOP 12, 103 WIDTH 12, 85 CAPTION 12, "Qté :" BUTTON 7 LEFT 7, 499 TOP 7, 100 WIDTH 7, 87 HEIGHT 7, 32
' LIGNE 3 Matière Sèche
ALPHA 15 LEFT 15, 31 TOP 15, 153 WIDTH 15, 85 CAPTION 15, "% MS :"
EDIT 8 LEFT 8, 100 TOP 8, 150 WIDTH 8, 85 HEIGHT 8, 30 TEXT 8, MS1
ALPHA 16 LEFT 16, 231 TOP 16, 153 WIDTH 16, 85 CAPTION 16, "% MS :" EDIT 9 LEFT 9, 300 TOP 9, 150 WIDTH 9, 85 HEIGHT 9, 30 TEXT 9, MS2
ALPHA 17 LEFT 17, 431 TOP 17, 153 WIDTH 17, 85 CAPTION 17, "% MS :"
BUTTON 13 LEFT 13, 499 TOP 13, 150 WIDTH 13, 87 HEIGHT 13, 32
' Boutons R.A.Z., QUITTER et ? BUTTON 18 LEFT 18, 99 TOP 18, 220 WIDTH 18, 87 HEIGHT 18, 32 CAPTION 18, "R.A.Z."
BUTTON 19 LEFT 19, 299 TOP 19, 220 WIDTH 19, 87 HEIGHT 19, 32 CAPTION 19, "Quitter"
BUTTON 20 LEFT 20, 499 TOP 20, 220 WIDTH 20, 87 HEIGHT 20, 32 CAPTION 20, "?" RETURN ' ---------------------------------------------------------------------------- Raz:
OFF_CHANGE 5 OFF_CHANGE 6 OFF_CHANGE 8 OFF_CHANGE 9 QT1 = 0 QT2 = 0 QT3 = 0 MS1 = 0 MS2 = 0 MS3 = 0 TEXT 5, QT1 TEXT 6, QT2 TEXT 8, MS1 TEXT 9, MS2 CAPTION 7, "" CAPTION 13, "" ON_CHANGE 5, Saisie_Qantite ON_CHANGE 6, Saisie_Qantite_2 ON_CHANGE 8, Saisie_Matiere_Seche ON_CHANGE 9, Saisie_Matiere_Seche_2
RETURN
' ---------------------------------------------------------------------------- Info: MESSAGE "http://panoramic-language.pagesperso-orange.fr" RETURN
' ---------------------------------------------------------------------------- Boucle_Terminate_Anti_BEEP: WHILE x <> 0 END_WHILE
' ---------------------------------------------------------------------------- Quitter: Terminate Résultats : - Pas d'incidence pour ce petit programme ; - Plus de BEEP ; - La croix de la fenêtre est devenue inactive ? ! (sans importance et qui peut être utile dans certaines applications ! ) Voilà qui va bientôt clore mon (pico-)programme avec une certaine satisfaction d'avoir réussi mon contrôle de saisie "maison" de mes cases EDIT et en plus, avec le calcul en temps réel lors de la saisie de chaque chiffre. Encore MERCI à tous de votre aide. Marc | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Terminate qui BEEP ... Jeu 26 Fév 2015 - 23:18 | |
| Bravo Marc37 Tu as réussi ce que tu voulais et c’est l’essentiel. - Marc37 a écrit:
- La croix de la fenêtre est devenue inactive ?
Tu peux l’activer, en ajoutant cette ligne - Code:
-
on_close 0,quitter Essaie pour voir | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 26 Fév 2015 - 23:21 | |
| @ Marc 37, Ton programme pourrait être encore plus performant. Tu dois bien avoir un base de données avec le pourcentage de matière sèche pour chaque produit ? Si tu remplaces certains edit par des spin et en faisant appel à un fichier externe que tu charges en début de programme.... ...je te laisse imaginer la suite. | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Terminate qui BEEP ... Jeu 26 Fév 2015 - 23:24 | |
| La suite ne serait qu’un excellent exercice de codage pour Marc. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 26 Fév 2015 - 23:27 | |
| Pourrais tu donner une liste de produit avec le pourcentage de matières sèche....
Style :
Produit | 10 | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Terminate qui BEEP ... Jeu 26 Fév 2015 - 23:59 | |
| @papydall Je confirme : - Code:
-
ON_CLOSE 0, quitter fonctionne parfaitement bien. Merci ! @ygeronimi : Non, je n'ai pas de liste de produits. Ce petit utilitaire sert uniquement au calcul du mélange de 2 liquides (Lactosérum) qui ont un taux de matière sèche variable suivant l'arrivage. Ainsi, il peut être livré 27000 litres de lacto à 20% de M.S. puis 15000 litres de lacto à 5% de M.S. Ces produits sont mélangés et servent à nourrir des animaux. C'est pour mon beau-frère qui est éleveur. Encore merci et bonne nuit à tous ! Marc | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Terminate qui BEEP ... Ven 27 Fév 2015 - 7:53 | |
| Panoramic au service de l'agriculture, c'est beau... | |
| | | Jack Admin
Nombre de messages : 2395 Date d'inscription : 28/05/2007
| Sujet: Re: Terminate qui BEEP ... Sam 28 Fév 2015 - 19:42 | |
| Je viens de corriger le bug qui faisait "beeper" la commande TERMINATE. Car il s'agissait d'un bug dans PANORAMIC. La correction est disponible dans mon Webdav, dans : PANORAMIC_VERSION_DE_TRAVAIL / VERSION_SANS_EDITEUR. Etant en déplacement professionnel au Moyen-Orient et ne pouvant actuellement pas générer une version avec éditeur, j'ai fait le minimum : panoramic.exe (sans éditeur) afin que vous puissez tester la correction. _________________ username : panoramic@jack-panoramic password : panoramic123 | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: MERCI Sam 28 Fév 2015 - 22:27 | |
| @Jack
Un grand MERCI pour tout le travail colossal accompli !
MERCI pour ton dévouement.
MERCI pour ce langage très ludique et convivial.
MERCI aussi à tous les "électrons" qui gravitent autour...
Marc | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Terminate qui BEEP ... Dim 1 Mar 2015 - 0:55 | |
| Correction testée : C'est OK. Merci Jack. | |
| | | Contenu sponsorisé
| Sujet: Re: Terminate qui BEEP ... | |
| |
| | | | Terminate qui BEEP ... | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |