Bonjour
Comment jouer un bip a hh:mm:55
bip a hh:mm:56
bip a hh:mm:57
bip a hh:mm:58
bip a hh:mm:59
bip long a hh:m1:00
Merci pour votre aide.
Cela me servira pour une appli de Gestion éléctronique de course (pour le départ en autre)
Cordialement
Bonjour
Comment jouer un bip a hh:mm:55
bip a hh:mm:56
bip a hh:mm:57
bip a hh:mm:58
bip a hh:mm:59
bip long a hh:m1:00
Merci pour votre aide.
Cela me servira pour une appli de Gestion éléctronique de course (pour le départ en autre)
Cordialement
Bonjour, je pense que tu dois mettre ton beep dans une fonction et celle-ci s’exécute selon ton timer avec des conditions ou tu compares le temps.
Tu aurais pu nous fournir ton code actuel !
Dans le doute, faut reprendre à la base comme si tu ne savais absolument rien sur le Beep
Sommaire →Système →Son (5)
Si cela ne te dérange pas que l'application bloque durant la mélodie mélange Beep et Sleep
Cela peut être un tout petit exe qui faite que ça
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 lblTimer100milli.Caption := FormatDateTime('YYYY-MM-DD HH:NN:SS:ZZZ', Now()); lblTimer100milli.Refresh(); Beep(1000, 100); Sleep(900); lblTimer100milli.Caption := FormatDateTime('YYYY-MM-DD HH:NN:SS:ZZZ', Now()); lblTimer100milli.Refresh(); Beep(1000, 100); Sleep(900); lblTimer100milli.Caption := FormatDateTime('YYYY-MM-DD HH:NN:SS:ZZZ', Now()); lblTimer100milli.Refresh(); Beep(1000, 100); Sleep(900); lblTimer100milli.Caption := FormatDateTime('YYYY-MM-DD HH:NN:SS:ZZZ', Now()); lblTimer100milli.Refresh(); Beep(1000, 100); Sleep(900); lblTimer100milli.Caption := FormatDateTime('YYYY-MM-DD HH:NN:SS:ZZZ', Now()); lblTimer100milli.Refresh(); Beep(1000, 1000);
Voir un DPR avec un nom bien explicite
Il faut savoir que Sleep va grappiller quelques µs secondes supplémentaires, aura 100,01 à 100,2 ms selon ton proc
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 program HappyBirthDay; uses Windows; {$R *.res} begin Beep(1046,250); Beep(1046,250); Beep(1175,500); Beep(1046,500); Beep(1397,500); Beep(1318,1000); Beep(1046,250); Beep(1046,250); Beep(1175,500); Beep(1046,500); Beep(1568,500); Beep(1397,1000); Beep(1046,250); Beep(1046,250); Beep(2093,500); Beep(1760,500); Beep(1397,500); Beep(1318,500); Beep(1175,1000);Beep(1868,250); Beep(1868,250); Beep(1760,500); Beep(1397,500); Beep(1568,500); Beep(1397,1500); end.
Pour le Beep, je ne connais pas son exactitude
Le Dessin par Refresh va lui aussi consommer du temps
Il est possible d'avoir un décalage qui se cumul, il faudrait du coup mesurer le temps cumulé de Caption / Refresh / Beep
Retrancher ce temps à au sleep
Voir QueryPerformanceCounter
J'avais géré aussi cela dans certains de mes threads où je recalculais le délai entre chaque itération pour conserver une fréquence stable
Si Beep est compatible avec un thread - mélange Beep et Sleep
Sinon le TTimer ça passe aussi, c'est juste plus difficile de gérer une mélodie via des events
J'étais persuadé que sur le forum, on avait une eu question sur l'exécution d'une séquence via un TTimer, je ne l'ai pas retrouvé
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !![]()
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
Bonjour à tous,
Solution : Horloge à Bips.zip
Bonne journée,
Cordialement
Cirec.
On dirait un devoir d'école et des mauvais élèves qui attendent la réponse !
Au moins la 1ère réponse dans le deux forums est la même : Beep/Sleep
L'approche de Cirec est plus poussée, le Timer, si l'on regarde à la milli-seconde près, on peut voir un léger décalage (c'est tellement faible avec les CPU actuel)
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !![]()
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
Partager