Imprimer un memo [Résolu]

Messages postés
110
Date d'inscription
dimanche 2 mars 2003
Dernière intervention
19 juin 2012
- 21 févr. 2005 à 13:07 - Dernière réponse :
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
21 févr. 2005 à 13:16
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 !

Merci ni69 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes 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
21 févr. 2005 à 22:26
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
22 févr. 2005 à 22:35
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.