Permet de reformater un champ texte sur une largeur de page définie

Contenu du snippet

Vous permet de reformater un champ de style mémo sur une largeur maximum. Des saut de ligne seront ajouté au endroit les plus juste entre les mots.

Source / Exemple :


Public Function Paginate(ByVal Texte As String, ByVal Column As Integer) As String
        ' Formatage d'un mémo en formatant la longeur de ligne à un nombre 
        ' de colonne prédéterminé
        Dim i As Integer
        Dim s As String
        Dim c As Char
        Dim counter As Long = 0

        For i = 0 To Texte.Length - 1
            counter += 1
            c = Texte.Substring(i, 1)
            If counter > Column And c = " " Then
                ' On dépasse la longeur de ligne authorisé on ajoute des retours
                ' si on est juste sur un blanc
                s += Chr(13)
                counter = 0
            End If
            If counter > Column + 10 Then
                ' Si on dépasse de plus de 10 caractère on force un retour
                s += Chr(13)
                counter = 0
            End If
            If c = Chr(10) Or c = Chr(13) Then
                ' Si on à trouvé un retour on réinitialise à zéro
                counter = 0
            End If
            s += c
        Next

        Return s

    End Function

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.