protozorus
Messages postés38Date d'inscriptionmardi 13 décembre 2005StatutMembreDernière intervention 1 novembre 2007
-
16 févr. 2006 à 14:51
protozorus
Messages postés38Date d'inscriptionmardi 13 décembre 2005StatutMembreDernière intervention 1 novembre 2007
-
20 févr. 2006 à 13:59
Bonjour,
je suis sous vb6,j'imprime des listbox avec l'objet printer. je voudrais savoir s'il est possible d'imprimer un champs d'une liste sur deux lignes si celui ci est trop long.
si mon champs contient plus de 80 caracteres je voudrais l'imprimer sur deux lignes: comment faire?
Printer.CurrentX = 15 'ingestion
Printer.CurrentY = 140
Printer.FontItalic = False
Printer.FontBold = True
For i = 0 To frmapercu.List9.ListCount - 1
nb = Len(frmapercu.List9.List(i))
If nb > 80 Then
Printer.FontSize = 6
Else: Printer.FontSize = 8
End If
End If
Printer.CurrentX = 15
Printer.Print (frmapercu.List9.List(i))
Next i
ScSami
Messages postés1488Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 3 décembre 200724 17 févr. 2006 à 00:55
Je pense qu'il faut utiliser la fonction Mid...
Dim varTxtTmp As String
Printer.CurrentX = 15 'Ingestion
Printer.CurrentY = 140
Printer.FontItalic = False
Printer.FontBold = True
'N'ayant jamais utilisé l'objet Printer,
Printer.FontSize = 8 'je sais pas si ces 2 lignes ne sont
Printer.CurrentX = 15 'pas à mettre DANS le For/Next et Do/Loop! A toi de voir!
For i = 0 To frmapercu.List9.ListCount - 1
varTxtTmp = frmapercu.List9.List(i) 'Récupère le texte de la liste
Do While Len(varTxtTmp) > 80
Printer.Print (Mid(varTxtTmp,1,80)) 'Imprime les 80 premiers caractères
'Ici on enlève de varTxtTmp les 80 premiers caractères
Note que le code en rouge est celui que j'ai ajouté/modifié et non une "erreur"!!! Mais ça, je pense que tu l'avais compris!
Bon, j'ai pas testé donc c'est à toi de me dire si ça fonctionne ou pas (y'a peut-être un caractère qui saute à chaque fois ou une erreur... alors teste et dit moi!
Sinon, concernant l'instruction Mid, ce n'est pas compliqué :
Mid ( texte, caractére de début, nombre de caractères )
Autrement dit, Mid renvoie (retourne, si tu préfères) une portion de texte contenu dans un autre texte. Par exemple :
varText = Mid("ABCDEFGHIJKL", 4, 7)
varText sera égale à "DEFGHIJ"...
Mais regarde dans l'aide... elle est plus concise que moi et mes explications!
Enjoy
<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )