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 :

La FAQ Lazarus


Sujet :

Lazarus Pascal

  1. #1
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 944
    Points : 59 433
    Points
    59 433
    Billets dans le blog
    2
    Par défaut La FAQ Lazarus
    Bonjour à toutes et à tous,

    Une FAQ a été construite avec le contenu de l'ancien forum officiel francophone dédié à Lazarus :

    http://lazarus.developpez.com/faq/

    Cette base de connaissances sera régulièrement alimentée avec le contenu du forum actuel.
    Les aspects propres au langage Pascal lui-même se trouvent dans la FAQ Pascal.

    La FAQ Lazarus est avant tout la vôtre ! Pour participer à son développement, vous pouvez poster vos questions/réponses directement dans la FAQ ou proposer vos corrections sur le forum Contribuez (ou à la suite de ce fil de discussion).
    N'hésitez pas à donner votre avis ou à poster vos remarques sur le présent fil de discussion.

    Bonne lecture !
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 091
    Points : 41 065
    Points
    41 065
    Billets dans le blog
    62
    Par défaut
    je l'avais découvert par hasard , elle manquait . Encore
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 815
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 815
    Points : 15 229
    Points
    15 229
    Par défaut
    Alcatîz : corrigé, merci pour cette contribution

    Salut tout le monde.

    Dans la première entrée de la faq, "Comment diminuer la taille de l'exécutable ?", la troisième ligne parle d'un onglet "Message", mais c'est faux : l'option en question se trouve dans l'onglet "Verbosity" (version 0.9.28.2 beta).

    Valà,
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  4. #4
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 815
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 815
    Points : 15 229
    Points
    15 229
    Par défaut Mise à jour
    Alcatîz : corrigé, merci pour cette contribution

    Bonjour,

    Je viens d'apprendre que l'astuce de la FAQ ne fonctionne pas avec une version plus récente, la 0.9.29 r28360 FPC 2.4.3 i386-win32-win32/win64 (info)
    il faut désactiver l'option "-gl" tous simplement (décocher "Linking" --> "Display line numbers in runtime error backtraces").
    (mais je n'ai pas testé)
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2009
    Messages
    598
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 598
    Points : 628
    Points
    628
    Par défaut
    Bonjour,
    j'ai regardé la FAQ, je n'ai pas vu une indication sur la licence utilisable avec Lazarus.
    Cliquez ici et reprenez le pouvoir !
    A bas IE !, Google, et le pistage du net, testons DuckDuckGo.com
    Lords Of The Realm II Download : Lords of the realm 2
    Infos en anglais :Ici

  6. #6
    Membre averti
    Avatar de Jlmat
    Homme Profil pro
    Consultant en Ressources Humaines, Retraité passionné de programmation
    Inscrit en
    Avril 2008
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant en Ressources Humaines, Retraité passionné de programmation
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 306
    Points : 323
    Points
    323
    Par défaut FAQ Comment programmer une impression directe
    Bonjour,

    Dans la Procedure MyOpenPrinter, il est défini la variable Doc1 : DOC_INFO_1;
    Il n'y a aucune précision sur le Type DOC_INFO_1;
    Comme c'est sensé aider, je pense qu'une info sur le type s'impose...

    Bien à vous!
    Je programme en Lazarus 3.4 sous windows 10 pro

  7. #7
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 944
    Points : 59 433
    Points
    59 433
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    J'ai un peu commenté l'initialisation des trois champs de la structure DOC_INFO_1, sans cependant aller jusqu'à définir les formats RAW et EMF.
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  8. #8
    Membre averti
    Avatar de Jlmat
    Homme Profil pro
    Consultant en Ressources Humaines, Retraité passionné de programmation
    Inscrit en
    Avril 2008
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant en Ressources Humaines, Retraité passionné de programmation
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 306
    Points : 323
    Points
    323
    Par défaut
    Citation Envoyé par Alcatîz Voir le message
    Bonjour,

    J'ai un peu commenté l'initialisation des trois champs de la structure DOC_INFO_1, sans cependant aller jusqu'à définir les formats RAW et EMF.
    Ben oui, le DataType avec valeur RAW me parait très ésotérique... Je peux traduire par données brutes mais bon... Et EMF?
    Je ne trouve pas de description...

    Dans la version 2.2.4 de Lazarus, je ne trouve pas non plus les types suivant, j'ai pourtant mis les unités : ... ExtCtrls, Printers, LResources, PrintersDlgs, Types, StdCtrls... entre autres:
    PDev : TPrinterDevice;
    TmpDevMode : PDeviceMode;

    J'ai du mal à transposer mes codes Delphi en Lazarus car je passe beaucoup de temps à chercher les unités dans lesquelles se trouvent les variables ou la définition des types...
    ça serait utile dans la Faq, d'avoir un guide qui donne l'unité dans laquelle se trouve une variable, car si elle est n'est pas reconnue dans le programme, la touche F1 ne donne rien et la recherche sur Internet est fastidieuse...
    Par exemple, un index de tous les mots définition tels que https://lazarus-ccr.sourceforge.io/d...l/index-8.html

    Bon, c'est peut-être moi qui devient "gogole"

    Merci en tout cas à toute l'équipe de Lazarus et de Développer.com qui font ce qu'ils peuvent pour nous rendre ce site indispensable... Puisse un jour participer plus activement!

    Bien à Toi
    Je programme en Lazarus 3.4 sous windows 10 pro

  9. #9
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 944
    Points : 59 433
    Points
    59 433
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Jlmat Voir le message
    Ben oui, le DataType avec valeur RAW me parait très ésotérique... Je peux traduire par données brutes mais bon... Et EMF?
    Je ne trouve pas de description...
    Là on sort un peu du cadre d'une FAQ Lazarus. https://learn.microsoft.com/en-us/op...0-5630d1e70879

    Citation Envoyé par Jlmat Voir le message
    Dans la version 2.2.4 de Lazarus, je ne trouve pas non plus les types suivant, j'ai pourtant mis les unités : ... ExtCtrls, Printers, LResources, PrintersDlgs, Types, StdCtrls... entre autres:
    PDev : TPrinterDevice;
    TmpDevMode : PDeviceMode;

    J'ai du mal à transposer mes codes Delphi en Lazarus car je passe beaucoup de temps à chercher les unités dans lesquelles se trouvent les variables ou la définition des types...
    ça serait utile dans la Faq, d'avoir un guide qui donne l'unité dans laquelle se trouve une variable, car si elle est n'est pas reconnue dans le programme, la touche F1 ne donne rien et la recherche sur Internet est fastidieuse...
    Par exemple, un index de tous les mots définition tels que https://lazarus-ccr.sourceforge.io/d...l/index-8.html

    Bon, c'est peut-être moi qui devient "gogole"
    Le paquetage printer4lazarus a-t-il été ajouté dans les dépendances du projet ?
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  10. #10
    Membre averti
    Avatar de Jlmat
    Homme Profil pro
    Consultant en Ressources Humaines, Retraité passionné de programmation
    Inscrit en
    Avril 2008
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant en Ressources Humaines, Retraité passionné de programmation
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 306
    Points : 323
    Points
    323
    Par défaut
    Ha oui, c'est sûr! => Microsoft, c'est du bas niveau dans la programmation... Je regrette le temps du simple "printer... begindoc et enddoc...", je fouillais à ce niveau là avec le BPW de Borland, mais maintenant, je cherche des choses simples.
    J'espère que Lazarus ne va pas suivre la complexité de Embarcadero avec Delphi pour rester accessible aux passionnés de programmation...
    Microsoft donne :
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    typedef struct _DOC_INFO_1 {
       [string] wchar_t* pDocName;
       [string] wchar_t* pOutputFile;
       [string] wchar_t* pDatatype;
     } DOC_INFO_1;
    J'avais réussi à enlever la première erreur en déclarant un type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Type
      TPrinterDevice = class {type definition NOT interfaced by Printers.pas}
        Driver, Device, Port: string;
      end;
    Mais je n'ai pas résolu le reste, comme le PDeviceMode. J'avais penser à Travailler avec un handle, mais là, j'atteint mes limites... Trop de variables dont je ne connais pas les sources...
    Il doit me manquer une unité dans les déclarations...


    Le paquetage printer4lazarus a-t-il été ajouté dans les dépendances du projet ?
    Oui, le paquet est installé, il est dans la liste des paquets requis! L'erreur vient sur les références aux types TPrinterDevice et PDeviceMode;

    A+
    Je programme en Lazarus 3.4 sous windows 10 pro

  11. #11
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 944
    Points : 59 433
    Points
    59 433
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Jlmat Voir le message
    Ha oui, c'est sûr! => Microsoft, c'est du bas niveau dans la programmation... Je regrette le temps du simple "printer... begindoc et enddoc...",
    La classe Printer est déclarée dans l'unité TPrinter :
    (exemple d'impression du contenu d'un TMemo)
    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
    procedure TfrmPrincipale.mnuFichierImprimerClick(Sender: TObject);
    (* impression du texte *)
    const
      CMARGEGAUCHE = 110;
      CMARGEHAUT = 110;
    var
      Li, LHauteur: Integer;
    begin
      if dlgImprimer.Execute then
        begin
          try
            Printer.Copies := dlgImprimer.Copies;
            Printer.BeginDoc;
            Printer.Canvas.Font.Name := mmoEditeur.Font.Name;
            Printer.Canvas.Font.Size := mmoEditeur.Font.Size;
            Printer.Canvas.Font.Color := mmoEditeur.Font.Color;
            LHauteur := CMARGEHAUT;
            for Li := 0 to (mmoEditeur.Lines.Count - 1) do
              begin
                Printer.Canvas.TextOut(CMARGEGAUCHE, Lhauteur, mmoEditeur.Lines[Li]);
                LHauteur := LHauteur + Round(1.2 * Abs(Printer.Canvas.TextHeight('I')));
                if LHauteur >= Printer.PageHeight then (* saut de page *)
                  begin
                    Printer.NewPage;
                    LHauteur := CMARGEHAUT;
                  end;
              end;
          finally
            Printer.EndDoc;
          end;
        end;
    end;
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  12. #12
    Membre averti
    Avatar de Jlmat
    Homme Profil pro
    Consultant en Ressources Humaines, Retraité passionné de programmation
    Inscrit en
    Avril 2008
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant en Ressources Humaines, Retraité passionné de programmation
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 306
    Points : 323
    Points
    323
    Par défaut
    Citation Envoyé par Alcatîz Voir le message
    La classe Printer est déclarée dans l'unité TPrinter :
    (exemple d'impression du contenu d'un TMemo)
    Ok Alcatiz, c'est ce que j'avais fait en premier; mais j'obtenais une erreur :

    Nom : Erreur1.jpg
Affichages : 239
Taille : 32,5 Ko

    le fonction printers.pas concernée est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function TPrinter.GetPrinting: Boolean;
    begin
      result := (pfPrinting in fFlags);
    end;
    J'ai donc refais une appli juste avec le Memo et l'unité Printers et là, ça marche!
    Je dois avoir un conflit dans les déclarations de ma fiche ou de mon programme principal... Je fais un essai et vous tiens au courant
    Je programme en Lazarus 3.4 sous windows 10 pro

  13. #13
    Membre averti
    Avatar de Jlmat
    Homme Profil pro
    Consultant en Ressources Humaines, Retraité passionné de programmation
    Inscrit en
    Avril 2008
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant en Ressources Humaines, Retraité passionné de programmation
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 306
    Points : 323
    Points
    323
    Par défaut
    Citation Envoyé par Jlmat Voir le message

    J'ai donc refais une appli juste avec le Memo et l'unité Printers et là, ça marche!
    Je dois avoir un conflit dans les déclarations de ma fiche ou de mon programme principal... Je fais un essai et vous tiens au courant
    Je vais plus vous ennuyer! Je sais que ça n'est pas ici qu'on résout les erreurs de programmation.

    Mais je voulais vous signaler la cause de mon erreur, ça peut quand même servir à d'autres:
    j'avais déclaré et initialisé à Nil une variable au début de la fiche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //var
    // Printer : TPrinter = nil;
    Merci Alcatîz pour ton aide
    Je programme en Lazarus 3.4 sous windows 10 pro

Discussions similaires

  1. Réponses: 0
    Dernier message: 21/04/2014, 20h58

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