Ooppss, oui en effet, j'ai peut-être cru que le fait d'écrire une fois
window.edit allait suffire, mais non bien sûr...
Question supplémentaire: apparemment, la ligne ne contient pas le
retour-chariot. Bon, je suppose que sinon, ce ne serait plus une ligne,
mais un paragraphe... Pour moi qui manipule surtout des paragraphes...
Comment devrais-je faire pour inclure le retour-chariot à ma sélection?
Et puis tiens, puisque je suis peut-être à deux doigts depouvoir me
créer de vrais miniscripts concrets pour moi, y a-t-il une autre
méthode, pour savoir si du texte est sélectionnée, que celle de vérifier
que la longueur de window.edit.selectedText est ou n'est pas 0?
Et merci Yannick pour le VSNT!
J.-F.
Le 14/06/2012 22:06, yannick écrit :
slt JF
il y a un pb dans la ligne :
start =window.edit:offsetOfLine (currentLine)
ici ton currentLine doit valoir nill
fais un test en ajoutant juste au dessous la ligne :
alert (currentLine)
en fait pour obtenir la ligne courante(la position )
il faut écrir :
window.edit.currentLine
d'ou ce que tu aurais dû écrir :
start =window.edit:offsetOfLine (window.edit.currentLine)
pour faire des commentaire multiligne,de mémoire il faut écrir ::
--[[commentaire multiligne ]]
ps:
maintenant j'ajoute dans le vsnt, les commentaires de Quentin !
https://dl.dropbox.com/u/5497034/document/visu%20note/lua.VSNT
----- Original Message -----
From: "Jean-François Colas"<[email protected]>
To:<[email protected]>
Sent: Thursday, June 14, 2012 9:51 PM
Subject: [progliste] Re: Edition de textes
Hello Yannick, et Quentin and all,
Ton exemple m'amène à une situation un peu bizarre. Poursuivant mon idée,
j'ai voulu changer ton 2 par currentLine. Apparemment, pas de problèmes à
l'ouverture de 6Pad, donc syntaxiquement c'est que c'est OK apparemment.
Mais quand j'exécute, j'ai un message d'erreur, que je ne parviens pas à
recopier. Pourtant, ça marche: la ligne courante semble bien sélectionnée
et Ctrl+c la met bien dans le presse-papiers...
Mon code (quasiment le même que Yannick):
function SelectionneLigneCourante ()
--début de la ligne:
start =window.edit:offsetOfLine (currentLine)
--longueur de la ligne :
lineLen =window.edit [currentLine]:len ()
--fin de la ligne :
theEnd =start +lineLen
--sélection :
window.edit :select (start,theEnd )
end
addAccelerator (SelectionneLigneCourante, "Ctrl+L")
Ps1: si j'ai bien compris, le double tiret permet de considérer toute la
ligne comme un commentaire, mais y a-t-il moyen de faire des commentaires
multiligne?
PS2: Yannick, je suppose que ton VSNT évolue constamment... La version que
j'ai date de quelque chose comme fin mai...?
Un jour, je risque de me mettre à rêver à un comparateur de VSNT...
J.-F.
Le 14/06/2012 11:03, yannick écrit :
on doit connaitre la position du premier caractère de la ligne par à
rapport au text, puis connaitre la position du dernier caractère .
supposons que tu souhaite sélètionnner la ligne 2 .
start =window.edit:offsetOfLine (2)
--longueur de la ligne :
lineLen =window.edit [2]:len ()
--fin de la ligne :
theEnd =start +lineLen
--sélètion :
window.edit :select (start,theEnd )
----- Original Message -----
From: "Jean-François Colas"<[email protected]>
To:<[email protected]>
Sent: Thursday, June 14, 2012 10:49 AM
Subject: [progliste] Re: Edition de textes
Salut,
Comment sélectionnerait-on la ligne courante?
Merci,
J.-F.
Le 14/06/2012 05:08, yannick a écrit :
ps : le double tiret débute un commentaire contenu sur une seule ligne
.
--1 Affichage de "Hello World" dans un messageBox
alert ("hello word")
--2 Get position de ligne(courante )
window.edit.currentLine
--3 Get d'une portion de texte
("bonjour"):sub (1,4)
--donnne :bon
--remarque : l'indice commence à 1 et non à 0
--4 Get/Set de la sélection
--get :
selection =window.edit.selectedText
--set :
--x est le début de la sélèction,et y la fin :
window.edit.selectionStart =x
window.edit.selectionEnd =y
--ou :
window.edit:select (x,y)
--5 Ajout d'un item dans les menus
--on ajoute le menu bonjour dans le menu fichier , en lui assignant le
raccourci alt +b, on associe à ce menu / raccourci la fonction test.
menuFichier =window.menubar[1]
menuBonjour =menuhandle.add (menufichier,"bonjour","alt+b",test)
--6 Ajout de la gestion d'un raccourcis clavier.
--on associe alt +t à l'execution de la fonction test
addAccelerator (test,"alt+t)
-- Faire dire un truc à la revue d'écran.
--utilisation du module ffi :
ffi =require "ffi"
--chargement de jfwapi :
jfw =ffi.load ("jfwapi.dll")
--Déclaration de la fonction avant utilisation
ffi.cdef ("int __stdcall JFWSayString (const char*,int)")
--hello world par jaws :
jfw.JFWSayString ("hello world",1)
----- Original Message -----
From: "LavaChri"<[email protected]>
To:<[email protected]>
Sent: Wednesday, June 13, 2012 7:33 PM
Subject: [progliste] Re: Edition de textes
Juste en passant,
Je vote pour les exemples de LUA !
- Affichage de "Hello World" dans un messageBox
- Get position de ligne
- Get d'une portion de texte
- Get/Set de la sélection
- Ajout d'un item dans les menus
- Ajout de la gestion d'un raccourcis clavier.
- Faire dire un truc à la revue d'écran.
-----Message d'origine-----
De : [email protected] [mailto:[email protected]] De
la
part de Jean-François Colas
Envoyé : mercredi 13 juin 2012 18:48
À : [email protected]
Objet : [progliste] Re: Edition de textes
Le 13/06/2012 18:26, QuentinC a écrit :
Je fournirai un tri de ligne en exemple, ça fait partie des scripts
assez faciles. Je ne vois pas l'utilité de le faire sur des
paragraphes
par contre.
Disons qu'un paragraphe peut aussi faire 20 caractères... que je ne
voudrais pas que le tri risque de me "casser" éventuellement des
paragraphes en en triant chaque ligne comme une entité à part. Je
crois
qu'en fait il est assez rare qu'on souhaite trier des "lignes", mais
il
s'agit probablement toujours de "paragraphes".
> On dirait que si je sélectionne entre les deux
curseurs, il se joignent??? Est-ce indispensable? Car supposons que
je
m'aperçoive que cette sélection n'est pas tout à fait la bonne. Je
vais
l'annuler, soit par flèche droite, soit par flèche gauche... Mais à
moins de bien me souvenir, je vais perdre trace de l'autre extrémité.
Et
puis à la synthèse, vu
que le déplacement n'occasionne aucune annonce, mais ça, avec du
braille
ça ne me gêne pas.
En effet, c'est le comportement du double curseur. En faisant
Ctrl+Maj+A, les deux curseurs sont joints et tu perds l'autre
extrêmité.
Je comprends ton point de vue, mais par contre l'autre solution peut
aussi être embêtante. A supposer que je ne me trompe jamais mais que
je
veux faire 10 sélections d'affilée, le fait que F4 me renvoie à la
position précédente qui m'est inutile après sélection ne m'arrange
pas
trop non plus.
Clair. Est-ce qu'on ne pourrait pas imaginer que les deux curseurs
soient joints sauf si on n'a pas réalisé d'action sur une sélection?
Ou
à l'inverse, qu'on joigne les deux curseurs après une opération sur la
sélection si on a utilisé Ctrl+Maj+a?
> Cas très concret. Vu que je travaille avec plusieurs
fichiers,
j'ai
en fait parfois besoin que certains de ces fichiers soient dans des
onglets adjacents.
Ca m'arrive donc, parfois de refermer un fichier pour le rouvrir
aussitôt pour le placer juste après le "dernier". Si je sais qu'il me
suffirait de faire
fichier / fichiers récents / 1, ce serait un point de repère fixe.
Faut
dire aussi que Word m'a fait prendre cette habitude-là... FineReader
aussi... Ca
peut paraître un peu antinaturel mais je trouve ça plutôt eficace.
Ou alors il faut que je sois absolument sûr du numéro du dernier
fermé...
Ou alors il faudrait que tu sois en mesure d'organiser tes différents
onglets dans l'ordre que tu veux, si je te suis bien. C'est aussi une
piste possible.
Si je peux les organiser par script, pourquoi pas.
Progliste :
Pour se désinscrire de la liste :
mailto:[email protected]?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/
Je vous rappelle que les pièces jointe sont activés leur taille est
limité
à
2 MO
Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en
privé,
je
vous répondrez en privé.
Progliste :
Pour se désinscrire de la liste :
mailto:[email protected]?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/
Je vous rappelle que les pièces jointe sont activés leur taille est
limité
à 2 MO
Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en
privé,
je vous répondrez en privé.
Progliste :
Pour se désinscrire de la liste :
mailto:[email protected]?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/
Je vous rappelle que les pièces jointe sont activés leur taille est
limité à 2 MO
Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en
privé,
je vous répondrez en privé.
Progliste :
Pour se désinscrire de la liste :
mailto:[email protected]?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/
Je vous rappelle que les pièces jointe sont activés leur taille est
limité
à 2 MO
Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé,
je vous répondrez en privé.
Progliste :
Pour se désinscrire de la liste :
mailto:[email protected]?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/
Je vous rappelle que les pièces jointe sont activés leur taille est
limité à 2 MO
Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé,
je vous répondrez en privé.
Progliste :
Pour se désinscrire de la liste :
mailto:[email protected]?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/
Je vous rappelle que les pièces jointe sont activés leur taille est limité
à 2 MO
Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé,
je vous répondrez en privé.
Progliste :
Pour se désinscrire de la liste :
mailto:[email protected]?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/
Je vous rappelle que les pièces jointe sont activés leur taille est limité à 2
MO
Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, je
vous répondrez en privé.
Progliste :
Pour se désinscrire de la liste :
mailto:[email protected]?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/
Je vous rappelle que les pièces jointe sont activés leur taille est limité à 2 MO
Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, je
vous répondrez en privé.