atlantisfr
Messages postés76Date d'inscriptionsamedi 12 août 2006StatutMembreDernière intervention 9 août 2007
-
17 août 2006 à 17:32
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 2010
-
22 août 2006 à 22:23
Comment peut-on créer une liste avec une vsbar en picwin ?
RCA ArKanis
Messages postés1287Date d'inscriptionmercredi 21 avril 2004StatutMembreDernière intervention21 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
RCA ArKanis
Messages postés1287Date d'inscriptionmercredi 21 avril 2004StatutMembreDernière intervention21 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
RCA ArKanis
Messages postés1287Date d'inscriptionmercredi 21 avril 2004StatutMembreDernière intervention21 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)
RCA ArKanis
Messages postés1287Date d'inscriptionmercredi 21 avril 2004StatutMembreDernière intervention21 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
atlantisfr
Messages postés76Date d'inscriptionsamedi 12 août 2006StatutMembreDerniè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 !
RCA ArKanis
Messages postés1287Date d'inscriptionmercredi 21 avril 2004StatutMembreDernière intervention21 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)