IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

Comment réaliser un aperçu avant impression avec une table ?


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 14
    Par défaut Comment réaliser un aperçu avant impression avec une 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.

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 086
    Par défaut
    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

  3. #3
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 14
    Par défaut Merci Comment realiser un apercu avant impression avec une table ?
    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.

  4. #4
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 14
    Par défaut Merci pour votre assistance.
    Citation Envoyé par ShaiLeTroll Voir le message
    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 ...
    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.

  5. #5
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 086
    Par défaut
    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

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 202
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    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 ...
    !
    Salut,
    es ce qu'on peut avoir un petit exemple avec une table de deux champs. Cela nous aiderais beaucoup.

    merci d'avance

  7. #7
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 086
    Par défaut
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment faire un aperçu avant impression
    Par botti2007 dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 19/12/2010, 10h08
  2. Réponses: 0
    Dernier message: 24/09/2007, 13h30
  3. Aperçu avant impression avec TChart
    Par vitch8 dans le forum Delphi
    Réponses: 3
    Dernier message: 27/03/2007, 18h38
  4. Comment faire un aperçu avant impression (D7PRO)?
    Par tipiweb dans le forum Langage
    Réponses: 2
    Dernier message: 13/03/2006, 23h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo