oh malheureux ,
il ne faut jamais posé la question :
"Selon toi, ça te plairait ? "
parce que sur les listes de discussion,il y a bien plus de gens pour te
décourager
que de te donner envie de continuer !
cela m'interesse ...
mais au sujet des colections, inutil de te casser la tête,
tu pourrais dans n'importe quelle version de jaws uti`liser un activex adéquat .
tu pourrais peut être utiliser l'objet dictionary .
et la fonction retournerais cette objet .
en guise de clé, tu utiliserais une numérotation .
ce que j'ai dans ma cave :
Scripting.Dictionary
Ajoute une paire clé/élément à un objet Dictionary
option Explicit
dim dico
set dico = createObject ("Scripting.Dictionary")
dico.add "ville","paris"
count
Renvoie le nombre d'éléments d'un objet Dictionary
option Explicit
dim dico, Clef
set dico = createObject ("Scripting.Dictionary")
dico.add "ville","paris"
dico.add "pays","France"
dico.add "rue","arnaudVidal"
msgBox dico.Count
item
Définit ou renvoie un élément pour un argument key spécifié dans un objet
Dictionary
renvoie la valeur d'une clé
option Explicit
dim dico, i
set dico = createObject ("Scripting.Dictionary")
dico.add "ville","paris"
dico.add "rue","arnaud vidal"
dico.add "numero","33"
msgBox dico.item ("ville")
'affiche paris
dico.item ("ville")="Toulouse"
' change la valeur de ville
on peut aussi ajouter une nouvelle clé :
dico.item ("nom")="yannick"
msgBox dico.item ("nom")
msgBox dico.item ("ville")
option Explicit
dim dico, Clef , text
set dico = createObject ("Scripting.Dictionary")
dico.add "ville","paris"
dico.add "pays","France"
dico.add "rue","arnaudVidal"
dico.item ("ville")="toulouse"
msgBox dico.item ("ville")
......
add,,CompareMode,Count,,Exists,Item,Items,Key,Keys,,Remove,RemoveAll
----- Original Message -----
From: Yannick Youalé
To: [email protected]
Sent: Monday, May 12, 2014 10:54 AM
Subject: [progliste] Re: JawsScript- Fonction de recherche de texte utilisant
les expressions régulières PCRE
Salut homonyme !
Début de citation
pourquoi n'avoir pas renvoyé tout simplement la chaine retrouvé ?
Fin de citation
Cette fonction appelée RegTest est simplement une fonction de test de la
présence d'un pattern dans une chaîne.
S'il avait fallut faire une fonction qui renvoi une occurence trouvée dans la
chaîne à fouiller, la question qu'il faudrait alors se poser ce serait quelle
occurence ? Etant donnée que plusieurs occurences peuvent être présente.
Si le JawsScript prenait en charge les tableau ou les collection dans toutes
ses versions, j'aurais pû renvoyer soit un tableau soit une collection par une
telle fonction, mais ce n'est pas le cas. Et beaucoup peuvent alors se
retrouver lésés.
Autre possibilité cependant, ce serait dans un premier temps de faire:
* une fonction RegCount qui renvoi le nombre d'occurence d'un pattern dans
une chaîne;
* et ensuite une fonction RegSearch dans laquelle on peut indiquer le numéro
de l'occurence à renvoyer.
Ce qui pourrait donner un code comme ceci:
Début du code JawsScript
var
string s,
string sText,
int i,
int icount
; création de la chaîne dans laquelle faire la recherche
let sText = "chaine contenant plusieurs fois la lettre a"
; recherche du nombre d'occurence de a dans sText
let icount = RegCount(sText, "a", true, true, true)
; parcours de chaque occurence trouvée dans une boucle
let i = 1
While (i<=icount)
; on capte l'occurence courante
let s = RegSearch(sText, "a", i, true, true, true)
; puis, on fait ce qu'on veut de l'occurence renvoyée
let i = i+1 ; incrémentation du compteur d'occurence
EndWhile
Fin du code JawsScript
Je rappelle que toutes les fonctions utilisées n'existent pas encore, et sont
là juste pour évoquer une possibilité.
Tout ceci n'est pas un modèle d'optimisation, mais peut très bien se
concevoir et se faire.
Selon toi, ça te plairait ?
Tu m'as forcé à y réfléchir, et ça me tente bien de m'y lancer.
Yannick Daniel Youalé
----- Original Message -----
From: yannick<
To: [email protected]
Sent: Monday, May 12, 2014 9:03 AM
Subject: [progliste] Re: JawsScript- Fonction de recherche de texte
utilisant les expressions régulières PCRE
salut Yannick,
et bien dis donc, moi aussi j'ai aussi le nez dans les reg exp .
désolé, je n'ai pas encore lu en profondeur ou testé, mais
a priori j'aurais une petite question :
pourquoi n'avoir pas renvoyé tout simplement la chaine retrouvé ?
peut être que ce n'est pas faisable, je ne sais pas ....
tu aurais mis la variable text par référence ....
----- Original Message -----
From: Yannick Youalé
To: [email protected] ; JawsScript
Sent: Monday, May 12, 2014 9:44 AM
Subject: [progliste] JawsScript- Fonction de recherche de texte utilisant
les expressions régulières PCRE
Salut à tous !
J'en avais donné les principes ici il y a quelques temps.
Aujourd'hui, voici une fonction toute faite de recherche de la présence
d'une chaîne dans une autre utilisant les expressions régulières.
Début du code JawsScript
Int Function RegTest (string sText, string sPattern, int blGlobal, int
blIgnoreCase, int blMultiline)
; Recherche avec regexp
; renvoi true si le pattern est trouvé dans le texte donné.
var
int i,
object reg
; création d'un objet regexp des expressions régulières
let reg = CreateObjectEx ("vbscript.regexp", false)
; la recherche est-elle globale ?
if blGlobal > 0 then
let reg.Global = -1 ; équivaut à true
else
let reg.Global = 0 ; équivaut à false
EndIf
; la recherche ignore-t-elle la cass ?
if blIgnoreCase > 0 then
let reg.IgnoreCase = -1
else
let reg.IgnoreCase = 0
EndIf
; La recherche est-elle multiligne ?
if blMultiline > 0 then
let reg.Multiline = -1
else
let reg.Multiline = 0
EndIf
; Assignation du pattern de l'expression régulière (PCRE)
let reg.Pattern = sPattern
; recherche si présence et renvoi de résultat
if reg.Test (sText) == -1 then
return true
else
return false
EndIf
EndFunction
Fin du code JawsScript
Chez moi, je l'ai créée pour l'intégrer dans un script de recherche
rapide à l'intérieur d'un dossier contenant un grand nombre d'éléments.
Amicalement !
Yannick Daniel Youalé
----------------------------------------------------------------------------
Ce courrier électronique ne contient aucun virus ou logiciel
malveillant parce que la protection Antivirus avast! est active.
---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce
que la protection avast! Antivirus est active.
http://www.avast.com