jueves, 26 de septiembre de 2024

Funciones. Textos.

Repetir una cadena n-veces.

Presento a continuación una función creada (no Built-In) que permite repetir n-veces un string (carácter, palabra o frase). El código original de esta función lo puedes encontrar en [wiki.open-office.es] con el nombre de StrRepeat().


Para facilitar la plena comprensión de StrRepeat() empiezo por renombrarla como RepiteCad() y sigo con su explicación.

La función RepiteCad() recibe dos parámetros, el primero de tipo String (el contenido textual que deseamos se repita) y el segundo numérico (el número de repeticiones deseadas), de modo que el enunciado de la función podría quedar como sigue: RepiteCad(sCad, iVeces).

Explico a continuación el contenido y su funcionamiento:

Function RepiteCad( sCad As String, iVeces As Integer) As String

Dim sRes As String

Dim i As Integer

For i= 1 To iVeces

sRes = sRes & sCad

Next

RepiteCad = sRes

End Function

En esta función se declaran dos variables, una de ellas (sRes) para  contener la cadena resultante de la repetición y otra (i) como contador.

Incluye un bucle For que ejecuta el ciclo de repeticiones requerido iniciando el contador a 1 y finalizándolo con el valor pasado como segundo parámetro (el número de repeticiones deseado) (For i= 1 To iVeces).

Lo que ejecuta ese bucle es precisamente es la concatenación repetida iVeces de su variable de respuesta a la cadena pasada como primer parámetro (el contenido textual que deseamos se repita) (sRes = sRes & sCad)

Un ejemplo de funcionamiento podría ser el siguiente:

Sub LLamarFuncRepetir

Dim Cadena As String

Cadena = RepiteCad ("P ", 7)

MsgBox Cadena

End Sub


Function RepiteCad( sCad As String, iVeces As Integer) As String

Dim sRes As String

Dim i As Integer

For i= 1 To iVeces

sRes = sRes & sCad

Next

RepiteCad = sRes

End Function

No hay comentarios:

Publicar un comentario

Comenta esta entrada