Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

screensaver : lancer 2 actions en même temps et attendre

1 réponse
Avatar
maxime.saad
Bonjour,

J'ai un soucis au niveau de la cr=E9ation d'un projet. Je souhaite faire
un fond d'=E9cran, et j'utilise donc codeblocks, avec allegro.
Mon probl=E8me se situe dans le fait que je souhaiterais lancer
plusieurs op=E9rations en meme temps, si c'est possible. Je m'explique :

Je souhaites reproduire un =E9cran comme "matrix", avec des s=E9ries de
lettres qui s'affichent au fur et =E0 mesure. Ex :

l l l l l l
i i i i i i
g g g g g g
n n n n n n
e e e e e e
1 2 3 4 5 6



Cependant, je souhaiterais qu'il y a du temps entre chaque ligne,
mais aussi entre chaque lettre, qui s'affiche.

Ce que j'ai deja fait, c'est un timer, qui toute les secondes, lance
l'=E9criture d'une nouvelle ligne. Pas de soucis de ce cot=E9 la, mais la
ligne s'=E9crit d'un coup et d'un seul.
Mon soucis est donc que je ne sais pas comment faire pour que les
lettres s'affichent une =E0 une.

J'ai essay=E9 en mettant un nouveau timer dans le 1er, mais ca ne marche
pas. J'ai aussi essay=E9 de faire une boucle simple, mais qui se r=E9alise
1000000 de fois pour laisser passer du temps, mais ca ne marche pas
non plus. Et j'ai aussi essay=E9 la fonction rest(), mais le probl=E8me
c'est que cette fonction bloque tout le programme, et comme c'est un
screensaver, je n'ai plus d'interruption par la souris.

Le soucis vient surtout de la en fait, pouvoir faire attendre des
=E9venements, les lancer en tache de fond, en ayant toujours
l'interruption par la souris. Dans tout ce que j'ai essay=E9, ce n'=E9tait
pas le cas.

On m'a dit que ca pouvait =E9ventuellement se faire avec les apis win32,
mais je ne sais pas comment ca marche.

Si quelqu'un connait une solution pas trop compliqu=E9, merci.

1 réponse

Avatar
nico
wrote:

Le soucis vient surtout de la en fait, pouvoir faire attendre des
évenements, les lancer en tache de fond, en ayant toujours
l'interruption par la souris. Dans tout ce que j'ai essayé, ce n'était
pas le cas.




Tu peux mettre les traitements dans des threads ( CreateThread() )
et Sleep() à l'intérieur pour les attentes