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 :

Probleme avec alignement de chiffres réels :(


Sujet :

Delphi

  1. #41
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 74
    Points : 29
    Points
    29
    Par défaut
    ok je vois + ou - mais ou puis je trouver cet OCX pour l importer dans delphi ?

    je dois avouer que je m y perds un peu la

  2. #42
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Citation Envoyé par softstar
    ok je vois + ou - mais ou puis je trouver cet OCX pour l importer dans delphi ?

    je dois avouer que je m y perds un peu la
    Bah sur le site d'epson, c'est ce qu'ils appellent EPSON OPOS ADK (tu ne la vois pas ?)

    Le site est ici : https://www.epson-pos.com/sdssm/td_index.html

    Tu installes ça, puis dans Delphi, tu vas dans le menu "Projet-->Importer Une Bibliothèque de Types" et tu suis la procédure habituelle pour installer un contrôle ActiveX : comme pour avoir un lecteur PDF (ActiveX Adobe Acrobat Reader), ou un contrôle Flash Mediaplayer...)

    Dans notre FAQ et l'aide Delphi, ça doit être expliqué en long, en large et en travers.

    Mais ça se trouve, tu peux t'en passer :
    En tout cas il faudrait que tu testes ça pour bien faire :
    (une fiche et un bouton dessus)

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    unit Unit1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
     
    type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
      type TPrnBuffRec = record
        BuffLength : word;
        Buffer : array [0..255] of char;
      end;
     
    var
      Form1: TForm1;
     
    implementation
    uses printers;
    {$R *.dfm}
     
     
    function ImprimanteOK(Imprimante:TPrinter):boolean;
    var TestInt : integer;
    begin
      TestInt := PASSTHROUGH;
      result := (Escape(Printer.Handle,QUERYESCSUPPORT,
                sizeof(TestInt),@TestInt,nil)>0);
    end;
     
    procedure Imprime(Imprimante:TPrinter;Commande:string);
    var Buff : TPrnBuffRec;
    begin
      { Copy the string to the buffer }
        StrPCopy(Buff.Buffer, Commande);
      { Set the buffer length }
        Buff.BuffLength := StrLen(Buff.Buffer);
      { Make the escape}
        Escape(Printer.Canvas.Handle,PASSTHROUGH,
               0,@Buff,nil);
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    var Commande:string;
    begin
      //Construit la commande
     
      //Initialise l'imprimante (ESC @)
      Commande:=#27'@';
      //Specifie un alignement centré (ESC a) (1 pour centré)
      Commande:=Commande+#27'a'#1;
      //Specifie la Police de caractère A (ESC !) (0 pour la Font A)
      Commande:=Commande+#27'!'#0;
      //Prépare un texte : la date et l'heure (Centré, avec la Police A donc)
      Commande:=Commande+'January 14, 2002 15:00';
      //Imprime et saute 3 lignes (ESC d)
      Commande:=Commande+#27'd'#3;
      ///Selectionne un alignement du texte à gauche (ESC a) (0 pour centré)
      Commande:=Commande+#27'a'#0;
      //Selectionne la Police de caractère B (ESC !) (1 pour la Font B)
      Commande:=Commande+#27'!'#1;
     
      //Du texte et passage à la ligne avec #10
      Commande:=Commande+'Carottes    20.00 €'#10;
      Commande:=Commande+'Navets      11.00 €'#10;
      Commande:=Commande+'Raviolis     5.00 €'#10;
     
      //Saute une ligne (LF)
      Commande:=Commande+#10;
     
      //Mode caractères "Double-Hauteur" ON (ESC ! 17)
      Commande:=Commande+#27'!'#17;
      //Affiche le prix Total
      Commande:=Commande+'TOTAL      36.00 €'#10;
      //Mode caractères "Double-Hauteur" OFF (ESC ! 17)
      Commande:=Commande+#27'!'#0;
      //
      Commande:=Commande+'------------------------------'#10;
      Commande:=Commande+'Payé       50.00 €'#10;
      Commande:=Commande+'Rendu      14.00 €'#10;
      //Sort le ticket et coupe
      Commande:=Commande+#29'V'#66#0;
      //Ouverture du tiroir-caisse (ESC p)
      Commande:=Commande+#27'p'#60#120;
     
      if ImprimanteOK(Printer) then
      begin
        Printer.BeginDoc;
        Imprime(Printer,Commande);
        Printer.EndDoc;
      end;
    end;
     
    end.

    Comment ai-je fait ça ?
    1) inscription ici : https://www.epson-pos.com/sdssm/td_index.html
    2) Téléchargement du document "FAQ for ESC/POS"
    3) dedans il y a un exemple en BASIC que j'ai adapté avec le code Delphi
    Bidouilleuse Delphi

  3. #43
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 74
    Points : 29
    Points
    29
    Par défaut
    impecc waskol , en fait je me trompais j avais téléchargé le sp6 pour l opos adk

    (service pack 6)

    et donc,fattalement ca marchais pas vu qu il faut d abord installer l opos adk

    de base

    je vais tester tout ca , et je te tiens au courant

    en tout cas,toutes mes félicitations d'avoir trouvé la solution si vite

    , et encore merci

  4. #44
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Et n'oublie pas de tester la petite appli chez ton restaurateur dont je t'ai mis la source, si ça marche, c'est bingo !

    Et en plus, on devrait pouvoir trouver les mêmes polices que l'imprimante :
    WPC 1252,
    PC866 [Cyrillic #2],
    PC852 [Latin2]

    pour pouvoir sortir un ticket sur l'écran (un aperçu avant impression)
    Bidouilleuse Delphi

  5. #45
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 74
    Points : 29
    Points
    29
    Par défaut
    ah bien vu, j avais pas vu que elle a 3 type de polices de caracteres

    différents

    he ben , c est une folie cette imprimante ,

  6. #46
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 74
    Points : 29
    Points
    29
    Par défaut
    voila j ai installé les composants activex sous delphi

    qui sont :

    TOPOSCashDrawer
    TOPOSCheckScanner
    TOPOSKeyLock
    TOPOSLineDisplay
    etc...
    ainsi que TOPOSPrinter

    je suppose d ailleurs que je n aurais qu a utiliser le TOPOSPrinter

    je regarde maintenant pour voir les différentes méthodes associées a ce composant

  7. #47
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    haaaaaaaaaaaaaaa
    Bidouilleuse Delphi

  8. #48
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 74
    Points : 29
    Points
    29
    Par défaut
    bon,je viens de regarder un peu les méthodes de ce composant

    je comprends + ou -

    je viens de téléphoner au gérant du café

    il me pretera son imprimante a la fermeture et je lui rapporterais le lendemain

    matin a l'ouverture

    comme ca,je serais certain que ca fonctionne

  9. #49
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 74
    Points : 29
    Points
    29
    Par défaut
    bon he bien voila , ce café ferme tout les jours a 2h00 du matin

    et réouvre a 7h00 du matin

    je vais donc faire ca a l'aveugle avec les methodes et commandes

    et j irais tester ca un jour de fermeture


  10. #50
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Citation Envoyé par softstar
    bon he bien voila , ce café ferme tout les jours a 2h00 du matin

    et réouvre a 7h00 du matin

    je vais donc faire ca a l'aveugle avec les methodes et commandes

    et j irais tester ca un jour de fermeture

    Humm, pas facile pour tester...

    Sinon, pour la partie du code que je t'ai donné, et après mure réflexion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ...
    if ImprimanteOK(Printer) then
      begin
        Printer.BeginDoc;
        Imprime(Printer,Commande);
        Printer.EndDoc;
      end;
    Essaies aussi avec une version du programe sans le Printer.BeginDoc, ni le Printer.EndDoc (la commande avec les séquences d'échappement contient le code d'initialisation de l'imprimante.)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if ImprimanteOK(Printer) then
      begin
        Imprime(Printer,Commande);    
      end;
    Si tu n'est pas fatigué, va les tester ce soir, comme ça tu seras fixé.
    Si jamais ça marche, un ticket sortira...
    Du coup, ton programme va être hyper facile à faire, et je t'assures qu'il sera opérationel très très vite !!!
    Bidouilleuse Delphi

  11. #51
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 74
    Points : 29
    Points
    29
    Par défaut
    euh , ce soir ca va pas etre possible

    en plus il étais bourré au téléphone

    (tu vas me dire,normal pour un gérant de café , mdr )

    mais je vois ce que tu veut dire , et dés que je pourrais passer le tester

    chez lui , je le ferais

    mais tout a fait entre nous,je vais déja préparer un peu le code car devant le

    jury (le 16 septembre à 11h15 du matin) ,

    je n ai pas besoin de montrer d impressions , juste

    leur expliquer comment j ai fait pour la gérer

    après,ben , je l implémenterais chez ce gérant de café et si ca va pas,ben il

    sera bien obligé de me la pretter son imprimante , mdr

  12. #52
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Citation Envoyé par softstar
    ...car devant le

    jury (le 16 septembre à 11h15 du matin) ,

    je n ai pas besoin de montrer d impressions...
    Quoique, si tu veux les estomaquer et faire bonne impression, ce serait mieux de sortir deux ou trois tickets exemples
    Bidouilleuse Delphi

  13. #53
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 74
    Points : 29
    Points
    29
    Par défaut
    ouep tout a fait

    je vais donc préparer le code ici , et j essayerais de passer un jour qu il y a

    pas trop de monde pour tester

    par contre je me demandais si ca existerais peut etre un style de switch ou cable

    en RS232

    pour pouvoir connecter mon pc portable a l imprimante ,et donc la laisser brancher aussi a la caisse tactile

    comme ca,je n aurais pas besoin de prendre son imprimante et de la deconnecter de sa caisse tactile (vu qu il en as besoin )

    quelqu un aurais une idée svp ?

Discussions similaires

  1. probleme avec alignement des composants
    Par riadhhwajdii dans le forum AWT/Swing
    Réponses: 0
    Dernier message: 12/10/2009, 10h26
  2. Probleme avec alignement des items d'un menu horizontal sous IE
    Par van___fanel dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 05/12/2007, 18h00
  3. probleme avec XOR avec les chiffres
    Par pierre987321 dans le forum Delphi
    Réponses: 2
    Dernier message: 28/06/2007, 21h25
  4. [VBA-E] probleme avec chiffre stocké en texte
    Par moimemessssssssss dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/02/2007, 19h47
  5. probleme avec IE pour alignement en haut dans un tableau
    Par italiasky dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 05/02/2007, 12h48

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