|
Trouver une ressource
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 !
ALIASES POUR FASCILITER L'USAGE DE MDX (FRAMEWORK)
Information sur la source
Description
il s'agit de petites aliases mdx pour fasciliter son implentation dans certains dialogs la premiere: mdx.set.linebar elle requier comme controle hote une "list" usage: mdx.set.linebar DIALOG_NAME id:min-max-default:mode explication: - DIALOG_NAME = nom du dialog ($dname) - id = id du controle à cibler - min = nombre minimum de l'amplitude numerique selectionable - max = nombre maximum de cette amplitude - default = nombre pré-selectioné lors de la creation de l'id - mode = par defaut l'aliase créé une bare horizontale, il est possible de spécifier que l'on veut une bare verticale avec le mode "v" (ce paramètre est optionel) exemple: mdx.set.linebar $dname 1:0-100,2:20-30,45:7-12,8:0-100-50,40,1-5:v transoformera les id: 1 2 45 8 40 et 1 le 1 seras vertical pour recuperer les resultat: $gettok($did(id).seltext,1,32) la seconde aliase: wbs.mdx.table elle sers a créé une sorte de tableau en grille syntaxe: wbs.mdx.table $dname ID section:taille exemple: wbs.mdx.table $dname 5 nom:40 prenom:80 age:30 va créer un tableau a 3 colones de 40, 80 et 30 pixels de large dans la list portant l'id 5 lors de la recuperation via $did(id).seltext les colones sont séparée par des chr(9) (a vous d'utiliser $gettok pour filtrer) l'aliase wdll retourne le chemin de la dll à son format court et relatif, l'aliase wbs.relat retourne le chemin relatif d'un fichier (depuis mirc) mgettok permet les imbrication de $gettok (toujours utile lors de l'usage de mdx) les fonctions utilisant mdx DOIVENT toutes etre précédées de 'mdxinit' a l'appel du dialog (une seule fois) installation: le code requiers: mdx.dll , views.mdx et bars.mdx dans un dossier enfant de $mircdir
Source
- alias mdx.set.linebar {
- ;syntaxe: $dname id:min-max,id:min-max-defaut (optionel) :mode (optionel)
- ;exemple:$dname 1:0-100,2:20-30,45:7-12,8:0-100-50,40,1-5:v
- ;modes disponibles: [v] : bare verticalle (par defaut horizontal)
- ;retours: 1 si $dname manque, 2 si dialog es introuvable, 0 en cas de réusite
- var %param = $2- , %i 1 , %n = $numtok(%param,44) , %dname = $1
- if (!%dname) return 1
- if (!$dialog(%dname).title) return 2
- while (%i <= %n) {
- var %curent = $gettok(%param,%i,44) , %id = $gettok(%curent,1,58) , %min = $mgettok(%curent,2,58,1,45) , %max = $mgettok(%curent,2,58,2,45) , %defaut = $mgettok(%curent,2,58,3,45)
- if (!%defaut) var %defaut = 0
- mdx SetControlMDX %dname %id TrackBar autoticks $iif($gettok(%curent,3,58) == v, vertical) > $wdll(bars.mdx)
- mdx SetBorderStyle %dname %id windowedge
- did -i %dname %id 1 params %defaut %min %max * * * * 14
- did -i %dname %id 1 tickfreq 1
- inc %i
- }
- return 0
- }
- alias wbs.mdx.table {
- ;syntaxe: wbs.mdx.table $dname ID section:taille
- var %dname = $iif($1 == x,$dname,$1)
- if (!$isid) && ($dialog(%dname)) && ($3) {
- mdx SetControlMDX %dname $2 ListView report single grid > $wdll(views.mdx)
- var %i 1
- while ($gettok($3-,%i,32)) {
- var %tmp = $ifmatch , %size = %size $gettok(%tmp,2,58) , %text = %text $chr(9) $gettok(%tmp,1,58)
- inc %i
- }
- did -i %dname $2 1 headerdims %size
- did -i %dname $2 1 headertext $mid($strip($gettok(%text,1-,9)) $chr(9),2-)
- }
- }
- alias mdx {
- var %mdx = $wdll(mdx.dll)
- if (%mdx) dll $shortfn(%mdx) $1-
- else echo -s mdx.dll introuvable
- }
- alias mdxinit {
- if ($1) var %dname = $1-
- else var %dname = $dname
- if (!%dname) { echo -a erreur: Mdxinit: nom du dialog manquant ! | halt }
- else {
- mdx SetMircVersion $version
- mdx MarkDialog %dname
- return OK
- }
- }
- alias wdll {
- ;pour interdir l'usage d'une dll la stipuler dans un fichier Exepts.ini (se touvant dans le dossier du script) dans la section [DLLS] nom_de_la_dll=1
- if ($1) {
- if ($readini($scriptdirExepts.ini,DLLS,$1) == 1) { return }
- else {
- if ($hget(wbs.dlls,$1)) { return $wbs.relat($shortfn($ifmatch)) }
- var %wdll = $wbsdir $+ dlls\ $+ $1
- if (!$exists(%wdll)) {
- var %wdll = $findfile($mircdir,$ifmatch,1)
- if (%wdll) { hadd -m wbs.dlls $nopath(%wdll) %wdll }
- }
- if (%wdll) { return $wbs.relat($shortfn($ifmatch)) }
- }
- }
- }
- alias -l wbs.relat {
- if ($gettok($$1,1- $+ $numtok($mircdir,92),92) $+ \ == $mircdir) {
- if ($gettok($$1,$calc($numtok($mircdir,92) +1),92)) { return $gettok($$1,$calc($numtok($mircdir,92) +1) $+ -,92) }
- }
- else return $$1
- }
- alias mgettok {
- ;permet l'imbrication de plusieurs gettok: $gettok($1-,a,c,b,d) == $mgettok($1-,a,b,c,d)
- if ($0) && ($isid) {
- var %n = $calc(($0 -1) / 2)
- if ($chr(46) !isin %n) {
- var %i 1 , %tok = 3 , %id = 2
- while (%i <= %n) {
- var %tmp = $eval($+($,%tok),2)
- if (%tmp !isnum) var %tmp = $asc(%tmp)
- if (!%data) var %data = $gettok($1,$eval($+($,%id),2),%tmp)
- else var %data = $gettok(%data,$eval($+($,%id),2),%tmp)
- inc %id 2
- inc %tok 2
- inc %i
- }
- return %data
- }
- else echo -s Error: mgettok syntaxe/parametres invalides
- }
- }
alias mdx.set.linebar {
;syntaxe: $dname id:min-max,id:min-max-defaut (optionel) :mode (optionel)
;exemple:$dname 1:0-100,2:20-30,45:7-12,8:0-100-50,40,1-5:v
;modes disponibles: [v] : bare verticalle (par defaut horizontal)
;retours: 1 si $dname manque, 2 si dialog es introuvable, 0 en cas de réusite
var %param = $2- , %i 1 , %n = $numtok(%param,44) , %dname = $1
if (!%dname) return 1
if (!$dialog(%dname).title) return 2
while (%i <= %n) {
var %curent = $gettok(%param,%i,44) , %id = $gettok(%curent,1,58) , %min = $mgettok(%curent,2,58,1,45) , %max = $mgettok(%curent,2,58,2,45) , %defaut = $mgettok(%curent,2,58,3,45)
if (!%defaut) var %defaut = 0
mdx SetControlMDX %dname %id TrackBar autoticks $iif($gettok(%curent,3,58) == v, vertical) > $wdll(bars.mdx)
mdx SetBorderStyle %dname %id windowedge
did -i %dname %id 1 params %defaut %min %max * * * * 14
did -i %dname %id 1 tickfreq 1
inc %i
}
return 0
}
alias wbs.mdx.table {
;syntaxe: wbs.mdx.table $dname ID section:taille
var %dname = $iif($1 == x,$dname,$1)
if (!$isid) && ($dialog(%dname)) && ($3) {
mdx SetControlMDX %dname $2 ListView report single grid > $wdll(views.mdx)
var %i 1
while ($gettok($3-,%i,32)) {
var %tmp = $ifmatch , %size = %size $gettok(%tmp,2,58) , %text = %text $chr(9) $gettok(%tmp,1,58)
inc %i
}
did -i %dname $2 1 headerdims %size
did -i %dname $2 1 headertext $mid($strip($gettok(%text,1-,9)) $chr(9),2-)
}
}
alias mdx {
var %mdx = $wdll(mdx.dll)
if (%mdx) dll $shortfn(%mdx) $1-
else echo -s mdx.dll introuvable
}
alias mdxinit {
if ($1) var %dname = $1-
else var %dname = $dname
if (!%dname) { echo -a erreur: Mdxinit: nom du dialog manquant ! | halt }
else {
mdx SetMircVersion $version
mdx MarkDialog %dname
return OK
}
}
alias wdll {
;pour interdir l'usage d'une dll la stipuler dans un fichier Exepts.ini (se touvant dans le dossier du script) dans la section [DLLS] nom_de_la_dll=1
if ($1) {
if ($readini($scriptdirExepts.ini,DLLS,$1) == 1) { return }
else {
if ($hget(wbs.dlls,$1)) { return $wbs.relat($shortfn($ifmatch)) }
var %wdll = $wbsdir $+ dlls\ $+ $1
if (!$exists(%wdll)) {
var %wdll = $findfile($mircdir,$ifmatch,1)
if (%wdll) { hadd -m wbs.dlls $nopath(%wdll) %wdll }
}
if (%wdll) { return $wbs.relat($shortfn($ifmatch)) }
}
}
}
alias -l wbs.relat {
if ($gettok($$1,1- $+ $numtok($mircdir,92),92) $+ \ == $mircdir) {
if ($gettok($$1,$calc($numtok($mircdir,92) +1),92)) { return $gettok($$1,$calc($numtok($mircdir,92) +1) $+ -,92) }
}
else return $$1
}
alias mgettok {
;permet l'imbrication de plusieurs gettok: $gettok($1-,a,c,b,d) == $mgettok($1-,a,b,c,d)
if ($0) && ($isid) {
var %n = $calc(($0 -1) / 2)
if ($chr(46) !isin %n) {
var %i 1 , %tok = 3 , %id = 2
while (%i <= %n) {
var %tmp = $eval($+($,%tok),2)
if (%tmp !isnum) var %tmp = $asc(%tmp)
if (!%data) var %data = $gettok($1,$eval($+($,%id),2),%tmp)
else var %data = $gettok(%data,$eval($+($,%id),2),%tmp)
inc %id 2
inc %tok 2
inc %i
}
return %data
}
else echo -s Error: mgettok syntaxe/parametres invalides
}
}
Conclusion
voila j'espere avoir été assé clair et que ces aliases vous seront utiles
Historique
- 12 juin 2008 19:17:39 :
- petit oubli
Sources du même auteur
Sources de la même categorie
Sources en rapport avec celle ci
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
La dll mdx [ par koko ]
Quelqu'un pourrait m'expliquer comment l'utiliser car la je comprend rien... j'ai un fichier d'aide en francais mais quand je mets quelques choses ca
trackbar avec mdx [ par Calak ]
J'ai beau essayer, analyser l'exemple donné avec la dll, je n'arrive pas à faire une trackbar...Est ce quelqu'un pourait m'expliquer comment faire svp
MDX.dll [ par jfk69 ]
quelqu'un aurait il un tutorial bien fait pour utiliser mdx.dll ?et plus particulierement la fonction qui permet d'ajouter des icones (comme dans l'ex
mdx.dll [ par MecModeKiller ]
on *:dialog:dname:init:*:{ dll mdx.dll SetMircVersion $version dll mdx.dll MarkDialog $dname }Vous pouvez changer l'icone du dialogue, en rempl
fichier .mdx (explication!!) [ par DarkFox ]
The ShaDowtt d'abors merci de repondre si vous connaissez la réponse et salut (ken mm)il me semble que les fichier en .Mdx sont censé modifier l'appar
avec/sans mdx ?? [ par DrAzZiK69 ]
voyez vous jve améliorer mon media player et pi pr le boutton pausejve ke kan kkin clic dessus et bah il reste cliqué et kan il reclic ca fait resume,
Besoin d'aide pour BARS.MDX c urgent ;) merci. [ par hackoustik ]
jespere que sa va apparaitre sur le forum de script, car dur de trouver comment poster un message.bon alorsjai creer une liste dans le dialog et dans
recherche commande pr mdx [ par hermes93 ]
Voila je cherche une commande avec mdx.dllqui me permet de metre en couleur dans un dialog les "tab" (bouton edit text) je c modifier toutsa mais quan
mdx toolbar [ par Fayen$ ]
Yopkelkun pourrais plz me montrer un example de toolbar avec les dll suivant ktools.dll mdx.dll packe g rien piger a ce truc :/si possible comment con
Connection mdx [ par Fayen$ ]
lubon voila chuis oqp sur une toolbar, 'quelqu'un sait m'expliquer' comment on donne la commande connect,disconnet en cliquant sur le meme icone crée
|
Téléchargements
Logiciels à télécharger sur le même thème :
|