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

Répondre à