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

Catégorie :Astuces Classé sous : objet com, selection edibox, dialog, sendkey Niveau : Débutant Date de création : 05/01/2008 Date de mise à jour : 03/02/2008 04:57:49 Vu : 2 117

Note :
Aucune note

Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note


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

Commentaires et avis

signaler à un administrateur
Commentaire de FearlessKire le 06/01/2008 15:48:07

Pas inutile pour ma part.

Fonctionnel et innovant, bravo.

signaler à un administrateur
Commentaire de wims le 07/01/2008 18:21:40

Merci :)
Je vais p-e faire une option pour pouvoir séléctionné plusieurs lignes d'un coup plus facilement mais en attendant, tu peux spécifier des valeurs trop grandes, ça décalera sur les ligne suivantes (si elle existe

signaler à un administrateur
Commentaire de Panthouffle le 20/01/2008 20:00:07

Code ingénieux certes mais inutile dans mon cas. T'aurais pu fournir un dialog de test avec ton snippet, j'ai mit 10 minutes à me rappeler comment faire un dialog, et en bout de ligne tous ces efforts m'ont menés vers une bel erreur : * No such Com 'a' open (line 7, script1.mrc), mais j'imagine fortement que le problème vien de moi ^^. Comme Arkanis n'a pas corrigé tes fautes d'orthographe j'en profite pour le faire uhuh (juste les plus visibles ^^)

shouaite        > souHaite (oulah xD)
optetionnel     > optionnel (mdr)
utilisés        > utiliséE
parametre       > paramÈtre
Quelque exemple > Quelques exemples

et d'autres cette fois dans ton message de réponse à FearlessKire :

séléctionné > sélectionner

ça décalera sur les ligne suivantes (si elle existe >
ça décalera sur les ligneS suivantes (si elleS existeNT)

C'est pas grave Wims, on t'aime quand même...
Bon, ciao ^^

signaler à un administrateur
Commentaire de wims le 20/01/2008 23:19:39

Non l'erreur vient de moi, j'ai oublier un "a" qui devrait etre un "x", merci :)

Le reste du message est vraiment sans interet, je me moque pas mal des fautes, abstient toi de les corrigées stp et ce n'est pas de ma fautes si tu ne sais pas faire de dialog ;) :

dialog Ga {
title Ga
size -1 -1 200 200
edit "",1, 10 10 180 180, multi return hsbar vsbar
}

Je vais faire une mise a jour avec une option pour séléctionné plusieurs lignes facilement

signaler à un administrateur
Commentaire de Panthouffle le 21/01/2008 03:17:07

"Le reste du message est vraiment sans interet, je me moque pas mal des fautes, abstient toi de les corrigées stp et ce n'est pas de ma fautes si tu ne sais pas faire de dialog ;)"

C'est bon te fâche pas.. Étant donné que je ne suis pas venu sur ce site depuis plusieurs mois, j'avais pensé te rappeler de bons souvenirs, mais je vois que tu ne prend plus ça à la légère, c'est correcte.

signaler à un administrateur
Commentaire de wims le 21/01/2008 09:16:43

Je suis pas faché, mais justement, ça faisait longtemps que tu  postais plus donc dédié la moitié de ton commentaire a corrigé des fautes sur un snippet, je trouvais ça bof :/

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Text dialog [ par koko ] J'aimerais savoir comment mettre dans un text d'un dialog un texte ou une variable... mercihttp://www.forumscvh.be.tf-]CVH[-@|_p]-[@ j'ai un blem avec un dialog [ par Djo21 ] Bonjour tout le monde.Alors voila mon problem, j'ai fait une fenetre dialog pour un systeme d'auto join mais quand "j'appelle" ma fenetre, pour qu'ell Prog Dialog DL [ par TroXsA ] Salut allvous savez ou je peut trouver des progs pour faire des dialog en francais, si sa existe biensur :pj'ai le prog Dialog Studio il est bien je d Dialog prog ! [ par TroXsA ] Salut allvous savez ou je peut trouver des progs pour faire des dialog en francais, si sa existe biensur :pj'ai le prog Dialog Studio il est bien je d Tuto ?? Dialog VF !!! [ par TroXsA ] Qui connais un site mortelement bien expliquer pour faire des dialog et les actions sur un check, bouton, radio ext ....Google G trouver mais pas en f Dialog Fonction check ? help [ par TroXsA ] salut allvoila G besoin d'un ti coup de main pour faire un bout de script je vous laisse looker le script et j'esplique plus bas---------------------- Help problème Dialog !!!! [ par Ziboo ] Voilà je joue a counter strike et je fais des train et il faut a chaque fois que je donne l'IP de notre server avec le pass.Bon voilà mon scriptServeu /DID avec $nick comment faire ? [ par TroXsA ] salut all :pj'ai besoin d'un coup de main sur un dialogsa fait deux jour que je me tire les cheveux, oui il m'en reste pas beaucoup ;)bon mon probleme Rafraichir un dialog [ par Ziboo ] Voilà je fais mon lecteur MP3G un bouton CHOISIR pour demander ou est le MP:button "Choisir", 6, 185 3 37 12if ( $did == 6 ) { /set %chemin $sfile(C: Dialog mIRC [ par wbr ] Bonjour, je voudrais savoir comment faire pour sauvegarder les valeurs de ce dialog dans des variables et comment cocher des options par défaut pour c


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


HTC G1

Entre 449€ et 449€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,733 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.