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

Delphi Discussion :

problème Edition printer sur matricielle laser puis matricielle


Sujet :

Delphi

  1. #61
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 262
    Points : 1 928
    Points
    1 928
    Par défaut
    Bonjour,

    c'est pour ca qu'il est hors de question d'introduire le ZPrinters
    Au fait, que penser de l'idée de n'ajouter que des objets ZPrinters aux endroits indispensables, la coexistante de ces deux objets - Printers et ZPrinters - ne doit pas poser de blème, vont se bouffer le nez tout de même !?

    Courage @+

  2. #62
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 31
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par J-P
    Bonjour,



    Au fait, que penser de l'idée de n'ajouter que des objets ZPrinters aux endroits indispensables, la coexistante de ces deux objets - Printers et ZPrinters - ne doit pas poser de blème, vont se bouffer le nez tout de même !?

    Courage @+
    non ce n'est pas possible, on ne sait pas les risques que pourraient entrainer l'utilisation du ZPrinters a la place du Printers.

  3. #63
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 262
    Points : 1 928
    Points
    1 928
    Par défaut
    non ce n'est pas possible
    Pourquoi binariser une chose qui ne l'est pas, seulement risqué, non ?

    Tout l'art de l'évaluation du risque est là ; sachant "qui ne risque rien n'a rien"...

    Mais si le blème dure longtemps, je suppose que la seule lution sera connue

  4. #64
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 31
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par J-P
    Pourquoi binariser une chose qui ne l'est pas, seulement risqué, non ?

    Tout l'art de l'évaluation du risque est là ; sachant "qui ne risque rien n'a rien"...

    Mais si le blème dure longtemps, je suppose que la seule lution sera connue
    D'un coté je me demande c'est quoi ce don de vouloir toujours contourner le problème ?
    Je ne peux pas passer par le ZPrinters.
    c'est pas en me disant que avec ca marche donc faut que je l'utilise ...

    parce que a la limite comme on avait dit le problème était avec les matricielles donc on detruit toutes les matricielles et on passe au laser pis comme ca je suis tranquille ... non ?

  5. #65
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2003
    Messages : 582
    Points : 915
    Points
    915
    Par défaut
    Bon... j'ai copié l'unité de Printers.pas
    dans un autre unité MyPrinters.pas...

    dans cette unité, j'ai ajouté une fonction MyResetPrinter()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    //*** Oublie tout des imprimantes ***
    procedure MyResetPrinter();
    begin
        if FPrinter<>nil then
        begin
            FPrinter.Destroy;
            FPrinter:=nil;
        end;
    end;
    Techniquement, en executant cette fonction, on retombe
    comme si on venait d'ouvrire l'application Delphi.

    j'ai modifié mon projet et j'ai changé pour qu'il utilise MyPrinters au lieu de Printers dans la clause USES.

    j'ai modifier ton test comme suit:
    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
    23
     
    procedure TForm1.Button3Click(Sender: TObject);
    var
        LineHeigth:integer;
        Niveau:integer;
        i:integer;
    begin
        //*** Tentative de reset au niveau delphi ***
        //*** des imprimantes. Utilise MyPrinters.pas ***
        MyResetPrinter();
        //*** Selection d'une imprimante text only
        printer.SetPrinter(pchar(Printer.printers[5]), '','',0);
        LineHeigth := Printer.Canvas.TextHeight('M');
        Printer.BeginDoc;
        niveau := 0;
        for i := 0 to 10 do
        begin
            Niveau := Niveau + lineheigth;
            Printer.Canvas.TextOut(0, Niveau, 'ligne ' + inttostr(i));
        end;
        printer.NewPage;
        Printer.EndDoc;
    end;
    Bon c'est un peu tordu... c'est relativement facile à implenter...
    voyons voir si ca fait la job maintenant?
    Comment dupliquer un disque...ça vous intéresse?
    Tutoriel et code source delphi ici

  6. #66
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 31
    Points : 4
    Points
    4
    Par défaut
    Dejà je te dis merci, et te dire que ton idée est très interressante !

    Citation Envoyé par Eric Boisvert
    Bon... j'ai copié l'unité de Printers.pas
    dans un autre unité MyPrinters.pas...

    dans cette unité, j'ai ajouté une fonction MyResetPrinter()
    j'ai modifié mon projet et j'ai changé pour qu'il utilise MyPrinters au lieu de Printers dans la clause USES.
    J'ai donc copier les fichiers sources de Printers, dans mon dossier de test.
    J'ai renommé Printers.pas et dcu en MyPrinters.*
    j'ai renommé l'unité Printers en MyPrinters.
    dans ma source de mon programme de test, j'ai ajouté MyPrinters au projet, et renommé les Printers dans unit en MyPrinters.

    J'ai ajouté ta petite fonction dans printers. puis j'ai modifier mon test comme tu l'a dit, soit en appelant la fonction MyResetPrinter() avant de choisir l'imprimante.

    Citation Envoyé par Eric Boisvert
    Bon c'est un peu tordu... c'est relativement facile à implenter...
    voyons voir si ca fait la job maintenant?
    J'ai testé en imprimant dans un fichier, et je retrouve dans mes 10 editions de suite le CR et LF 0D et 0A.

    pour le moment, je valide ton offre, il faut que je fasse plus de test. mais là je le sens bien, ensuite cette modification n'entraine pas un redeveloppement de toute les éditions de nos programmes, ce qui est très interressant.
    Je teste ca d'ici 15 mn et je vous tiens au courant !

    MERKI ERIC

    EDIT à 15h52 : J'ai fait plusieurs test, j'ai mis la fonction en commentaire et là juste le 0D et pas le 0A.
    Puis plusieurs test avec la fonction et là toujours mon 0D et 0A.
    Conclusion dans mon programme de test, je crois que ton truc tordu est tres interressants...
    Je vais lorsque j'aurai vu ca avec mon BOSS, testé sur le programme commercial, puis le mettre en test chez notre client, et vous dire ce que ca donne, mais là je crois que l'on tient le bon morceau.

    Je suppose que je n'aurai que a modifier la source du Printers.pas de delphi, et d'appeler la procedure. donc c'est cool . encore un peu de suspense. d'ici demain ou semaine prochaine, je vous informe du résultat.

  7. #67
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2003
    Messages : 582
    Points : 915
    Points
    915
    Par défaut
    Ce qui me titille (un peu comme toi)...
    Citation Envoyé par staris
    D'un coté je me demande c'est quoi ce don de vouloir toujours contourner le problème ?
    La solution proposé reste quand même une voie de contour!

    J'aimerais quand même que quelqu'un trouve le bobo...
    Y a là matière à analyse plus profonde de cette unitée.

    pour ce qui est de
    Citation Envoyé par staris
    modifier la source du Printers.pas de delphi
    Alors là pas du tout d'accord! Garde plutôt une unitée à part...
    (pense à un changement de machine...et une réinstallation de delphi...
    et vlan! perdu la modif dans printers.pas!)
    Comment dupliquer un disque...ça vous intéresse?
    Tutoriel et code source delphi ici

  8. #68
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 31
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Eric Boisvert
    Ce qui me titille (un peu comme toi)...


    La solution proposé reste quand même une voie de contour!

    J'aimerais quand même que quelqu'un trouve le bobo...
    Y a là matière à analyse plus profonde de cette unitée.

    pour ce qui est de


    Alors là pas du tout d'accord! Garde plutôt une unitée à part...
    (pense à un changement de machine...et une réinstallation de delphi...
    et vlan! perdu la modif dans printers.pas!)
    Oui c'est vrai que ta solution est une voie de contour, mais si on considere que le Printers.pas a un défaut, ca nous derange pas de le modifier.
    C'est toujours mieux que d'utiliser le ZPrinters.

    Et sache que on pense à tous les cas possible, changement de machine, reinstallation de Delphi, vu que ca nous est dejà arrivé ... mais il existe les sauvegardes pour ca ... On a dejà modifier les sources du QuickReport lol

+ Répondre à la discussion
Cette discussion est résolue.
Page 4 sur 4 PremièrePremière 1234

Discussions similaires

  1. [XL-2003] Problème sur une sélection puis séparation par une ligne blanche
    Par korni184 dans le forum Excel
    Réponses: 12
    Dernier message: 08/04/2010, 11h45
  2. Problème de tri sur les dates par année puis mois
    Par rob2-9 dans le forum Access
    Réponses: 26
    Dernier message: 11/08/2006, 11h04
  3. [CR] Problème de sélection sur un champ date
    Par noluc dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 21/11/2003, 16h56
  4. Problème avec RDTSC sur K6-III
    Par le mage tophinus dans le forum x86 32-bits / 64-bits
    Réponses: 17
    Dernier message: 30/09/2003, 09h43
  5. problème de float sur SQL server 2000.
    Par fidji dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 24/07/2003, 14h15

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