Petit code trouvé dans un bouquin permettant de lire une chaine et de faire un passage à la ligne lorsque la taille du texte est suppérieure à la largeur du contrôle Picture
Source / Exemple :
Public Function GetWordFrom(AnyString As String) As String
If InStr(AnyString, " ") = 0 Then
GetWordFrom = AnyString
AnyString = ""
Else
GetWordFrom = Left$(AnyString, InStr(AnyString, " "))
AnyString = Mid$(AnyString, InStr(AnyString, " ") + 1)
End If
End Function
Sub NewLine()
Impr.CurrentX = 30 'Mon contrôle PICTURE s'appelle "Impr"
Impr.Print
End Sub
Sub LigneInfo()
TestString$ = "Ligne de test, passage si trop long"
LoadSubjectIMPR TestString$
End Sub
Sub LoadSubject(StringToPrint As String)
Dim NextWord As String
'Lit le premier mot de la chaine
NextWord = GetWordFrom(StringToPrint)
Do While NextWord <> ""
If ((Impr.CurrentX + Impr.TextWidth(NextWord$) + 25) > Impr.ScaleWidth) Then
NewLine
Impr.CurrentX = 30
End If
Impr.Print NextWord;
NextWord = GetWordFrom(StringToPrint)
Loop
End Sub
Conclusion :
On appelle la fonction via 'LigneInfo'
La valeur de 'TestString$' est la chaîne à analyser.
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.