Parser de fichier javascript v2

Soyez le premier à donner votre avis sur cette source.

Snippet vu 3 770 fois - Téléchargée 43 fois

Contenu du snippet

Ce bout de code vous permet d'extraire les noms de toutes les fonctions d'un fichier javascript. Fichier est votre fichier .js et list1 est la liste qui va contenir ensuite tous les noms.

Source / Exemple :


Open fichierSource For Input As #1 ' fichier = votre fichier javascript
Do Until EOF(1)
Input #1, ligne
If InStr(ligne, "function") Then
'function présente
'extraction de la partie droite
strFonction = Right(ligne, Len(ligne) - Len("function"))
'extraction du nom seulement
temp = InStr(strFonction, "(")
temp = Len(strFonction) - temp
'on enlève les arguments
strFonction = Left(strFonction, Len(strFonction) - temp - 1)
List1.AddItem strFonction
End If
Loop
Close #1

Conclusion :


Ceci permet d'extraire seulement les noms, pour les instructions, attendez un peu ...

A voir également

Ajouter un commentaire Commentaires
cs_Mercury Messages postés 329 Date d'inscription jeudi 3 janvier 2002 Statut Membre Dernière intervention 7 octobre 2005
4 août 2002 à 18:02
Quand on voit ce que tu postes comme "source", moi à ta place je ne me permettrait pas de critiquer les autres !
leptidev Messages postés 206 Date d'inscription mercredi 30 janvier 2002 Statut Membre Dernière intervention 4 décembre 2007
21 mars 2002 à 20:02
Dans ma nouvelle version, une fois que fonction a été trouvé, il ne considère plus ce mot comme important, c'est à dire qu'il ne le prend en compte une seule fois.
Il attent le commentaire <!--fin--> pour stopper la boucle

Merci de ta remarque
leptidev Messages postés 206 Date d'inscription mercredi 30 janvier 2002 Statut Membre Dernière intervention 4 décembre 2007
21 mars 2002 à 20:00
C'est vrai que j'avais pas trop penser à ça,en fait cette partie de code fait partie d'un programme entier, et un ami m'a demandé de l'afficher, en fait mon programme est un éditeur de fichier JS donc le formatage de ce fichier se fait selon son ordre.
Seul problème : si l'utilisateur le modifier sans passer par mon éditeur...
SibosisITS Messages postés 72 Date d'inscription mardi 26 février 2002 Statut Membre Dernière intervention 20 juin 2003
20 mars 2002 à 19:18
Tu ne penses pas qu'il y a quelque petits problèmes ?...
Exemple :

ligne="function nom_de_fonction (x,y,z) {var a=x,b=(y+z); a*b;}"

...ma ligne contient une fonction entière, et la syntaxe est tout à fait correct.
Cependant, ton programe, ici, ne récupère pas

"nom_de_fonction (x,y,z)"

comme je pourrais l'espérer, mais

" nom_de_fonction (x,y,z) ) {var a=x,b=(y+z); a*b"

Le problème réside dans le fait que tu as considéré que les fonctions étaient toutes formatées comme suit :

function nom_de_fonction (x,y,z) {

...
}

...ce qui n'est pas obligatoire... De plus suppose qu'à la lecture de la ligne, on ait

ligne= " function nom_de_fonction ..."

ta fonction récupère alors la chaîne

"ction nom_de_fonction ..."

à cause des cinqs espaces qui se trouvent en tête de chaîne... mais cela peut être réglé facilement en supprimant à l'aide d'une boucle, les espaces en début de chaîne...

Autre problème :

ligne = "function nom_f1 (...) {...};function nom_f2 (...) {...}"

à supposer que les problèmes précédents aient été résolues, avec ton programme, seule la première des deux fonctions sera récupérée...

Sinon, l'idée du programme est très intéressante, et peut se révéler très pratique...

... à suivre ...

q°: Sibo :°p

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.