Function inbase$(nd As Long, ba As Integer)
'funzione che trasforma un intero in una stringa in base BA If ba < 2 Or ba > 36 Then ' se 0, 1 o maggiore di 36 inbase$ = "---" ' ... genera un 'errore' nella stringa ... Exit Function ' ... ed esce End If ReDim cif(36) As String * 1 'simboli usati Dim g1 As Integer 'giro contatore For g1 = 0 To 9 'for da 0 a 9 per i primi simboli cif(g1) = Trim$(Str$(g1)) 'i primi simboli Next For g1 = 10 To 35 'for per i simboli-lettera cif(g1) = Chr$(g1 + 55) 'riempe i simboli-lettera Next Dim valb As String 'valore stringa provvisorio Do 'do (una potenza di BA per volta) valb = cif(nd Mod ba) & valb 'aggiunge un carattere alla stringa nd = Int(nd / ba) 'divide per BA per il prossimo giro If nd = 0 Then Exit Do 'se ultimo valore pieno esce Loop inbase$ = " " & valb 'assegnazione funzione End Function |