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]

Rispondere a