Imprimer etiquettes

alaiygo Messages postés 2 Date d'inscription lundi 14 mars 2005 Statut Membre Dernière intervention 22 mars 2005 - 21 mars 2005 à 19:37
alaiygo Messages postés 2 Date d'inscription lundi 14 mars 2005 Statut Membre Dernière intervention 22 mars 2005 - 22 mars 2005 à 20:28
Bonjour tout le monde,
Je voudrais une aide concernant l'impression d'un certain nombre d'etiquettes sous forme de (Edit.Text) avec un décalage de quelques centimetres.
Exemple:

Edit1.Text
Edit2.Text
Edit3.Text

et 5 cm plus bas

Edit1.Text
Edit2.Text
Edit3.Text

J'ai cherché plusieurs fois sur le net mais je n'ai pas trouvé d'aides a ce sujet.

Merci de votre aide

4 réponses

ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
21 mars 2005 à 20:43
essaye de te débrouiller avec ceci :

uses Printers;

procedure TForm1.Button1Click(Sender: TObject);
begin
Printer.BeginDoc;
Printer.Canvas.TextOut(x,y,'texte à imprimer - ligne 1');
Printer.Canvas.TextOut(x,y,'texte à imprimer - ligne 2');
[...]
Printer.EndDoc;
end;

X et Y sont en pixels et désignent l'origine du texte imprimé dur la feuille


@+
Bonne Prog'
Nico



<HR>
N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !
0
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
21 mars 2005 à 20:52
erratum : X et Y sont en pixels et désignent l'origine du texte imprimé SUR la feuille

attention : la fonction ne tient pas compte des marges de l'imprimante...


@+
Bonne Prog'
Nico



<HR>
N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !
0
cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 5
22 mars 2005 à 08:18
Salut,



Pour connaître marges et définition de l'imprimante, utilise les fonctions suivantes :



ScaleX := GetDeviceCaps(Printer.Handle, LOGPIXELSX);

ScaleY := GetDeviceCaps(Printer.Handle, LOGPIXELSY);

MargeX := GetDeviceCaps(Printer.Handle, PHYSICALOFFSETX);

MargeY := GetDeviceCaps(Printer.Handle, PHYSICALOFFSETY);



Après pour positionner ton texte :



X := XenPouces * ScaleX - MargeX;


Y := YenPouces * ScaleY - MargeY;



(XenPouces = XenMillimetres / 25.4)




Ken@vo


___________________

Code, Code, Codec !
0
alaiygo Messages postés 2 Date d'inscription lundi 14 mars 2005 Statut Membre Dernière intervention 22 mars 2005
22 mars 2005 à 20:28
Merci pour vos réponses,

Mais le probleme c'est d'imprimer ces Edit.Texte en plusieurs fois et avec espacement de quelques centimetres de décalage.
*******************************************************
Je vais essayer d'etre un peu explicite
*******************************************************
j'entre dans Edit1.Texte:Nom & Prénom
Edit2.Texte: Produit
Edit3.Texte: Date Production
Edit4.Texte: Date de péremption.

et j'imprime ceci en plusieurs fois
********************************************************
a+
0
Rejoignez-nous