>>Krimos.
Prøv at kigge på
http://www.eksperten.dk/spm/57112 Det vil være en lærerig opgave tror jeg. Lars har ikke tid til selv lige at løse den, men den skal bruges i det virkelige cyber-liv.
Jeg vil ikke løse den for point. Her er mit 10-minutters svar til Lars. Kig på hans hjemmeside hvorfor det med 10 min.
Indsat brev:
Spørgsmål på Eksperten:
http://www.eksperten.dk/spm/57112Jeg har en samling af større JavaScript filer der bruges som \"framework\" i en større webapplikation. Jeg har nu fået den opgave at dokumentere hvilke funktioner der er defineret hvor, samt at liste den indbyrdes sammenhæng.
Resultatet skal kunne bruges på to måder:
1: Man sidder med en stump kode, eller en HTML side, og ser at en bestemt funktion kaldes. Hvor er den funktion defineret (I hvilken fil, linie?)
2: Man sidder og ændrer i en funktion. Hvor (i hvilke filer, linie) kaldes denne funktion?
Jeg forestiller mig en \"sniffer\" der kan lede efter bestemte ord eller tegn sekvenser, og så lægge en liste i f.eks. Excel, med navnene på funktionerne. Efterfølgende bruges listen til at matche på en ny streng, der så viser hvor funktionen bruges i andre filer.
Er der nogen der kender til programmer/scripts der kan løse dette?
Alternativt, er der nogen der kan/vil (Evt. for flere points ) lave et sådant til mig?
:-) Lars/Altinet
Skitse til VB-program til gennemsyn af scriptfiler.
De filer der skal undersøges må enten ligge i samme mappe eller der må oprettes en liste med deres placering med fuld sti.
Løsning for alle filer i samme mappe:
En form med FileListBox
En ASCII-fil til output.
En tæller for linienummer
Åben fil #1 for input
Læs linie for linie og søg efter strengen \"function\"
Gem filnavn - navn på funktion og linienummer med append i output-filen.
Åben fil #2 og gentag.
Ascii-filen kan organiseres på forskellig måde, evt. som kommasepareret med henblik på indlæsning i Excel el. lign.
\"Sniffer-programmet\" kan også indrettes til at være frontend for en database med ascii-filer som grundlag. Det afhænger af hvor stor opgaven bliver og hvor ofte den skal udføres.