Picwin

Résolu
atlantisfr Messages postés 76 Date d'inscription samedi 12 août 2006 Statut Membre Dernière intervention 9 août 2007 - 17 août 2006 à 17:32
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 - 22 août 2006 à 22:23
Comment peut-on créer une liste avec une vsbar en picwin ?

13 réponses

RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
17 août 2006 à 17:53
avec des calculs ^^
tu boucles sur ce que tu veux écrire en augmentant la valeur en Y, qui doit être comprise dans une certaine fourchette
après tu dessines les ascenseurs qui déterminent la première ligne affichée, et tu en fais des boutons
3
atlantisfr Messages postés 76 Date d'inscription samedi 12 août 2006 Statut Membre Dernière intervention 9 août 2007
17 août 2006 à 21:03
Sans vouloir te déranger ArKanis tu peux me montrer un exemple ?
3
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
17 août 2006 à 21:16
regarde RMS, c'est ma dernière source sur ce site à l'heure actuelle, notamment l'alias rms.list :

alias -l rms.list {
  if (!$4) return
  drawrect -nr @RMS 10790052 1 $1-4
  drawrect -fnr @RMS 7237230 1 $calc($1 +1) $calc($2 +1) $calc($3 +1) $calc($4 +1)
  drawrect -fnr @RMS 16777215 1 $calc($1 +1) $calc($2 +1) $calc($3 -1) $calc($4 -1)  var %t 5, %m $0
  while %t <= %m {    var %c $gettok($1-,%t,32), %o $calc(%t * 15 - 75 + $2), %te = $remove($replace(%c,$chr(165),$chr(32)),!)
;La ligne qui suit est inutile dans ton cas
    if ($right(%c,1) == !) drawrect -fnr @RMS 11827320 1 $calc($1 +1) %o $calc($3 +1) 15
    if (%te) drawtext -cnr @RMS 0 Tahoma 10 $calc($1 +5) %o $calc($3 -10) 15 %te
    inc %t
  }
}
il fonctionne comme ceci :
/rms.list origineX origineY longueurX hauteurY Texte

Le token qui délimite les lignes est l'espace, ici le texte ne contient que quelques mots. Tu noteras que une ligne = un mot, et que dans ce mot, j'utilise des ¥ que je remplace par des espaces.
En modifiant un peu le code, tu peux arriver à faire lire un fichier .txt
Le nombre maximal de lignes n'est pas calculé ici, si tu modifies le code, tu dois le recalculer ou utiliser une condition en fonction des paramètres $2 et $4
3
atlantisfr Messages postés 76 Date d'inscription samedi 12 août 2006 Statut Membre Dernière intervention 9 août 2007
18 août 2006 à 00:14
Merci, je vais essayer de voir se que je peu fair avec ton code.
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
atlantisfr Messages postés 76 Date d'inscription samedi 12 août 2006 Statut Membre Dernière intervention 9 août 2007
18 août 2006 à 00:32
Parcontre ArKanis, quand j'ouvre la window il faut que je clique dans le menu channel sur la window pour que la liste apparait :s
3
atlantisfr Messages postés 76 Date d'inscription samedi 12 août 2006 Statut Membre Dernière intervention 9 août 2007
18 août 2006 à 00:36
Et aussi excuse moi encore mais je débute en picwin, si tu voudrais bien mêttre des commentaires, sans vouloir te déranger.
3
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
18 août 2006 à 01:22
l'alias utilise le paramètre -n pour dessiner
il est spécifié dans l'aide que :
The -n switch prevents the display from being updated immediately. This allows you to make changes to the window in the background and then display the results only when you've finished. You can update the display by using any of the /draw commands with only the window name specified.

fais un /drawdot @TaPW (exactement ça, sans coordonnées en X Y etc) une fois l'alias fini, il mettra tout à jour (cette méthode évite les clignotements)
3
atlantisfr Messages postés 76 Date d'inscription samedi 12 août 2006 Statut Membre Dernière intervention 9 août 2007
18 août 2006 à 02:03
ouais mais sinom j'y arrive pas pour la liste, tu peux pas me donnais un coup de main ?
3
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
18 août 2006 à 04:21
t'en es où ?
pour un .txt, ta boucle devrait être :  var %t 1, %m $lines(fichier.txt)
  while %t <= %m {
    if ($read(fichier.txt,%t)) drawtext -cnr @RMS 0 Tahoma 10 $calc($1 +5) $calc(%t * 15 - 15 + $2) $calc($3 -10) 15 $ifmatch
    inc %t
  }

qu'est ce que tu veux qui soit commenté ? en le lisant, on comprend assez facilement pourquoi on a ça, question de logique :/
%o représente la hauteur du texte, et %c le texte
à toi de donner les positions et les différentes longueurs
3
atlantisfr Messages postés 76 Date d'inscription samedi 12 août 2006 Statut Membre Dernière intervention 9 août 2007
18 août 2006 à 05:10
Ok merci sa marche mais c'est pas posible de fair une vsbar pour fair défiler les textes ? Au bout d'un moment il n'y aura plus asser de place da,s la liste !
3
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
18 août 2006 à 11:55
ben je l'ai dit dans mon premier message, tu dessines des ascenseurs
puis au lieu de var %t = 1, tu incrémentes une variable quand tu cliques sur "EN BAS", décrémentes avec "EN HAUT", cette variable représentant la ligne de départ (oublie pas de modifier le calcul de %o, il te faudrait une nouvelle variable)
3
atlantisfr Messages postés 76 Date d'inscription samedi 12 août 2006 Statut Membre Dernière intervention 9 août 2007
18 août 2006 à 11:57
Merci de ton aide, mais pour le début je vais essayer de fair simple. La Vsbar sa sera une autre étape.
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
22 août 2006 à 22:23
J'ai fais un snippet permettant de crée des listes avec vsbar et hsbar
http://www.ircfr.com/codes/XLIST_36733.aspx

Si ta besoin d'aide, demande :)
0
Rejoignez-nous