Ciao,

Il 14/06/2012 13:45, [email protected] ha scritto:
----Messaggio originale----
Da: [email protected]

'dichiarazione variabili locali
Dim sTemp As String
..omiss...
                        'ricava un carattere nella posizione iPos
                        stemp = Mid( StringToReverse, iPos, 1)&  sTemp
..omiss...
        'esce dalla funzione con il risultato sTemp
        ReverseString = sTemp

ciao,
potresti spiegare cosa fa la riga con la funzione Mid() ?
MI è chiaro che Mid estra un stringa da un'altra, e mettendo 1 come terzo
argomento, estrae un solo carattere,
pronto da essere inserito in posizione opposta.
Quello che non so è cosa fa la parte "&  sTemp" e il seguente riassegnamento a
"stemp".
In effetti non so nemmeno se i nomi delle variabili sono case sensitive.

In starBasic e in generale in Basic (es. VB) gli identificatori (nomi delle variabili, costanti, routine, function eccetera) NON sono case sensitive.

Il carattere & è l'operatore di concatenazione delle stringhe, quindi la riga di codice in questione significa:

stemp = Mid( StringToReverse, iPos, 1) &  sTemp

"prendi il iPos-esimo carattere da StringToReverse e mettilo all'inizio della stringa sTemp"

iPos è la variabile di controllo del ciclo For e va da 1 al numero di caratteri nella stringa da rovesciare

Perciò supponiamo che la stringa da rovesciare sia "Roma", quello che succede in sequenza è:

prima iterazione:
Prendi il primo carattere di "Roma" e attaccalo all'inizio della stringa sTemp (sTemp all'inizio è vuota perciò dopo la prima iterazione avremo sTempo = "R")

seconda iterazione:
Prendi il secondo carattere di "Roma" e attaccalo all'inizio della stringa sTemp
(sTemp era "R", perciò dopo questa iterazione avremo sTempo = "oR")

terza iterazione:
Prendi il terzo carattere di "Roma" e attaccalo all'inizio della stringa sTemp
(sTemp era "oR", perciò dopo questa iterazione avremo sTempo = "moR")

quarta iterazione:
Prendi il quarto carattere di "Roma" e attaccalo all'inizio della stringa sTemp
(sTemp era "moR", perciò dopo questa iterazione avremo sTempo = "amoR")

--fine della routine


saluti
Paolo M


---------------------------------------------------------------------
Per cancellarsi: [email protected]
Per informazioni: http://www.openoffice.org/it/
Per avviare una nuova discussione: [email protected]
Archivi: http://mail-archives.apache.org/mod_mbox/incubator-ooo-utenti-it

Rispondere a