e ti ringrazio per la dritta, ma la mia stringa è molto più complessa,
deve contenere degli apici e delle virgolette annidate... e comincio
veramente a dubitare che si possa fare!
Tu hai provato?
Gli apici singoli li puoi inserire come del testo normale:
sStringa = "all'apice"
Per quanto riguarda invece i doppi apici (ed altri caratteri
particolari), credo che l'unico modo sia usare il comando chr(34)
sStringa = "testo prima" & chr(34) & "testo dopo"
chr converte i codici ascii nei corrispondenti caratteri.
> Visto che ci siamo volevo farti notare che il prefisso "o" della
variabile
oRowE non è appropriato.
Per un niubbo, all'inizio, la lettura del codice starbasic è piuttosto
difficile...
La difficoltà percettiva maggiore è distinguere le variabili
(invenzione dell'utente) dalle parole che appartengono all'API...
Poi pian pianino si fa l'occhio"...
Ma infatti se le nomini così, diventa più facile la lettura! ;-)
> es
> Dim iNumRiga As Integer
e se fosse long?
Dim lNumRiga as long?
Esatto! (almeno io le scrivo così...ma non essendo un fondamentalista
del basic potrei sbagliarmi! :-) )
Mi sembra bruttino... e difficile da leggere... e quindi da
ridigitare... (l'errore di digitazione è sempre in agguato...
specialmente nelle ore piccole...)
Però almeno quando (ri)leggi il codice sai che quella variabile è di
tipo long!
E se ti capita un errore di overflow proprio su quella variabile sai che
il problema è che il numero che hai generato non ci sta in un long senza
nemmeno cercare come l'hai dimensionata. (poi ovviamente ti toccherà
capire se è corretto che il numero sia così alto o no, ma questa è
un'altra storia...)
Se il codice funziona che cosa comporta non aver dichiarato tutte le
variabili?
L'applicativo si incasina?
Non credo.
L'applicativo rallenta?
E se si di quanto?
Dalla mia esperienza (e qualche prova specifica) sembrerebbe rallentare
un po', ma non tantissimo (in termini assoluti).
Ovviamente i valori assoluti dipendono da quante variabili hai, quante
volte le "dimensioni", dal pc, ecc.
In termini relativi io ho provato con il codice d'esempio che ho
riportato sotto, e sul mip pc diventa circa 10 volte più veloce
dimensionando la variabile, rispetto a quando non viene dimensionata.
Credo però sia un caso piuttosto improbabile che tu debba dimensionare
anche solo 10.000 variabili...(nell'esempio la sub viene richiamata
100.000 volte e quindi "variabile" viene dimensionata 100.000 volte)
Quindi probabilmente in situazioni reali non te ne accorgi nemmeno, se
non in casi mooolto particolari (un po' come quello che sto creando io
che invece richiede continui richiami di funzioni e sub con le loro
variabili e perciò potrebbe rallentare notevolmente un processo già
lento di suo)
Ciao!
Emanuele.
REM codice d'esempio per test dimensionamento variabili
Sub Main
ThisComponent.sheets.getByIndex(0).getCellByPosition(0,4).value = timer
for l = 0 to 100000
subRichiamata
next l
ThisComponent.sheets.getByIndex(0).getCellByPosition(0,5).value = timer
End Sub
sub subRichiamata
'dim variabile as integer
variabile = 1430
end sub
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]