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 :

Problème avec TPrinterSetupDialog ou TPrintDialog


Sujet :

Langage Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2003
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 12
    Points : 10
    Points
    10
    Par défaut Problème avec TPrinterSetupDialog ou TPrintDialog
    Bonjour à toutes et à tous,

    Je travaille actuellement sur une application qui permet à l'utilisateur de choisir son imprimante par défaut. Ceci ne change pas l'imprimante par défaut de Windows, mais seulement celle en cours utilisée par l'application.

    Pour enregistrer l'imprimante sélectionnée, j'enregistre le nom de celle-ci dans un fichier INI.

    Voici comment je procède :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        if (Printer.Printers.Count > 0) then begin
          if (PrinterSetupDialog.Execute()) then begin
            Config.PrinterName := Printer.Printers[Printer.PrinterIndex];
          end;
        end;
    Mon problème se pose dès que je sélectionne mon imprimante réseau et que je fais OK. Dans ce cas une nouvelle entrée est rajoutée dans la liste des imprimantes Printer.Printers.

    Pour mieux comprendre voici le contenu de Printer.Printers avant l'affichage du Dialogue de configuration :
    Printers[0] = '\\venusia\PR40';
    Printers[1] = 'CutePDF Writer';
    Et voici son contenu après l'appel à PrinterSetupDialog.Execute()
    Printers[0] = '\\venusia\PR40';
    Printers[1] = 'CutePDF Writer';
    Printers[2] = '\\venusia\pr40 sur pr40b';
    Delphi m'indique alors que l'imprimante active est la 2, soit '\\venusia\pr40 sur pr40b' et c'est cette valeur que j'enregistre dans mon fichier INI.
    Au redémarrage de l'appli, j'essaye de retrouver cette imprimante avec le code suivant, mais bien sûr il ne la trouve pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Printer.PrinterIndex := Printer.Printers.IndexOf(Config.PrinterName);
    J'ai exactement le même problème avec le composant TPrintDialog...

    Est - ce que quelqu'un a déjà eu ce problème ?

    Merci;
    HooK

    Edit : J'ai oublier de préciser que je suis sous Delphi 7

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 795
    Points : 5 581
    Points
    5 581
    Par défaut
    Je n'en suis pas sûr mais je crois que le "sur pr40b" est rajouté par windows uniquement pour t'indiquer le nom de l'ordinateur d'où vient l'imprimante mais que le nom reste "\\venusia\PR40"

  3. #3
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 310
    Points
    2 310
    Par défaut
    Salut;
    comme Printers est de type TString je crois qu'il faut la vider avant de choisir une autre imprimante.
    a+

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 12h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 11h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 19h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 17h10

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