Fonction pour imprimer une feuille à partir de delphi

Résolu
Badyinfo Messages postés 56 Date d'inscription lundi 27 septembre 2010 Statut Membre Dernière intervention 30 octobre 2011 - 9 juin 2009 à 10:17
solilog Messages postés 273 Date d'inscription samedi 13 juin 2009 Statut Membre Dernière intervention 18 avril 2015 - 13 juil. 2009 à 17:39
Salut à tous
Savez vous quel code je dois utiliser pour imprimer une page à partir de delphi?
Je fais une gestion d'une compétition de natation et à un moment donné j'ai une fiche qui s'affiche avec tout les renseignements sur cette compétition que se trouvent dans ma BD, j'aimerai permettre à l'utilisateur d'imprimer cette feuille si il le souhaite....Mais comment?
autre chose : est il possible de transférer ses renseignements sur un doc Office Word?

Merci à qui voudra bien me répondre

5 réponses

cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
9 juin 2009 à 10:53
bonjour,

Le mieux serait de réaliser un état avec les outils classiques à ta disposition selon la version de delphi

Sinon, tu peux toujours imprimer une copie d'écran..

cantador
3
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
9 juin 2009 à 13:56
pour les outils :
rave ou QuickReportn etc..

pour la copie d'écran :

UNIT Unit1;


INTERFACE


USES
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Menus;


TYPE
  TForm1 = CLASS(TForm)
    Button1: TButton;
    PROCEDURE Button1Click(Sender: TObject);
  PRIVATE
    { Déclarations privées }
  PUBLIC
    { Déclarations publiques }
  END;


VAR
  Form1: TForm1;


IMPLEMENTATION




{$R *.dfm}


PROCEDURE CaptureEcran(activeWindow: bool; Img: TBitmap);
VAR
  w, h: integer;
  DC: HDC;
  hWin: Cardinal;
  r: TRect;
BEGIN
  IF activeWindow THEN
  BEGIN
    hWin := GetForegroundWindow;
    dc := GetWindowDC(hWin);
    GetWindowRect(hWin, r);
    w := r.Right - r.Left;
    h := r.Bottom - r.Top;
  END
  ELSE
  BEGIN
    hWin := GetDesktopWindow;
    dc := GetDC(hWin);
    w := GetDeviceCaps(DC, HORZRES);
    h := GetDeviceCaps(DC, VERTRES);
  END;
  TRY
    Img.Width := w;
    Img.Height := h;
    BitBlt(Img.Canvas.Handle, 0, 0, Img.Width, Img.Height, DC, 0, 0, SRCCOPY);
  FINALLY
    ReleaseDC(hWin, DC);
  END;
END;


PROCEDURE TForm1.Button1Click(Sender: TObject);
VAR
  BitMap: TBitMap;
BEGIN
  BitMap := TBitMap.Create;
  CaptureEcran(true, BitMap);
  BitMap.SaveToFile('CopieForme.bmp');
  BitMap.Free;
END;


END.

voir aussi le code publié par cirec sur le forum

cantador
3
Badyinfo Messages postés 56 Date d'inscription lundi 27 septembre 2010 Statut Membre Dernière intervention 30 octobre 2011
9 juin 2009 à 10:59
Merci Cantador....mais pourrais tu, STP, être un tout petit peu plus explicite....Merci
0
Badyinfo Messages postés 56 Date d'inscription lundi 27 septembre 2010 Statut Membre Dernière intervention 30 octobre 2011
9 juin 2009 à 14:30
Ok, merci bcp , ça m'aide énormément 
0

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

Posez votre question
solilog Messages postés 273 Date d'inscription samedi 13 juin 2009 Statut Membre Dernière intervention 18 avril 2015 10
13 juil. 2009 à 17:39
Bjr,
Si tu veux juste printer l'image d'une form, essaye form1.print tout simplement, tu auras à l'imprimante l'image exacte de ta form avec tous ses contrôles.
Salut
solilog
0
Rejoignez-nous