Newsgroup: it.comp.lang.visual-basic
Titolo: [?] S/F NON usate in progetti

Sto sclerando.
Volevo fare un po' di pulizia per ridurre le dimensioni degli EXE.
Certamente ho qualche routine nella mia DLL comune (per ora mi fermerei a
questo) che sta là, ma non è usata da nessuno, quindi potrei toglierla.
MZTools lo scarto perchè le chiamate elencate sono solo quelle della routine
corrente e io non ho voglia di farlo per ogni progetto e per ogni routine,
cliccando come un forsennato per giorni.
Bene, ho già un programma che mi consente di elencare i file di una
cartella, anche per specifiche estensioni, che contengono una certa stringa
(nome di una S/F), ma questo mi riporterebbe a qualcosa di molto lungo
perchè dovrei digitare ogni volta il nome della routine. Posso anche
indicare una serie di stringhe (anche da file esterno per non digitarle
tutte) ed elencare i file che contengono almeno una o tutte le stringhe, ma
non ottengo lo scopo di stabilire quali sono le S/F non usate (stringhe non
trovate) perchè queste potrebbero essere citate in file diversi. Nè otterrei
quello che voglio elencando i file che non contengono una o tutte le
stringhe.
Concludo con la domanda: Come fate voi (con una certa velocità e in
automatico, se no son già capace, ma invecchierei prima d'aver finito) a
sapere se una certa S/F NON è usata in più file (diciamo *.FRM e *.BAS) di
una cartella? Grazie.

 ogni routine, cliccando come un forsennato per giorni.
Come?!? Io lo uso appunto per questo, su un progetto che contiene 100 files
me li controla tutti e poi mi rilascia l'elenco delle chiamate e delle
variabili non utilizzate tramite la funzione "Esamina il codice sorgente".
--
Mattia stacanovista...

 
E se un modulo o form o classe e' comune a piu' progetti e una funzione 
e' richiamata solo in uno di questi?
	maxx
-- 
NOSPAM: Rimuovere i trattini dallo username!
Cut hyphens from my username!

 e' richiamata solo in uno di questi?
Così ad essere sincero non ho mai provato. Tu lo hai già fatto? Results?!?
--
Mattia stacanovista...

[Lupo] scrisse: (snip)
se ho capito...
scansionando il sorgente della dll ricaverei il nome delle funzioni e delle
sub, che metterei in una tabella
poi comincerei, pazientemente (ma tanto lo puň fare anche il pc di notte
:-) ) ad aprire tutti i file da controllare, verificando se č presente
ciascun nome di routine, se presente lo flaggo e ovviamente non verifico piů
se c'č. alla fine del giro, se ho nomi di funzioni-routine non flaggate,
vuol dire che non c'č nessuno che le usa.
se non ho capito... passo :-)
--
Salutoni
Sergio
per rispondere... togli il group dall'indirizzo

 e' richiamata solo in uno di questi?
Da quanto ho capito ti cerca solo le sub/funzioni *private* per il 
progetto e non utilizzate.
Cioč, non si prende il rischio di elencarti sub che potrebbero essere 
utilizzate dall'esterno.
Ovviamente se tu sai che un modulo č condiviso non andrai a toccarlo.
Ciao

 se non ho capito... passo :-)
Hai capito perfettamente, anche se (con le premesse che ho fatto) userò un
metodo automatico più veloce, non fosse altro perchè praticamente già
pronto, mi basterà mettere un <> al posto di un =.
La mia domanda (ora più precisa) era: Quali sono le S/F (di cui fornisco
l'elenco) che questi file NON usano/citano?
A pranzo, ovviamente dopo il whisky, la domanda vera e risolutiva è questa:
Quali sono le stringhe (di cui fornisco l'elenco, che poi sono i nomi di
tutte le S/F) NON menzionate in NESSUNO di questi file? Me ne faccio
l'elenco, lo confronto coi risultati di altre cartelle (generalmente
corrispondenti a progetti diversi che però si basano sulla stessa DLL
comune) e da qui deduco quali sono le S/F che posso tranquillamente
cancellare.
Volendo ottimizzare, potrei anche farmi elencare il numero delle
chiamate/citazioni di una certa stringa (S/F) e, per quelli particolarmente
bassi, decidere se spostare dalla "zonacomune" a una zona privata.