Avatar billede schollert Nybegynder
03. marts 2003 - 11:34 Der er 12 kommentarer og
1 løsning

Tæl antal linier kode i et projekt

Hej!

Findes der en "statistik" mulighed i VB6? Jeg tænker på noget i stil med det, der ligger i f.eks. Word, der kan tælle antal tegn/linier/afsnit.

Jeg vil gerne have en idé om, hvor mange linier kode mit projekt indeholder.

Hvis det ikke findes _i_ VB6, er der så nogen, der kender/har noget "eksternt" (gerne free-/shareware) der kan analysere et VB projekt?

Venligst

/Mich
Avatar billede somaliomar Praktikant
03. marts 2003 - 11:37 #1
Forslag: Copy&Past din kode i Word :)
Avatar billede somaliomar Praktikant
03. marts 2003 - 11:40 #2
Hvis det kun er antal linjer du er ude efter, så findes findes den i Standard-toolbar.
Avatar billede schollert Nybegynder
03. marts 2003 - 11:45 #3
[Copy/Paste]: Nixen... Jeg sidder med mange moduler, og vil gerne kunne kontrollere med jævne mellemrum.

[... standard toolbar]: Hvor?
Avatar billede somaliomar Praktikant
03. marts 2003 - 11:49 #4
Jeg kører ikke lige VB6, men jeg er ret sikker på, at man kan finde antal linjer en kode består af, et eller andet sted i programmet. Jeg kan bare ikke huske om det var i toolbaren eller om det var i status-linjen. Der står noget der ligner det her:

  Ln 123, Col 10
Avatar billede schollert Nybegynder
03. marts 2003 - 11:58 #5
Det angiver kun din aktuelle position.
Avatar billede somaliomar Praktikant
03. marts 2003 - 12:29 #6
Ja ja, men hvis du placerer din tekst-markør helt nederst på siden kan du hurtig se, hvor mange linjer din kode fylder.
Avatar billede martin_moth Mester
03. marts 2003 - 12:50 #7
Du kan jo lave et andet lille program der tæller det for dig - et selvstændigt program, der åbner alle moduler og form-filer i dit VB-project og tæller karakterene. Det kan jo laves så du looper over alle filer i mappen, og så kan du bare køre det program med jævne mellemrum. Så kan du få lige præcis de oplysninger du har brug for, fx. tælle antallet af Sub's og function'er osv.

Jeg kan godt lave det for dig (alternativt give dig tips til hvordan du selv laver det), hvis det ellers er en lsøning du kan bruge.

Det program kan du jo så altid bruge, også når du bygger andre VB-applikationer fremover
Avatar billede schollert Nybegynder
04. marts 2003 - 09:12 #8
Hej Martin!
Tænkte nok, at det blev noget i den stil. ;-)
Jeg vil gerne lave det selv, men tager også gerne imod nogle hints.

Vil du lave det som "læs en linie (streng) og undersøg for ord" eller som en "tegn for tegn" leksikalsk analyse?

/Mich
Avatar billede martin_moth Mester
04. marts 2003 - 10:13 #9
Det kommer meget an på hvad du vil undersøge - skal du bare have antal tegn, kan du jo smide hele filen ind i en variabel

  Dim Filnummer as integer
  Filnummer = FreeFile
  Open "C:\Min_fil.txt" For Input As #Filnummer
  Text1.Text = Input(LOF(1), 1)
  Close #Filnummer

Og så bruge Len på filen. Og deri kan du jo så også tælle antallet af "Sub" og "Function" og andre interessante ord (forudsat, at du ikek bruger ordene i dine kommentarer. Alternativt er den "hårde måde", fx. smide hver linie i filen ind i en plads i et array, og derefter undersøge arrayet post for post - starter en post med ', ved du så at du kan springe den over... Afhængigt af hvor grundigt du vil have din statistik, kan det jo blive et større program - men til gengæld et program, som jeg ville synes var sjovt at lave...
Avatar billede martin_moth Mester
04. marts 2003 - 10:16 #10
Sikke jeg vrøvler - skriver, at du kan smide hele filen ind i en variabel, og så giver jeg koden til at smide den ind i en text.text...  Og med "Og så bruge Len på filen" mener jeg naturligvis "Og så bruge Len på variablen" ;o)
Avatar billede schollert Nybegynder
04. marts 2003 - 11:14 #11
Det lyder unægteligt, som om du er ude efter en lille "hyggeopgave".

Du skal være velkommen. Hvor mange point vil du have for det, hvis jeg har følgende ønsker:
* Tæl subs, procedurer og functions
* Tæl kodelinier (der ikke starter med en ')
* Extract kommentarer og "bundt" dem i de subs/procedurer/functions de hører til. (Jeg kommenterer kune med ' og ikke med REM)
* (Eventuelt:) Angiv kald, til hvad fra hvilke subs/procedurer/functions.

Resultatet kan gemmes i en text fil med angivelse af .BAS/.FRM tilhørsforhold.

Der voksede opgaven lige! ;-)

Det er ikke en haster, men hvis du har lyst, er du naturligvis meget velkommen. På sigt ville jeg nok selv prøve at lave noget sådant, men det er lige det med tiden.
Avatar billede martin_moth Mester
04. marts 2003 - 11:37 #12
Det samme her - det er lige det med tiden. Såå - det bliver ikke lige nu, for jeg har travlt med alt for mange andre tind :o(

Meeen det er hurtigt gjort - læs linierne i filen ind i et array (se fx. www.eksperten.dk/spm/303446), og arbejd herefter KUN med arrayet. Sorter alle blanke linier og kommentar-linier ud med et loop igennem arrayets poster. Herefter tælles subs og functions. Kan du leve med det, er det lavet på 3 minutter, og det skal jeg gerne gøre - at bundte kommentarer sammen og tælle kald, kommer nok til at overstige tidsplanen ;o)
Avatar billede schollert Nybegynder
04. marts 2003 - 13:19 #13
Det er helt i orden. Jeg ser selv på det ved lejlighed.
Tak for dine input. :oD
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester