Newsgroup: it.comp.lang.visual-basic
Titolo: azzera con ="" o ERASE?

Magari puň servire...ho trovato un baco in una mia "public" e devo
azzerare....
Consigliato il:
da un --> Public pippo(50)
poi
        for x = 1 to 50
          pippo(x) =""
        next x
(bruttino...)
oppure
ERASE pippo  o ERASE pippo()
magari anche con REDIM pippo(50) lasciando un "public pippo()"?
Prima di incasinarmi, meglio chiedere a chi ne sa piů di me!
come mi consigliate di azzerare o meglio togliere maggio "spazio memoria"?
GRAZIE ciao
-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.newsfeeds.com
 - The #1 Newsgroup Service in the World!
-----==  Over 100,000 Newsgroups - 19 Different Servers! =-----

 da un --> Public pippo(50)
Se è statica è più elegante un Erase pippo.
P.s.: ho scoperto che un
stringa = vbNullString
impiega meno di un terzo del tempo di
stringa = ""
Ciao

 ha scritto nel messaggio
news:bqpcln$2428o8$1...@ID-184808.news.uni-berlin.de...


 ha scritto nel messaggio
news:bqpcln$2428o8$1...@ID-184808.news.uni-berlin.de...

scusate il doppio-post, mi è scappato un return di troppo....
stavo dicendo......questa è una cosa che non riesco a spiegarmi:
come è possibile che usare vbNullString sia più veloce dell'assegnamento con
""
non sono entrambi costanti? cosa cambia a livello di assembler?
può essere che usare "" provochi l'allocamento di memoria per una costante
che serve per fare l'assegnamento e poi viene buttata via direttamente?
cmq, non riesco a trovare una ragione valida!!!
good coding!!!
-- 
Alletun
Sorry, ask me if you want to get my e-mail!

 --
Ciao Alletun,
il contenuto dell' puntatore di una stringa = "" č l'indirizzo di  un'area
di memoria riservata ad esso in cui c'č almeno un byte = a chr(0)
(terminatore di stringa). Una stringa = vbNullString ha il puntatore =  0
quindi non si riferisce e non occupa  nessun' area di memoria.
Ciao Giorgio.

 stringa = ""
Ugh! E come diavolo è possibile?!?!?
Ciao,
Alberto

 quindi non si riferisce e non occupa  nessun' area di memoria.
Si, infatti... In questo caso mi è d'aiuto un pò di sano, vecchio assembly
che ho studiato a scuola... Copiare una stringa in un'altra equivale ad
indirizzare due vettori di byte nella memoria quindi ciclare i vettori... Un
VbNullString probabilmente in assembly equivale semplicemente ad azzerare il
puntatore alla stringa ecco perchè è più veloce... Che ne pensate?
Antonio Mirarchi

 stringa = ""
Come hai fatto a provarlo ?
-- 
Ciao,
        Fabrizio
<=- 
http://www.negusweb.it
 -=>

 Come hai fatto a provarlo ?
di solito questi test si fanno inserendo la stessa operazione in un ciclo
es:
<stampa ora corrente>
for i = 1 to 100'000
    stringa = vbNullString
next i
<stampa ora corrente>
cosi vedi quando tempo ci impiega, poi cambi vbnullstring con "" e vedi il
nuovo time !
-- 
<Gigio2K>
--- 
www.g2kweb.it
 ---
Nokia -> I.T.H.N. -> 
http://www.ithn.it/
VB -> I.C.L.VB -> 
http://www.it-lang-vb.net/

 nuovo time !
A quanto ammonta la differenza tra i due tipi di istruzioni, sulle vostre
macchine ?


Io ho raggiunto una notevole velocità quando ho provato ad azzerare un
vettore di 10000 variabili.
In effetti la cosa dovrebbe funzionare secondo come ha spiegato Antonio
Mirarchi.
Sulla mia macchina gira un p4 2000Mhz
bye
-- 
Esistono 10 tipi di persone: chi conosce il binario e chi no
(credevo di averla rubata a SpecialKeta :P )
web: 
http://www.nicolaottomano.it