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

Lazarus Pascal Discussion :

Comment imprimer avec un état ? [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    Futur Membre du Club
    Homme Profil pro
    rentier
    Inscrit en
    Février 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 90
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : rentier

    Informations forums :
    Inscription : Février 2015
    Messages : 7
    Points : 8
    Points
    8
    Par défaut Comment imprimer avec un état ?
    Je cherche un moyen d'imprimer un état comptable
    J'ai ajouté Printers dans les uses
    J'ai ajouté Lazarus4... dans les ressources

    J'ai écrit le séquence suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Printer.BeginDoc;
    Printer.Canvas.Font.Name:='Arial';
    Printer.Canvas.Font.Style:=[fsBold];
    Printer.Canvas.Font.Size:=10;
    Printer.Canvas.Textout(1,1,'*';
    Printer.EndDoc;
    J'exécute :
    L'imprimante se met en route
    L'imprimante tabule pour se mettre en place
    mais aucune impression de '*'
    Une feuille blanche
    Qu'est ce que j'ai oiblié ?
    Il me semble que cela fonctionnait sous delphi.
    J'ai commencé avec Lazarus il y a une quinzaine de jours et il y a quelques modifs sûrement
    Si quelqu'un peut m'aider, ce serait parfait
    Existe-t-il un livre complet sur Lazarus et où le trouver?
    Merci d'avance

  2. #2
    Responsable Lazarus & Pascal

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    Février 2013
    Messages
    1 436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Cultivateur de code (bio)
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 1 436
    Points : 20 855
    Points
    20 855
    Billets dans le blog
    84
    Par défaut
    Bonjour,

    Citation Envoyé par Tolede37 Voir le message
    J'ai ajouté Printers dans les uses
    J'ai ajouté Lazarus4... dans les ressources
    Je suppose qu'il s'agit de Printer4Lazarus dans les paquets requis pour le projet

    Citation Envoyé par Tolede37 Voir le message
    J'ai écrit le séquence suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Printer.BeginDoc;
    Printer.Canvas.Font.Name:='Arial';
    Printer.Canvas.Font.Style:=[fsBold];
    Printer.Canvas.Font.Size:=10;
    Printer.Canvas.Textout(1,1,'*'; // il manque une parenthèse fermante, mais ce n'est pas le problème...
    Printer.EndDoc;
    Le code est correct et une étoile apparaît bien sur mon imprimante. En revanche, cette étoile est écrite très près du bord car la mesure de Textout se fait en pixels. Je vous conseille de retenter l'expérience avec une ligne du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Printer.Canvas.Textout(150,150,'*');
    Il se peut en effet que vous tentiez d'écrire dans une zone non imprimable.

    Citation Envoyé par Tolede37 Voir le message
    Existe-t-il un livre complet sur Lazarus et où le trouver?
    Oui, il existe le livre de Matthieu Giroux Lazarus (Free Pascal : Développement rapide) mais je ne suis pas sûr de pouvoir le conseiller : il est assez cher et il semblerait qu'il soit écrit de manière plutôt confuse. Pour tout dire, je n'en ai lu que des extraits Ses avantages : c'est le seul livre publié en français à ce jour et il s'adresse aux tout débutants.
    On trouve assez facilement des articles (en anglais) sur Internet et des programmes intéressants. Je vais forcément vous conseiller le mien si vous n'êtes pas débutant : http://gilles-vasseur.developpez.com...age=pg_01#LI-H
    Il est commenté ligne à ligne et comprend sept articles. C'est le projet complet (déjà présent dans les sources et commenté dans quelques semaines) qui pourrait plus particulièrement vous intéresser.
    Sinon, posez vos questions ici

    Bonne continuation,
    Gilles
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

  3. #3
    Futur Membre du Club
    Homme Profil pro
    rentier
    Inscrit en
    Février 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 90
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : rentier

    Informations forums :
    Inscription : Février 2015
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    à GVasseur58
    Merci d'avoir répondu
    En fait, dans mon programme la parenthèse de fermeture existe
    J'ai essayé avec 150,150 mais j'ai le même résultat
    C'est comme si il ne reconnaissait pas la police, car l'imprimante déplace les têtes pour se placer à l'endroit de l'écriture
    J'ai vérifié que ce n'était pas un problème d'encre, mais non !
    Votre livre peut m'intéresser.
    Je programme depuis les années 80 avec Turbo pour commencer avant que Delphi arrive sur le marché.
    Je continue (à 82 ans) ça me fait travailler la tête.
    Actuellement je réécrit tous les programmes que j'avais sous Delphi.
    Je butte sur des trucs sûrement idiots, mais je le saurai que plus tard.
    A + et merci

  4. #4
    Responsable Lazarus & Pascal

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    Février 2013
    Messages
    1 436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Cultivateur de code (bio)
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 1 436
    Points : 20 855
    Points
    20 855
    Billets dans le blog
    84
    Par défaut
    Citation Envoyé par Tolede37 Voir le message

    C'est comme si il ne reconnaissait pas la police, car l'imprimante déplace les têtes pour se placer à l'endroit de l'écriture.
    Après avoir placé un bouton sur la fiche et double-cliqué sur lui pour créer un gestionnaire OnCLick, essayez ceci dans le gestionnaire et veuillez indiquer ce qui se passe :

    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
     
    const
      Essai = 'Un joli texte à imprimer !';
      LeftMargin = 100; // marge à gauche
    var
      LineHeight, VerticalMargin: Integer;
    begin
      with Printer do // on travaille avec l'imprimante
      try // on protège le code
        BeginDoc; // commencement
        Canvas.Font.Name := 'Courier New'; // police très courante
        Canvas.Font.Size := 10; // taille on ne peut plus courante
        Canvas.Font.Color := clBlack; // couleur d'écriture noire
        LineHeight := Round(1.2 * Abs(Canvas.TextHeight('I'))); // hauteur de ligne 
        VerticalMargin := 4 * LineHeight; // marge verticale pour la succession des lignes
        // On va imprimer
        Canvas.TextOut(LeftMargin, VerticalMargin, Essai);
      finally // fin de protection
        EndDoc; // libération des ressources assurée
      end;
    end;
    Je continue (à 82 ans) ça me fait travailler la tête.
    Bravo !

    Bonne continuation,

    Gilles
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

  5. #5
    Futur Membre du Club
    Homme Profil pro
    rentier
    Inscrit en
    Février 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 90
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : rentier

    Informations forums :
    Inscription : Février 2015
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    Merci à GVasseur58
    Le problème est résolu.
    En fait, plus haut dans l'unité, un ";" mal placé a mis en déroute le reste du texte sans avoir de retour du compilateur
    Ce qui fait que je planche sur une procédure en bon état depuis presque trois jours*Il faut savoir rester humble quand on programme
    Mais votre livre m'intéresse toujours
    Merci à vous
    A +

  6. #6
    Membre averti

    Homme Profil pro
    Diverses
    Inscrit en
    Février 2014
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Diverses

    Informations forums :
    Inscription : Février 2014
    Messages : 122
    Points : 428
    Points
    428
    Par défaut
    Il existe deux livres en anglais sur Lazarus :

    • LEARN TO PROGRAM USING LAZARUS
    • LAZARUS THE COMPLETE GUIDE


    On peut les trouver ici : http://www.blaisepascal.eu/subscribe...epartment.html

    Il y a aussi ce PDF en anglais pour débuter en pascal objet : http://code-sd.com/books/startprog/

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

Discussions similaires

  1. comment imprimer avec crystal report10?
    Par sayari adel dans le forum C#
    Réponses: 2
    Dernier message: 21/09/2012, 09h58
  2. Réponses: 16
    Dernier message: 10/11/2006, 14h09
  3. Réponses: 2
    Dernier message: 18/08/2005, 12h42

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