Aliases pour treeviews: recuprer des wildtok/n° de id

Contenu du snippet

ces aliases serveent a faire des recherches dans une treeview
example:

en prenan http://keikka05.free.fr/chanbar_docked.jpg comme treeview de tests:

wbs.channelbar en tan que nom de dialog
1 = en tan que ID de la treeview (le N° du control)
  • recy* = en tran que wildcard (vous pouvez tout aussis entrer une valeur fixe sans wildcard)

0 = en tran que parametre d'occurence

//Echo -a $wbs.mdx.tree.id(wbs.channelbar,1,*recy*,0)

me dira 1 , cela veu dire qu'il y a dans ma treeview une seulle occurence pour *recy*
maintenan si je fais:
//Echo -a $wbs.mdx.tree.id(wbs.channelbar,1,*recy*,1)

cela va me donner: 2 (pour mon cas) car la ligne "Recycled-IRC" se trouve en ID 2 de ma treeview

donc:
en tenan copmpte que l'alias $mdxgb() (merci a pada) retourne la valeur de l"ID

//Echo -a $mdxgb(wbs.channelbar,1,$wbs.mdx.tree.id(wbs.channelbar,1,*recy*,1))

me donne tout naturelement:
+be 1 1 0 0 0 Recycled-IRC Recycled-IRC [12]

quand a $wbs.mdx.tree.num

cette alias retourne le nombre de catégorires dans votre treeview:
1 = ID du controle dans le cas present
$wbs.mdx.tree.num(wbs.channelbar,1)

me retournera 5 dans le cas present (referez vous a la capure decran ca vous aidera, je sais que je n'explique pas tres bien et je m'en excuse:$)

ps: pour relever la valeur d"une sous section via $mdxgb()
$mdxgb(Dialog,ID,Branche,X Y Z)
x y z = N° de vos sous section
vous pouvez metre autan de parametre ici que vous le souaitez

voila en esperan avoir été assé clair

Source / Exemple :


alias wbs.mdx.tree.num {
  ;retourne le nombre total d'items dans une treeview
  if ($dialog($1)) && ($2) && ($isid) {
    var %i 0
    while ($true) {
      inc %i
      if (!$mdxgb($1,$2,%i)) { return %i }
    }  
  }
}
Alias mdxGB {
  if ($dialog($1)) {
    did -i $1 $2 1 cb root $deltok($3,-1,32)
    return $did($1,$2,1,$gettok($3,-1,32))
  }
}
alias wbs.mdx.tree.id {
  ;syntaxe: Dname,ID,mot,N
  ;N = occurence, 0 pour le nombre total d"occurences
  if ($dialog($1)) && ($len($4)) && ($isid) {
    var %n = $wbs.mdx.tree.num($1,$2) , %i 1 , %k = 0
    while (%i <= %n) {
      var %data = $strip($mdxgb($1,$2,%i))
      if (%data) {
        var %tmp = $gettok($gettok(%data,7-,32),1,9)
        if ($3 iswm %tmp || $3 == %tmp) {
          inc %k
          if ($4 == %k)  { return %i }
        }
      }
      elseif (!$len($4)) { break }
      else { return %k }
      inc %i
    }
  }
}

Conclusion :


voila si vous avez des suggestion d'amélioration je suis preneur

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.