Impression de texte

[Résolu]
Signaler
Messages postés
28
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
19 novembre 2009
-
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
-
Salut.


Comment je peu imprimer un texte Multilignes sur le même axe Y ?


Merci..

17 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
125
Tu chercherai un peu sur le forum ou dans les sources, tu aurais déjà trouvé, il en existe plusieurs qui montre cette technique !

Dim Texte() as string
dim i as integer

Texte = split(Text3.Text, vbcrlf)

for i = 0 to UBound(Texte)
    Printer.CurrentX = 101
    Print.print Texte(i)
next i
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
D'ou vient le texte ? s'agit-il d'une TextBox, d'une RicthTextBox ou du contenu d'une variable ?
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
125
As tu essayé l'instruction Print de l'objet printer, en l'utilisant avec les propriétés CurrentX et CurrentY, tu arrive à faire à peu près tout ce que tu veux !
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Bonjour DARKSIDIOUS,

Utilisation de l'objet printer et de ses propriétés, bien sur.

J'ajoute qu'il devra également s'intéresser à l'objet Font et aux méthodes TextWidth et TextHeight et qu'il lui sera peut-être également utile "d'éclater" son texte par l'utilisation de Split sur les Retours-charriot (vbcrlf)
Messages postés
28
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
19 novembre 2009

Merci DARKSIDIOUS et jmfmarques de vos remarques
le code que j'ai écrit est :
Printer.ScaleMode = vbMillimeters
Printer.Font.Underline = True
Printer.CurrentX = 101
Printer.CurrentY = 68
Printer.Print Text3
(text3 est un texte multilignes)
 
l'impression du 1ere ligne sera a la position x,y(101,68)
l'impression du 2eme ligne sera a la position x,y(0,69) et non (101,69)

qu’est-ce qu’il faut ajouter a mon code.

merci……
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
125
Comme te l'as dit notre ami jacques :
il faut splitter ta chaîne sur les vbcrlf, et imprimer les lignes une par une manuellement en redéfinissant le CurrentX entre chaque ligne.
Messages postés
28
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
19 novembre 2009

comment utiliser la commande vbcrlf ?
merci..
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
vbcrlf n'est pas une commande, mais une constante VB (= chr(10) + chr(13)) !!!
Messages postés
28
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
19 novembre 2009

comment j'utilise cette constante vbcrlf
est c'est quoi VB(= chr(10) + chr(13))
je pense que je ne suit pas a la hauteur de ce code
stp plus de détaille<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>merci...
Messages postés
28
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
19 novembre 2009

Merci beaucoup DARKSIDIOUS<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??>


Ta suggestion ma énormément aidé.


Je veux une autre faveur comment je peux enlever le soulignement du texte et modifier la taille du page?


Merci......


 
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Je vois (plus haut) que tu as écrit ce code :

Printer.ScaleMode = vbMillimeters
Printer.Font.Underline = True
Printer.CurrentX = 101
Printer.CurrentY = 68
Printer.Print Text3
(text3 est un texte multilignes)

C'est bien toi qui l'a écrit ?
Si oui, je pense que tu ne l'as pas écrit au hasard !!...
Alors : relis-le attentivement en te demandant ce que signifie ce que tu n'as pas écrit au hasard.
Un peu de sérioeux, s'il te plait.
Messages postés
28
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
19 novembre 2009

merci ..
ok
Messages postés
28
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
19 novembre 2009

Salut
j'ai compris
printer.font.underline est une propriété de soulignement et non de multilignes


Merci ..




 
Messages postés
28
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
19 novembre 2009

Salut


SVP aidez moi le code que j'ai écrit est :



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 




Printer.FontSize = 12


Printer.ScaleMode = vbMillimeters


Printer.FontUnderline = False



 




Printer.CurrentX = 156


Printer.CurrentY = 260


Printer.Print Text15



 




Printer.CurrentX = 0


Printer.CurrentY = 262


Printer.Print Text10


Printer.EndDoc



 




Text15 sera imprimer a la 1ere page


Tet10  sera imprimer a la 2eme page (il y a de l'espace dans la page !!)


qceqe je doit ajouter ?



 Rq je developpes sous VB6




Merci...
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
125
262 millimètres... ca vient sûrement de là ! Ca dépend des marges de ton imprimante, mais à mon avis du dépasse la taille de ta page - les marges de l'imprimante !
Messages postés
28
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
19 novembre 2009

salut
je vait essayer de modifier les parametres de mon imprimante..
merci..
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Bonjour asoamar

Tu as par ailleurs intérêts à lire dans l'aide en ligne tout ce qui correpond à l'objet Printer ...
Ses propriétés et ses méthodes (parmi lesquelle la méthode Newpage )

Intéresse-toi également à tout ce qui est dit à propos de la propriété PaperSize  (tu en as besoin)
Mais lis toutes les propriétés... lentement...

Je te conseille par ailleurs de t'intéresser (çà, c'est plus général... pas seulement pour imprimer) aux méthodes TextWidth et TextHeight qui sont forcément très utiles lorsque l'on se sert de l'objet Printer.
Intéresse-toi enfin à ce que sont les scalemodes et l'objet Font
Tu sais ? une impression à l'aide de l'objet Printer nécessite des connaissances diverses...(pas uniquement de l'objet Printer lui-même) . Si tu les court-circuites, tu n'obtiendras pas quelquechose de très beau, avec ton impression.

Enfin : je te l'aurai dit...

Bonne étude.