Imprimer un memo [Résolu]

Messages postés
110
Date d'inscription
dimanche 2 mars 2003
Dernière intervention
19 juin 2012
- - Dernière réponse : ni69
Messages postés
1529
Date d'inscription
samedi 12 juin 2004
Dernière intervention
5 juillet 2010
- 22 févr. 2005 à 22:35
cedric
bonjour
comment fait on pour imprimer un memo??
merci d'avance
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
1529
Date d'inscription
samedi 12 juin 2004
Dernière intervention
5 juillet 2010
9
1
Merci
Comme ceci :

Uses Printers;


procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
begin
with Printer do
begin
BeginDoc;
for i := 0 to Memo1.Lines.Count do
Canvas.TextOut(200,200 + (i * Canvas.TextHeight(Memo1.Lines.Strings[i])), Memo1.Lines.Strings[i]);
Canvas.Brush.Color : = clBlack;
EndDoc;
end;
end;


@+
Bonne Prog'
Nico



<HR>
N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 115 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ni69
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Dernière intervention
9 janvier 2013
25
0
Merci
Méthode "express" issu du bon vieux temps du Turbo Pascal :
1- ajouter Printers dans la clause Uses de votre choix

2- créer une procédure ou une méthode (c'est vous qui voyez) :
procedure TForm1.PrintMemo(Memo: TCustomMemo);
var
  P: TextFile;
  i: integer;
begin
  AssignPrn(P);
  try
    Rewrite(P);
    for i := 0 to Memo.Lines.Count - 1 do
      WriteLn(P, Memo.Lines[i]);
  finally
    CloseFile(P);
  end;
end;

3- Imprimez n'importe quel TMemo simplement :
procedure TForm1.Button1Click(Sender: TObject);
begin
  PrintMemo(Memo1);
end;

Avec cette méthode, on n'a pas à se préoccuper des hauteurs des lignes en fonction de la taille des caractères ni de savoir si on déborde de la feuille car le saut de page se fait automatiquement.

A toi de choisir

Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
http://www.croix-rouge.fr/index/partner_campagne.html
Commenter la réponse de cs_Delphiprog
Messages postés
1529
Date d'inscription
samedi 12 juin 2004
Dernière intervention
5 juillet 2010
9
0
Merci
Effectivement DelphiProg, j'avais déjà vu cette façon de faire quelque-part mais je ne m'en souvenais plus exactement... Merci de nous en faire part, je le note au cas où !

ced55957 >> Réponse acceptée pour DelphiProg svp


@+
Bonne Prog'
Nico



<HR>
N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !
Commenter la réponse de ni69

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.