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 !
SELPOS - SELECTION ET POSITION !
Information sur la source
Description
Snippet permettant de selectionner une partie facilement du texte dans une editbox de dialog.Vous pouvez selectionner du texte sur une ou plusieur lignes facilement et très rapidement.Il y a même juste une option pour uniquement déplacer le curseur sur la ligne que l'on veut, au Nieme char. On utilise les objet com et notamment sendkey pour reproduire le clavier.Pas forcément utile, pas forcément inutile...
Source
- alias selpos {
- dialog -v $$1 | did -f $$1 $$2
- var %1 $1 ,%2 $2 ,%4 $4 ,%5 $5 ,%{ $({,0) ,%} $(},0) ,%r $iif($regex($3,/l(\d+)-(\d+)/),$regml(1) $regml(2)) ,%r $iif(!%r && $regex($3,/l(\d+)/),$regml(1),%r) ,%ud = $+(%{,up $did($$1,$$2).lines,%},$iif($calc($token(%r,1,32) -1) > 0 || !$5,$+(%{,down $iif(!%r,$calc($iif(!$show,$3,$did($1,$2,1).sel) -1),$calc($token(%r,1,32) -1)),%})))
- var %r4 $iif($iif(%r,$4,$3),$+({right $v1,%})) ,%t2 $token(%r,2,32) ,%str $str(a,$calc(1 + %t2 - $token(%r,1,32))) ,%l = $!did(%1,%2,$calc($token(%r,1,32) + ( \n -1 ))).len ,%rse = $regsubex(%str,/(a)/g,$+(+,%{,right $calc( [ %l ] + 1 - $iif(\n == \0,$iif(%5,$calc( [ %l ] - %5 +1),$did(%1,%2,%l).len),$iif(\n == 1,%4))),%}))
- var %> $iif(!$show,{right $4},$iif(%t2,$+(%r4,%rse),$iif(%r,$+(%r4,+,%{,right $iif($5,$5,$calc($did($1,$2,%r).len - $4)),%}),$+(%r4,$iif($show,+),$+({right $iif(%5,$5,$iif($4,$v1,$calc($did($1,$2,$did($1,$2,1).sel).len - $3))),%})))))
- .comopen x WScript.Shell | .comclose x $com(x,sendkeys,3,bstr,$+(%ud,{home},%>))
- }
alias selpos {
dialog -v $$1 | did -f $$1 $$2
var %1 $1 ,%2 $2 ,%4 $4 ,%5 $5 ,%{ $({,0) ,%} $(},0) ,%r $iif($regex($3,/l(\d+)-(\d+)/),$regml(1) $regml(2)) ,%r $iif(!%r && $regex($3,/l(\d+)/),$regml(1),%r) ,%ud = $+(%{,up $did($$1,$$2).lines,%},$iif($calc($token(%r,1,32) -1) > 0 || !$5,$+(%{,down $iif(!%r,$calc($iif(!$show,$3,$did($1,$2,1).sel) -1),$calc($token(%r,1,32) -1)),%})))
var %r4 $iif($iif(%r,$4,$3),$+({right $v1,%})) ,%t2 $token(%r,2,32) ,%str $str(a,$calc(1 + %t2 - $token(%r,1,32))) ,%l = $!did(%1,%2,$calc($token(%r,1,32) + ( \n -1 ))).len ,%rse = $regsubex(%str,/(a)/g,$+(+,%{,right $calc( [ %l ] + 1 - $iif(\n == \0,$iif(%5,$calc( [ %l ] - %5 +1),$did(%1,%2,%l).len),$iif(\n == 1,%4))),%}))
var %> $iif(!$show,{right $4},$iif(%t2,$+(%r4,%rse),$iif(%r,$+(%r4,+,%{,right $iif($5,$5,$calc($did($1,$2,%r).len - $4)),%}),$+(%r4,$iif($show,+),$+({right $iif(%5,$5,$iif($4,$v1,$calc($did($1,$2,$did($1,$2,1).sel).len - $3))),%})))))
.comopen x WScript.Shell | .comclose x $com(x,sendkeys,3,bstr,$+(%ud,{home},%>))
}
Conclusion
Syntax : /selpos dialog id [lN-N] N [N2] dialog : nom du dialog id : id de l'editbox Des exemples sont mieux que mon français pourris : /selpos dialog id 5 3 (selectionnera dans la ligne courante du 6e caractère jusqu'au 8e) /selpos dialog id l5 2 12 (selectionnera sur la ligne 5, du 3e caractère jusqu'au 15e) /selpos dialog id 0 (selectionnera tout la ligne courante.) /selpos dialog id l1-35 19 42 (selectionnera du 19e char sur la premiere ligne jusqu'au 42e char de la 35eme /selpos dialog id l3-8 (selectionnera de toute la ligne 3 jusqu'a toute la ligne 8 /.selpos dialog id 5 6 (déplacera le curseur sur la 5e lignes, jusqu'au 6e char)
Maintenant ce code commence a être sympa... J'ai pas recommenté le code parce que c'est très bordelique et délicats.
Historique
- 05 janvier 2008 02:29:48 :
- bug du site, je voulais pas faire de modif, il me force !
- 05 janvier 2008 03:20:14 :
- J'ai rajouté un = pour une des déclaration /var, ils ne sont plus nécéssaire depuis la 6.31 ou 6.3 mais je l'ai rajouté car il provoquera une erreur sur une version ancienne sinon
- 03 février 2008 04:57:49 :
- Ajout de la fonction de selection de plusieurs lignes d'un coup + une fonction pour déplacer uniquement le curseur
Sources de la même categorie
Commentaires
Discussions en rapport avec ce code source
|
CalendriCode
| | | L | M | M | J | V | S | D |
| | | | 1 | 2 | 3 | 4 |
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 | |
|
Téléchargements
Logiciels à télécharger sur le même thème :
|