FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Un minuteur Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
Un minuteur Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Un minuteur Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Un minuteur Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Un minuteur Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Un minuteur Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Un minuteur Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Un minuteur Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Un minuteur Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Un minuteur Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Un minuteur Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Un minuteur Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Un minuteur Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Un minuteur Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Un minuteur Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
-14%
Le deal à ne pas rater :
Lave-linge hublot HOOVER HWP 10 kg (Induction, 1600 trs/min, Classe ...
299.99 € 349.99 €
Voir le deal

 

 Un minuteur

Aller en bas 
3 participants
AuteurMessage
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Un minuteur Empty
MessageSujet: Un minuteur   Un minuteur EmptyMar 22 Avr 2014 - 16:53

Le problème (déjà évoqué dans le post 'Feux de signalisation'): je lance un Execute_Wait qui met beaucoup de temps à s'exécuter (plusieurs minutes) et pendant ce temps il ne se passe rien à l'écran, ce qui est un peu... angoissant.
Il y a bien l'affichage du feu orange (voir à côté), mais c'est tout aussi statique.

Alors j'ai fait un petit exécutable indépendant: Minuteur.exe, qui affiche l'écoulement du temps sous la forme mm:ss
Cet exécutable est appelé par une Sub Minuteur() du programme principal qui le lance avant l'Execute_wait, et l'arrête à la sortie.
Un minuteur Imgm10
Pendant tout la durée de l'exécution du programme appelé, le décompte du temps est affiché.

L'exécutable indépendant, à compiler comme Minuteur.exe:
Code:
' Minuteur
DIM x%,y%,w%,h%,td%,t%,m%,s%,d%,a$,f$
f$ = "C:\TEMP\Fminut.txt"
IF FILE_EXISTS(f$) = 0 THEN TERMINATE
FILE_OPEN_READ 1, f$
    FILE_READLN 1,a$: x% = VAL(a$)
    FILE_READLN 1,a$: y% = VAL(a$)
FILE_CLOSE 1
w% = 220: h% = 86
TOP 0,y%: LEFT 0,x%: WIDTH 0,w%: HEIGHT 0,h%: BORDER_HIDE 0
COLOR 0,255,255,0
FONT_NAME 0,"Lucida Console": FONT_SIZE 0,48: FONT_BOLD 0: ' PRINT_TARGET_IS 1
td% = 3600*VAL(LEFT$(TIME$,2))+60*VAL(MID$(TIME$,4,2))+VAL(RIGHT$(TIME$,2))
WHILE FILE_EXISTS(f$) = 1
    t% = 3600*VAL(LEFT$(TIME$,2))+60*VAL(MID$(TIME$,4,2))+VAL(RIGHT$(TIME$,2))
    d% = t%-td%:     d% = d%-INT(d%/3600)
    m% = INT(d%/60): s% = d%-60*m%
    a$ = RIGHT$("0"+STR$(m%),2)+":"+RIGHT$("0"+STR$(s%),2)
    PRINT_LOCATE 10,13: PRINT a$
    WAIT 1000
END_WHILE
TERMINATE
La sub d'appel, à insérer dans le programme principal:
Code:
SUB Minuteur(fct%,x%,y%)
' Affichage d'un minuteur indépendant en minutes:secondes en x%,y% de l'écran
' fct%=1: lancement, fct%=0: arrêt
IF fct% = 1
    FILE_OPEN_WRITE 1,"C:\TEMP\Fminut.txt"
        FILE_WRITELN 1,STR$(x%): FILE_WRITELN 1,STR$(y%)
    FILE_CLOSE 1
    EXECUTE "C:\PANORAMIC\Minuteur.exe": ' programme d'affichage du minuteur
ELSE
    FILE_DELETE "C:\TEMP\Fminut.txt": ' arrêt du minuteur
END_IF
END_SUB
C'est tout simple et un peu gadget, mais ça m'ennuyait de perdre complètement la main pendant l'exécution de l'execute_wait.

NB les chemins sont à adapter, notamment le chemin de l'exécutable Minuteur.exe dans la sub.
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Un minuteur Empty
MessageSujet: Re: Un minuteur   Un minuteur EmptyMar 22 Avr 2014 - 17:12

Pas mal et ça peut donner des idées.
En fait c'est le début de la programmation multi taches en temps partager.
Si Nardo était là, il pourrait nous faire une petite théorie la dessus, mais bon, si on arrive à synchroniser plusieurs exe, ça permet d'executer un deuxième programme quand le premier doit attendre.
Avec les fonctions de la DLL de Klaus, on pourrait imaginer par exemple que le programme externe vienne écrire quelque chose dans la fenêtre du programme qui doit attendre.
Enfin ce n'est qu'une idée, mais je pense qu'elle est assez réaliste. Il faut juste que le programme appelant envoit le handle de la fenêtre graphique dans lequel le programme appelé doit écrire.
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Un minuteur Empty
MessageSujet: Re: Un minuteur   Un minuteur EmptyMar 22 Avr 2014 - 17:23

KGF.dll a des fonctions d'envoi et de réception de messages entre programmes Panoramic. On peut très bien envisager une communication pour synchroniser deux ou plusieurs programmes. Si vous êtes en manque de protocoles de communication, je peux en fournir - c'est une longue habitude.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Un minuteur Empty
MessageSujet: Re: Un minuteur   Un minuteur EmptyMar 22 Avr 2014 - 17:44

Je ne vais pas diverger du minuteur sur ce post, mais c'est vrai que je pense que l'on ne l'utilise pas assez dans nos programmes. Bon il faut dire que ce sont pour des usages spécifiques, mais il y a des tas de programmes ou une masse de calcul doivent être fait (par exemple pour la 3D, pour préparer des images, etc ...) et rien n'oblige à avoir une fenêtre figée si on utilise ce procédé de programme externe qui viendrait écrire sur la fenêtre du programme 'bloqué' par une opération dont le résultat est attendu avant de continuer.
Revenir en haut Aller en bas
Contenu sponsorisé





Un minuteur Empty
MessageSujet: Re: Un minuteur   Un minuteur Empty

Revenir en haut Aller en bas
 
Un minuteur
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Minuteur
» Minuteur a intervalles
» Un petit minuteur
» petit minuteur en panoramic

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: