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

Langage Delphi Discussion :

déterminer l'imprimante selectionnee ?


Sujet :

Langage Delphi

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 257
    Points : 57
    Points
    57
    Par défaut déterminer l'imprimante selectionnee ?
    comment determiner l'imprimante selectionnee a partir du composant PrintDialog? j'ai trouver la methode Copie qui determine le nombre des copies a imprime mais quand je change l'imprimante, il ne le prend pas en consideration?? il prend l'imprimante par defaut.
    Merci pour vos aides.

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 280
    Points : 41 709
    Points
    41 709
    Billets dans le blog
    64
    Par défaut
    Citation Envoyé par messahel Voir le message
    comment determiner l'imprimante selectionnee a partir du composant PrintDialog?
    Dans la listes des uses ajouter Printers
    l'imprimante sélectionnée est la valeur Printer.PrinterIndex;

    exemple avec quickreport
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if PrintDialog1.Execute then
     begin
       Imprimante.Caption:=Printer.Printers[Printer.PrinterIndex];
       QuickRep1.PrinterSettings.PrinterIndex:=Printer.PrinterIndex;
       QuickRep1.PrinterSettings.Copies:=Printer.Copies;
     end;

  3. #3
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    uses Printers;
    ....
    procedure TForm1.Button1Click(Sender: TObject);
    begin
         ShowMessage(Printer.Printers.Text);
    end;

  4. #4
    Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 257
    Points : 57
    Points
    57
    Par défaut
    c'est bon maintenant pour la selection de l'imprimante choisie, mais le probleme c'est que la commande QuickRep.Print ne prend pas en consideration le nombre des copies, alors j'etais oblige de mettre QuickRep.Print dans une boucle de 0 jusqu'a QuickRep.PrinterSettings.Copies

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 280
    Points : 41 709
    Points
    41 709
    Billets dans le blog
    64
    Par défaut
    si tu utilises le code que je t'ai fourni , cela doit pourtant fonctionner (je l'utilise depuis des années ou alors mes utilisateurs ne me l'on jamais dit , je doute )

  6. #6
    Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 257
    Points : 57
    Points
    57
    Par défaut
    mais dans le code que tu m'as fourni, je n'ai pas compris le mot Imprimante signifie quoi, je le declare comme quoi ? en plus ton code tout seul ne lance pas l'impression ?

  7. #7
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 280
    Points : 41 709
    Points
    41 709
    Billets dans le blog
    64
    Par défaut
    imprimante , n'est qu'un Tlabel sur une form le caption aurait du te mettre sur la voie
    (j'aime bien indiquer à l'utilisateur sur quelle imprimante il est 'raccordé')

  8. #8
    Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 257
    Points : 57
    Points
    57
    Par défaut
    mais ton code tout seul ne lance pas l'impression, qu'est ce que j'ajoute ?

  9. #9
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 280
    Points : 41 709
    Points
    41 709
    Billets dans le blog
    64
    Par défaut
    Ah , mais à ce n'est pas la même chose .
    et en plus l'impression n'a rien a voir avec la sélection de l'imprimante !
    En général pour une impression j'ai un menu contenant 3 ou 4 options
    un peu comme ceci

    Impression
    Prévisualisation
    ---------------------
    Choix Imprimante
    Setup Imprimante
    (sachant que le Setup Imprimante est tres peu utilisé)
    j'ai ,en gros, les codes suivant pour chaque :

    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
     
    // Impression 
    Quickrep1.Print
    //Previsualisation
    Quickrep1.Preview
    // Choix Imprimante
    if PrintDialog1.Execute then
     begin
       Imprimante.Caption:=Printer.Printers[Printer.PrinterIndex];
       QuickRep1.PrinterSettings.PrinterIndex:=Printer.PrinterIndex;
       QuickRep1.PrinterSettings.Copies:=Printer.Copies;
     end;
    // Setup Imprimante
    if PrinterSetupDialog1.Execute then
     begin
       Imprimante.Caption:=Printer.Printers[Printer.PrinterIndex];
       QuickRep1.PrinterSettings.PrinterIndex:=Printer.PrinterIndex;
       QuickRep1.PrinterSettings.Copies:=Printer.Copies;
       .....
     end;

  10. #10
    Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 257
    Points : 57
    Points
    57
    Par défaut
    Désolé, mais tu m'as pas compris, j'ai fais ton code de la selection de l'imprimante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ----------------------
    if PrintDialog1.Execute then
     begin
       Imprimante.Caption:=Printer.Printers[Printer.PrinterIndex];
       QuickRep1.PrinterSettings.PrinterIndex:=Printer.PrinterIndex;
       QuickRep1.PrinterSettings.Copies:=Printer.Copies;
     end;
    ---------------------
    et apres j'ai fais la commande QuickRep1.Print mais elle ne prend pas en consideration le nombre des copies, a chaque fois et quelque soit le nombres des copies, je tiens qu'un seul exemplaire.

  11. #11
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 280
    Points : 41 709
    Points
    41 709
    Billets dans le blog
    64
    Par défaut
    as-tu vérifié la valeur de Printer.Copies ? en mode debug
    ou
    par exemple en utilisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ShowMessage('Nombre de copies : '+inttostr(Copies))

Discussions similaires

  1. [AC-2003] Déterminer l'imprimante active
    Par jmde dans le forum VBA Access
    Réponses: 5
    Dernier message: 27/06/2014, 21h25
  2. Déterminer si une imprimante est locale ou réseau
    Par Passepoil dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 04/12/2009, 19h08
  3. comment déterminer l'adresse ip d'une imprimante
    Par Minoucha2006 dans le forum C#
    Réponses: 1
    Dernier message: 25/05/2008, 13h40
  4. Réponses: 1
    Dernier message: 15/03/2007, 19h36
  5. Déterminer l'adresse d'une application en mémoire
    Par Gib dans le forum x86 32-bits / 64-bits
    Réponses: 9
    Dernier message: 11/06/2002, 15h27

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