Sin dalla versione 6 del Visual Basic è stata introdotta la funzione Replace che consente di sostituire una parte di una stringa con una nuova stringa. Questa però è una funzionalità che gli sviluppatori che utilizzano Visual Basic 5 (o una versione precedente) non possono utilizzare se non implementando tale funzione da zero. L’esigenza mi è nata dal momento in cui avevo da manutenere dei vecchi progetti di alcuni clienti che richiedevano l’uso di tale versione.
Di seguito è rappresentata la funzione Replace da copiare ed incollare in un Modulo ed utilizzabile da Visual Basic 5 quanto dalle versioni precedenti.
Tale funzione utilizza la stessa sintassi della funzione introdotta con il Visual Basic 6 così da consentire eventuali migrazioni delle procedure che ne fanno utilizzo in modo trasparente (rimuovendo quindi solo la funzione dal modulo).
Public Function Replace(ByVal Expression As String, Find As String, sReplace As String, Optional Start As Long = 1) As String Dim S As String Dim I As Integer For I = Start To Len(Expression) S = UCase(Mid(Expression, I, Len(Find))) If S = UCase(Find) Then Expression = Left(Expression, I - 1) & sReplace & _ Mid(Expression, I + Len(Find)) I = I + Len(sReplace) - 1 End If Next Replace = Expression End Function