realiser un afichage et impression d'une table seulement avec les code de Dephi. je prend exemple de PreviewPrint du forum de Delphi faite sans Table.
realiser un afichage et impression d'une table seulement avec les code de Dephi. je prend exemple de PreviewPrint du forum de Delphi faite sans Table.
Que veux-tu dire qu'avec du code Delphi ?
Sans Quick Report ou Rave Report, directement en Canvas de TPrinter ? Si oui, tu as la réponse, il suffit d'utiliser le Canvas du Printer (fonction delphi), avec un GetDeviceCaps, tu peux récupérer les infos de l'imprimate (taille en inch à convertir en pixel ou mm), ensuite tu dessine sur le papier comme si tu dessinais à l'écran ...
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !![]()
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
Merci pour votre renponse.
Vous avez compris ma question. Avec le peu experience que j'ai en Delphi je demande l'aide, Je n'arrive pas utiliser canvas du printer avec table. Pour cela je cite exemple de previewPrint du forum dans delphi qui est fait sans une table pour completer mon probleme.
Merci pour votre renponse.
Vous avez compris ma question. Avec le peu experience que j'ai en Delphi je demande l'aide, Je n'arrive pas utiliser canvas du printer avec table. Pour cela je cite exemple de previewPrint du forum dans delphi qui est fait sans une table pour completer mon probleme.
En Fait, le Canvas, c'est une page vierge
Tu peux obtenir la Taille de l'imprimante avec GetDeviceCaps (...) ...
Ensuite, tu auras besoin de DrawText et DrawLine ...
Pour la Table, c'est simple, tu la parcours, avec un First, while not EOF, Next, et tu dessine le Texte contenu dans les colonnes ...
Sinon, tu peux aussi tricher, tu affiche dans un DBGrid, et il y a des sujets qui traite de l'impression de celui-ci !
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !![]()
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
Si J'ai le temps, je n'ai pas fait d'impression à la main depuis fort longtemps, je le faisais pour l'impression de listing de code barre, le composant que j'utilisais ne supportais pas Quick Report, et comme je n'ai plus le code (quoi que, peut-être, je vais fouiller sur un vieux CD)
mais cela doit donner (uses Printers)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 Y := 10; Printer.BeginDoc(); Data.First(); while not Data.EOF do begin Printer.Canvas.TextOut(10, Y, Data.FieldByName('Champ1').AsString; Printer.Canvas.TextOut(Printer.PageWidth div 2, Y, Data.FieldByName('Champ2').AsString; Inc(Y, Printer.Canvas.TextHeight + 2); Printer.Canvas.MoveTo(10, Y); Printer.Canvas.LineTo(Printer.PageWidth - 10, Y); Inc(Y, 2); if Y > Printer.PageHeight then begin Printer.NewPage() Y := 10; end; Data.Next(); end; Printer.BeginDoc();
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !![]()
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
Partager