Funciones para formatear texto

Iniciado por ANTRAX, Julio 26, 2010, 12:39:17 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Julio 26, 2010, 12:39:17 PM Ultima modificación: Mayo 12, 2014, 03:18:57 PM por Expermicid
Las funciones siguientes lo realizan de una forma rápida y eficazmente.
PADL -> Inserta los caracteres por la izquierda
PADR -> Inserta los caracteres por la derecha
PADC -> Inserta caracteres por derecha e izquierda -> centra el texto

Parámetros:
CADENA: String que queremos formatear
Longitud: Longitud final del string después de formatearlo
Caracter: Caracter que se desea utilizar para rellenar hast ala longitud anterior

Uso:
- Ej. Código artículo nº 46 pero que debería mostrarse 00046
- También lo uso para "esconder" información en los listbox -> aumenta la funcionalidad, ya que en la misma línea tengo siempre la descripción y el código correspondiente de una tabla determinada. Siempre sabré en qué posiciones se encuentra la descripción y el código (Recomendación: font del listbox = Courier [es letra monoespaciada])

Nota:
Si no se especifica el caracter que se desea insertar, inserta directamente espacios en blanco.
Si el tamaño de la cadena es mayor que la longitud, no hace nada, ya que no existe espacio para insertar los datos.

Funciones:

Código: vb
Function PadL(CADENA, Longitud, Optional caracter) If IsMissing(caracter) Then caracter = " "
If Longitud < Len(CADENA) Then
PadL = Left(CADENA, Longitud)
Else
PadL = Right(String(Longitud, caracter) & CADENA, Longitud)
End If
End Function

Function PadR(CADENA, Longitud, Optional caracter)
If IsMissing(caracter) Then caracter = " "
If Longitud < Len(CADENA) Then
PadR = Left(CADENA, Longitud)
Else
PadR = Left(CADENA & String(Longitud, caracter), Longitud)
End If
End Function

Function PadC(CADENA, Longitud As Integer, Optional caracter)
Dim LadoI As Integer, LadoD As Integer
If IsMissing(caracter) Then caracter = " "

If Longitud < Len(CADENA) Then
PadC = Left(CADENA, Longitud)
Else

LadoI = Format(((Longitud - Len(IIf(IsNull(CADENA), "", CADENA))) / 2), "0")
LadoD = Longitud - (Len(IIf(IsNull(CADENA), "", CADENA)) + LadoI)

PadC = String(LadoI, caracter) & CADENA & String(LadoD, caracter)

End If

End Function