Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

BARRE DE TEXTE DEFILANT


Information sur la source

Catégorie :Astuces Niveau : Débutant Date de création : 02/06/2005 Date de mise à jour : 03/06/2005 15:29:14 Vu : 4 143

Note :
Aucune note

Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

Description

Voici un petit snippet qui vous permettra d'afficher du texte dans une @window. Le texte défile dans un sens ou dans l'autre :)
 

Source

  • alias dbar {
  • if ($1 isnum 0-15 && $2 isnum && $3-) {
  • var %ù $calc($width($3-,tahoma,12) +25)
  • window -hbk0p +Ld @BDBar -1 -1 %ù 20
  • drawrect -f @BDBar $1 0 0 0 %ù 20
  • drawtext -pb @BDBar 1 $1 tahoma 12 2 2 $3-
  • window -abCdk0p +Led @DBar -1 -1 %ù 20
  • drawrect -f @DBar $1 0 0 0 %ù 20
  • set %dbar.ref $2
  • set %dbar.sens 37
  • dbar.refresh %ù %ù
  • }
  • else echo $color(info) * /dbar: invalid parameters
  • }
  • alias -l dbar.refresh {
  • if ($2 == $+(-,$1)) tokenize 32 $1 $1
  • elseif ($2 == $calc($1 *2)) tokenize 32 $1 $+(-,$1)
  • drawcopy @BDBar 0 0 $window(@BDBar).w $window(@BDBar).h @DBar $2 0
  • .timerdbar -m 1 $gettok(%dbar.ref,1,32) dbar.refresh $1 $calc($2 $iif(%dbar.sens == 37,-,+) 1)
  • }
  • on *:KEYDOWN:@DBar:37,39:{
  • %dbar.sens = $keyval
  • if (!$gettok(%dbar.ref,2,32)) %dbar.ref = $calc(%dbar.ref /2) 1
  • }
  • on *:KEYUP:@DBar:37,39:{ %dbar.ref = $calc($gettok(%dbar.ref,1,32) *2) }
  • menu @DBar {
  • Fermer:.timerdbar off | close -@ @DBar | close -@ @BDBar | unset %dbar.*
  • }
alias dbar { 
  if ($1 isnum 0-15 && $2 isnum && $3-) { 
    var %ù $calc($width($3-,tahoma,12) +25) 
    window -hbk0p +Ld @BDBar -1 -1 %ù 20 
    drawrect -f @BDBar $1 0 0 0 %ù 20 
    drawtext -pb @BDBar 1 $1 tahoma 12 2 2 $3- 
    window -abCdk0p +Led @DBar -1 -1 %ù 20 
    drawrect -f @DBar $1 0 0 0 %ù 20 
    set %dbar.ref $2 
    set %dbar.sens 37 
    dbar.refresh %ù %ù 
  } 
  else echo $color(info) * /dbar: invalid parameters 
} 
alias -l dbar.refresh { 
  if ($2 == $+(-,$1)) tokenize 32 $1 $1 
  elseif ($2 == $calc($1 *2)) tokenize 32 $1 $+(-,$1) 
  drawcopy @BDBar 0 0 $window(@BDBar).w $window(@BDBar).h @DBar $2 0 
  .timerdbar -m 1 $gettok(%dbar.ref,1,32) dbar.refresh $1 $calc($2 $iif(%dbar.sens == 37,-,+) 1) 
}
on *:KEYDOWN:@DBar:37,39:{ 
  %dbar.sens = $keyval 
  if (!$gettok(%dbar.ref,2,32)) %dbar.ref = $calc(%dbar.ref /2) 1 
} 
on *:KEYUP:@DBar:37,39:{ %dbar.ref = $calc($gettok(%dbar.ref,1,32) *2) } 
menu @DBar { 
  Fermer:.timerdbar off | close -@ @DBar | close -@ @BDBar | unset %dbar.*
}

Conclusion

Utilisation :

/dbar <background> <vitesse> <texte>

<background> est la couleur de fond de la barre.
<vitesse> est le délai en millisecondes au bout duquel la barre sera rafraichie.
<texte> est le texte a afficher dans la barre (supporte les codes couleurs mIRC)

En appuyant sur les touches directionnelles "Gauche" et "Droite", vous influerez sur le sens de défilement du texte.

En maintenant appuyées l'une des touches "Gauche" ou "Droite", vous accélèrerez la vitesse de défilement du texte jusqu'au relachement du bouton.

 

Historique

02 juin 2005 15:45:18 :
- Correction d'un bug. - Ajout du menu.
02 juin 2005 17:40:42 :
- Correction d'un bug
03 juin 2005 15:18:37 :
Changement du /unset (merci fjxokt) et petite modif...
03 juin 2005 15:29:14 :
/me est un idiot :) (l'évènement CLOSE ne se déclenche pas pour les Picture Windows ...)

Commentaires et avis

signaler à un administrateur
Commentaire de KiNdErMaXi le 02/06/2005 14:27:15

bien ! mais tu devrai faire un truc pour choisir le nom de la fenetre, la taille etc ... pour pouvoir en ouvrir plusieurs en meme temps :o)

signaler à un administrateur
Commentaire de KiNdErMaXi le 02/06/2005 14:30:39

ps: un petit menu @DBar { fermer : close @DBar } serai le bienvenue :p

signaler à un administrateur
Commentaire de tofu le 02/06/2005 14:59:35

j'avais essayé de faire un truc du même style, mais en fait tant que le texte défile tu peux continuer à faire d'autres actions? parceque perso ça me figeait la @win..

signaler à un administrateur
Commentaire de MaX_62 le 02/06/2005 15:27:42

Oui tu peux encore faire ce que tu veux, c'est peut-etre parce que t'avais fait avec une /while que ça gelait... (d'ailleurs, le code réagit rapidement aux KEYDOWN/KEYUP ici)

KinderMaxi : pour le nom des fenêtres je mettrai a jour, merci :)

signaler à un administrateur
Commentaire de tofu le 02/06/2005 16:18:48

ah oui, j'étais passé par un while ça doit être ça :x

signaler à un administrateur
Commentaire de fjxokt le 02/06/2005 20:10:05

unset %dbar.* ;)

sinon je trouve ça sympa et court (un bon ptit snippet en somme)

signaler à un administrateur
Commentaire de KiLLeR73 le 16/08/2005 09:50:08

j'aime bien ton petit truc ça me fait penser a un pense bete XD

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,390 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.