Impression de texte

Résolu
asoaomar Messages postés 28 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 novembre 2009 - 17 mai 2007 à 11:08
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 - 19 mai 2007 à 11:56
Salut.


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


Merci..

17 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
17 mai 2007 à 17:33
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
3
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
17 mai 2007 à 11:10
D'ou vient le texte ? s'agit-il d'une TextBox, d'une RicthTextBox ou du contenu d'une variable ?
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
17 mai 2007 à 11:14
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 !
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
17 mai 2007 à 11:42
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)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
asoaomar Messages postés 28 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 novembre 2009
17 mai 2007 à 14:29
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……
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
17 mai 2007 à 14:44
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.
0
asoaomar Messages postés 28 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 novembre 2009
17 mai 2007 à 15:08
comment utiliser la commande vbcrlf ?
merci..
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
17 mai 2007 à 15:25
vbcrlf n'est pas une commande, mais une constante VB (= chr(10) + chr(13)) !!!
0
asoaomar Messages postés 28 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 novembre 2009
17 mai 2007 à 17:23
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...
0
asoaomar Messages postés 28 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 novembre 2009
17 mai 2007 à 18:45
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......


 
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
17 mai 2007 à 18:55
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.
0
asoaomar Messages postés 28 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 novembre 2009
17 mai 2007 à 19:07
merci ..
ok
0
asoaomar Messages postés 28 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 novembre 2009
18 mai 2007 à 10:01
Salut
j'ai compris
printer.font.underline est une propriété de soulignement et non de multilignes


Merci ..




 
0
asoaomar Messages postés 28 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 novembre 2009
18 mai 2007 à 19:43
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...
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
18 mai 2007 à 19:47
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 !
0
asoaomar Messages postés 28 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 novembre 2009
18 mai 2007 à 21:40
salut
je vait essayer de modifier les parametres de mon imprimante..
merci..
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
19 mai 2007 à 11:56
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.
0
Rejoignez-nous