Newsgroup: it.comp.lang.visual-basic
Titolo: [VB 6] - Azzerare tutte le variabili dichiarate...

Salve a tutti.
Seiste un modo per azzerare tutte le variabili dichiarate e non in un form?
Oppure l'unico metodo per farlo è quello di iniziare il form con "Option
Explicit" e quindi dichiarare una per una le variabili?
So che "Option Explicit" è sempre meglio mettercelo per evitare problemi, ma
ho un form con tante di quelle (saranno oltre 100, e ad un certo punto me so
rotto di dichiarare...) variabili che ho preferito non usarlo...
Ciao

 rotto di dichiarare...) variabili che ho preferito non usarlo...
sei pazzo.. =;-)
proprio perche' ne hai tante non dovresti permetterti, anzi neanche
lontanamente pensare, anzi.....
se per caso sbagli a scrivere strPippu invece di strPippo sai che problemi
ti ritrovi....
te lo sconsiglio vivamente....
per quanto riguarda l'azzeramento... dvevi per forza riinizializzarle tutte
manualmente...
saluti
Andrea Montanari
montanar...@virgilio.it
http://www.asql.biz/DbaMgr.shtm
DbaMgr2k ver 0.4.0  -  DbaMgr ver 0.50.0
(my vb6+sql-dmo little try to provide MS MSDE 1.0 and MSDE 2000 a visual
interface)
--------- remove DMO to reply

 me so rotto di dichiarare...) variabili che ho preferito non usarlo...
Il fatto di avere cosě tante variabili non č un buon segno.
Cerca di strutturare meglio il programma, dividendo il codice in funzioni 
(in base al loro lavoro) e non mettendo tutto nella parte principale.

 ha scritto nel messaggio
news:j8VRa.15038$sj6.2...@tornado.fastwebnet.it...

a mio avviso Option Explicit e' *indispensabile* per proteggersi dai
piu' che possibili refusi.
per le variabili da inizializzare, usa le classi! crei dei moduli di classe
che dichiarano Public le variabili che vuoi, quando ti servono *pulite*
basta che crei un nuova istanza della classe. es:
'==========
' modulo ClassePippo
Public Pippo as Long
Public Caio As String
..
'============
' il form
' in (generale)
' dichiari un riferimento alla classe
Private cpPluto As ClassePippo
Private Sub Form_Load()
    Set cpPluto = New ClassePippo
     cpPluto.Pippo = 20
     cpPluto.Caio = "Sono Pluto"
....
' quando devi ripulire le variabili di cpPluto
' basta che crei una nuova istanza della classe
'con:
    Set cpPluto = New ClassePippo
HTH
by
r

 basta che crei un nuova istanza della classe. es:
mmm
eccellente!
Direbbe Montgomery Burns fregandosi le mani.
Credo che questa soluzione possa tornarmi parecchio utile, e aiutarmi a
ripulire un pochetto il form :D
Domani parto... buone vacanze e grazie per il supporto!
Ciao

     Set cpPluto = New ClassePippo
A vedere sembra molto bello.
Ma per quanto riguarda la pesantezza?


Le norme a mio avviso sono:
a) creare le variabili ciascuna al proprio livello lo "scope" piů
basso č sempre la migliore scelta
b) inizializzare le variabili prima del primo utilizzo 
c) usare nomi differenti per le variabili locali rispetto alle globali
d) per variabili globali usare preferibilmente una classe e definire
un oggetto
e) non utilizzare mai una variabile per scopi diversi da quelli per
cui č stata introdotta (esmpio: variabile per imponibile, dopo la
stampa della fattura scriverci sopra il totale delle righe della
fattura)
f) utilizzare al massimo il passaggio di valori come valore /
riferimento (a seconda delle necessita) a sub o funzioni

 Non diventa + pesante la cosa comunque?
Senza scomodare le classi (e quindi il substrato COM) se non ti servono
metodi e funzioni ottieni lo stesso risultato con una type.
    typPluto = TypePippo
    typPluto.Pippo = 20
    typPluto.Caio = "Sono Pluto"
Sicuramente più leggero e veloce.
Ciao
--
Math Parser, VB.Framework : 
http://www.neodatatype.net
Sito Comune               : 
http://www.it-lang-vb.net

     typPluto = TypePippo
    Dim typZero As TypePippo ' dichiara un type non inizializzato
    typPluto = typZero       ' assegna il valore (zero) a typPluto
