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 :

[1.4.0] Résultat de compilation farfelu avec l'exemple lazfreetype


Sujet :

Lazarus Pascal

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 719
    Points : 15 105
    Points
    15 105
    Par défaut [1.4.0] Résultat de compilation farfelu avec l'exemple lazfreetype
    Bonjour à tous,

    Petites copies d'écran pour expliquer le phénomène :

    Nom : freetype1010-140.jpg
Affichages : 510
Taille : 112,4 Ko

    Maj F9, Ctrl F9, supprimer tous les .o, .ppu, .res, rien n’y fait ! Toujours ces gribouillages qui s’affichent...

    Pour retrouver un exécutable correct, une seule solution : fermer 1.4.0 et réouvrir 1.0.10 car, oui, même un reboot à la Windows ne règle pas ce souci, qui doit probablement se cacher dans EasyLazFreeType (2071 lignes en 1.4.0 contre 1723 seulement en 1.0.10) et les fichiers associés...

    On est mal, là, on est très mal parce que ceux qui codent ont testé sous Windows only (ça se voit bien dans le code) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    procedure TForm1.SetupFonts;
    const
      defFonts:array[1..3] of string[13] = ('arial.ttf','timesi.ttf','verdana.ttf');
    et je me demande si le souci ne serait pas lié à ce commentaire au début de EasyLazFreeType :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    { bug list :
     
    - Characters parts may not be well translated, for example i with accent.
    - Encoding is ok for ASCII but is mixed up for extended characters
    Mais comment savoir quand ça sera corrigé ?

    En attendant, je retourne à mon vieux 1.0.10...
    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

  2. #2
    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
    Citation Envoyé par Jipété Voir le message
    Mais comment savoir quand ça sera corrigé ?
    Jamais si tu ne signales pas le bug sur le bug tracker. Prépare un projet minimal qui démontre ce bug et signale en expliquant que le comportement est différent entre la version 1.4 et la 1.0.10. Si tu peux aussi faire le test sur la version SVN c'est encore mieux.

    http://bugs.freepascal.org/

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 719
    Points : 15 105
    Points
    15 105
    Par défaut
    Citation Envoyé par yamer Voir le message
    Jamais si tu ne signales pas le bug sur le bug tracker. Prépare un projet minimal qui démontre ce bug et signale en expliquant que le comportement est différent entre la version 1.4 et la 1.0.10.

    http://bugs.freepascal.org/
    Merci pour le lien.

    Quelque chose comme ça ? : http://bugs.freepascal.org/view.php?id=28057


    Rhôôô la boulette : je viens de me rendre compte après avoir posté évidemment que ce fucking problem a été généré suite à tout un tas de modifs dans d'autres fichiers sources pour essayer de comprendre et dépatouiller un autre problème.

    J'ai honte j'ai honte j'ai d'autant plus honte qu'on ne peut pas enlever une entrée dans le bug tracker une fois qu'elle y est... Bon, j'ai rajouté une note.

    Je sens que je vais aller me coucher, ça ira mieux
    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
    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,

    Je ne comprends pas bien les données du problème :
    • que veut dire "juste en changeant la string en bas à droite" ? Où dans le programme ?
    • comment s'appelle la police d'échecs utilisée ? où a-t-elle été récupérée ? combien comprend-elle de fichiers ?
    • quels sont les types de polices utilisées ?
    • pourquoi ne pas tenter l'inverse ? => faire pointer le vieux 1.0.10 vers 1.4.0/examples/lazfreetype pour voir ce qu'il se passe...


    Mais comment savoir quand ça sera corrigé ?
    Là, je renvoie à ce que propose Yann. Avec un bémol : il faut être sûr que ce soit un bogue et non l'essai infructueux de faire fonctionner d'anciens modules (polices par exemple) avec un logiciel de 2015

    Bon courage,

    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
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 719
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 719
    Points : 15 105
    Points
    15 105
    Par défaut
    Yop !

    Oh, t'as dû me lire en diagonale, ou t'as pas tout lu, 'fin bon, le post d'origine est une épouvantable erreur de ma part (oui, j'ai très honte) suite à des micmacs dans des fichiers (des bouts en commentaires pour voir comment l'appelant se comporte, et oubli de remise en place normale... )

    Allez, je réponds aux points qui sont encore valides :
    Citation Envoyé par gvasseur58 Voir le message
    • que veut dire "juste en changeant la string en bas à droite" ? Où dans le programme ?
    • comment s'appelle la police d'échecs utilisée ? où a-t-elle été récupérée ? combien comprend-elle de fichiers ?
    • quels sont les types de polices utilisées ?
    • pourquoi ne pas tenter l'inverse ? => faire pointer le vieux 1.0.10 vers 1.4.0/examples/lazfreetype pour voir ce qu'il se passe...
    Point 2-a comment s'appelle la police d'échecs utilisée ? J'avais fait des essais avec 3 différentes mais on s'en fiche puisque c'est moi qui me suis fichu dedans !
    Point 2-b où a-t-elle été récupérée ? Ben, sur le site indiqué par Roland dans l'autre post où on discute de ça...
    Point 2-c combien comprend-elle de fichiers ? : 1 seul .ttf, comme l'immense majorité des fichiers TrueType.
    Point 3 quels sont les types de polices utilisées ? Les types de polices ? Qu'est-ce que tu entends par là ?

    Citation Envoyé par gvasseur58 Voir le message
    Là, je renvoie à ce que propose Yann. Avec un bémol : il faut être sûr que ce soit un bogue et non l'essai infructueux de faire fonctionner d'anciens modules (polices par exemple) avec un logiciel de 2015
    Des anciennes polices peuvent (doivent !) fonctionner avec des logiciels actuels, tant que le système d'exploitation peut les charger, la preuve avec ce petit outil (qui liste toutes les polices de la machine en écrivant une ligne de texte avec chaque police) écrit en Delphi7 et que je viens de faire tourner à l'instant dans une machine virtuelle Seven :

    Nom : showfonts.png
Affichages : 479
Taille : 20,2 Ko

    Sous la ligne écrite avec la police Candara, une ligne écrite avec Chess Alpha (elle est très large alors il y a un bout dessous) ; ensuite avec Chess Cases et enfin avec Chess Merida (elle aussi avec un bout à la ligne suivante) ; enfin on repart, alphabétiquement parlant, avec les polices de texte : Comic Sans, Consolas, etc.

    On est sous Windows, j'avais écrit en son temps un autre outil, ShowChar, toujours en D7, qui affiche les 255 premiers caractères (d'une police choisie dans une liste) dans une StringGrid et là aussi ça fonctionne très bien. Je voudrais juste que ça fonctionne aussi sous Linux.

    Nom : showchar.png
Affichages : 482
Taille : 19,5 Ko

    Mais dans une Stringgrid, comme sur l'image ci-dessus ! Parce que pour faire écrire sur le canvas de la form, on y arrive : c'est laborieux mais on y arrive.

    Voilà. C'est pas compliqué (sous Windows), mais sous Linux, mon outil de gestion des polices (Font Manager) n'est pas foutu d'afficher les caractères de ces polices...
    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

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 719
    Points : 15 105
    Points
    15 105
    Par défaut
    Citation Envoyé par Jipété Voir le message
    C'est pas compliqué (sous Windows) [...]
    Effectivement !

    J'ai réussi à bricoler ça en même pas une heure, démarrage de la machine virtuelle et mise à jour de son anti-virus + exécution compris, avec mon vieux Delphi 7 toujours vaillant dans son hôte Win2000 sp 4 :

    Nom : chesstypographique.jpg
Affichages : 483
Taille : 91,0 Ko

    Je n'ai pas fait afficher les caractères de bordure de l'échiquier car il y a un petit souci, peut-être lié à la StringGrid sous Windows : le fait de ne pas faire afficher la grille intérieure de séparation des cases fait qu'elle s'affiche quand même, en blanc, en vide : ça fait un peu moche d'avoir une bordure en tronçons
    C'est dommage pour les coordonnées...

    Et c'est dommage aussi de ne pas pouvoir le faire sous Linux avec Lazarus
    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

  7. #7
    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 Jipété Voir le message
    Yop !

    Oh, t'as dû me lire en diagonale, ou t'as pas tout lu, 'fin bon, le post d'origine est une épouvantable erreur de ma part (oui, j'ai très honte) suite à des micmacs dans des fichiers (des bouts en commentaires pour voir comment l'appelant se comporte, et oubli de remise en place normale... )
    Non, pas du tout : nous avons dû rédiger (presque)en même temps nos messages, car le tien n'apparaissait pas encore lorsque j'ai répondu

    Des anciennes polices peuvent (doivent !) fonctionner avec des logiciels actuels, tant que le système d'exploitation peut les charger, la preuve avec ce petit outil (qui liste toutes les polices de la machine en écrivant une ligne de texte avec chaque police) écrit en Delphi7 et que je viens de faire tourner à l'instant dans une machine virtuelle Seven
    Elles peuvent en effet, mais elles ne doivent pas : depuis le passage à l'Unicode, certaines polices anciennes ne sont plus adaptées à l'affichage des caractères exotiques (dont les accents). Par ailleurs, Delphi 7 est un EDI qui fonctionne encore comme si nous étions seuls sur terre : il ne se sait pas gérer l'Unicode. Du coup, on ne peut rien vérifier avec lui... Pour les problèmes liés à l'Unicode avec les polices, voir par exemple :
    http://fr.wikipedia.org/wiki/Unicode....A8res_Unicode

    Point 2-c combien comprend-elle de fichiers ? : 1 seul .ttf, comme l'immense majorité des fichiers TrueType.
    Justement pas Avec Windows, va dans le répertoire des polices et essaye d'en copier une dans un répertoire personnel : il y aura facilement 5 fichiers qui suivront !

    Voilà. C'est pas compliqué (sous Windows), mais sous Linux, mon outil de gestion des polices (Font Manager) n'est pas foutu d'afficher les caractères de ces polices...
    Je regarderai ce problème la semaine prochaine, sans garantie de réussite Je pressens qu'il s'agit d'un problème de passage de l'ASCII à l'Unicode, du genre boucler 255 fois pour afficher les caractères...

    Comme pour l'affichage des pièces d'un échiquier : ce n'est sans doute pas la bonne méthode que de chercher une police dédiée alors que les polices modernes gérées par des OS modernes et des EDI modernes le font directement en utilisant le bon code Unicode
    Voir par exemple : http://fr.wikipedia.org/wiki/Pi%C3%A...ces_en_Unicode
    Je ne pensais pas faire autant de pub à Wikipédia...

    Bon courage once again,

    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

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 719
    Points : 15 105
    Points
    15 105
    Par défaut
    Salut, Gilles,

    je zappe toute ta réponse pour ne rebondir que sur un point, mais quel point !
    Citation Envoyé par gvasseur58 Voir le message
    [...] Comme pour l'affichage des pièces d'un échiquier : ce n'est sans doute pas la bonne méthode que de chercher une police dédiée alors que les polices modernes gérées par des OS modernes et des EDI modernes le font directement en utilisant le bon code Unicode
    Voir par exemple : http://fr.wikipedia.org/wiki/Pi%C3%A...ces_en_Unicode
    Car oui, je viens d'aller voir et bon sang !, c'est exactement ce qu'il me fallait savoir et que j'ignorais !
    Rooooooooooooland ! C'est toi qui m'a mis dans la pagaille, lol !
    Tu me copieras 100 fois "je ne dois pas proposer des vieux fichiers de police à jp, après il se fait des nœuds dans la tête" et sans faire de copier-coller, stp

    Bon, Gilles, tu me sauves la vie et la vie de ma machine qui allait finir par la fenêtre, sinon !

    Merci pour l'info qui tue
    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

  9. #9
    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 Jipété Voir le message
    Salut, Gilles,

    je zappe toute ta réponse pour ne rebondir que sur un point, mais quel point !


    Car oui, je viens d'aller voir et bon sang !, c'est exactement ce qu'il me fallait savoir et que j'ignorais !
    Rooooooooooooland ! C'est toi qui m'a mis dans la pagaille, lol !
    Tu me copieras 100 fois "je ne dois pas proposer des vieux fichiers de police à jp, après il se fait des nœuds dans la tête" et sans faire de copier-coller, stp

    Bon, Gilles, tu me sauves la vie et la vie de ma machine qui allait finir par la fenêtre, sinon !

    Merci pour l'info qui tue
    Il n'y a pas de quoi
    En prime, voici un petit programme qui permet de choisir la police (avec ses caractéristiques) et d'afficher les pièces d'échiquier en fonction du choix. Je t'invite surtout à faire varier la taille.

    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
     
    unit Unit1;
     
    {$mode objfpc}{$H+}
     
    interface
     
    uses
      Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
     
    type
     
      { TForm1 }
     
      TForm1 = class(TForm)
        Button1: TButton;
        FontDialog1: TFontDialog;
        Label1: TLabel;
        Label2: TLabel;
        Memo1: TMemo;
        procedure Button1Click(Sender: TObject);
      private
        { private declarations }
      public
        { public declarations }
      end;
     
    var
      Form1: TForm1;
     
    implementation
     
    {$R *.lfm}
     
    uses
      lazutf8; // gestion Unicode
     
    { TForm1 }
     
    procedure TForm1.Button1Click(Sender: TObject);
    var
      I: Integer;
    begin
      Label1.Caption:='';
      Memo1.Lines.Clear;
      if FontDialog1.Execute then
      begin
        Label2.Caption := FontDialog1.Font.Name;
        Memo1.Font.Assign(FontDialog1.Font);
        Label1.Font.Assign(FontDialog1.Font);
        for I := 0 to 11 do
        begin
          memo1.Lines.Add(UnicodeToUTF8(9812 + I));
          Label1.Caption := Label1.Caption + UnicodeToUTF8(9812 + I);
        end;
      end;
    end;
     
    end.
    Voici pour le programme de test complet (compilé sous Linux (Mint 17) :
    Test.tar.gz


    NB :Certaines polices (rares et peu utilisées) peuvent être incomplètes : elles n'afficheront pas tous les caractères !
    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

  10. #10
    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
    Une petite amélioration possible du programme précédent :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    procedure TForm1.FormCreate(Sender: TObject);
    var
      I: Integer;
    begin
      for I := 0 to 11 do
        FontDialog1.PreviewText:= FontDialog1.PreviewText + UnicodeToUTF8(9812 + I);
    end;
    Avec ce changement, tu verras les caractères de l'échiquier directement en exemple de texte dans la boîte de dialogue
    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

  11. #11
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 070
    Points : 15 454
    Points
    15 454
    Billets dans le blog
    9
    Par défaut
    Très intéressant tout ça ! Pour le moment, je n'ai pas encore tout compris mais je compte sur Jipété pour explorer la chose (pendant que je ferai ma punition ) et nous faire un compte-rendu. Merci à Gilles pour le code.
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 719
    Points : 15 105
    Points
    15 105
    Par défaut
    Citation Envoyé par Roland Chastain Voir le message
    Très intéressant tout ça ! Pour le moment, je n'ai pas encore tout compris mais je compte sur Jipété pour explorer la chose (pendant que je ferai ma punition ) et nous faire un compte-rendu. Merci à Gilles pour le code.
    Ouais !
    Un grand, un énorme merci !

    J'ai joué avec cette nouvelle piste, je commence à bien sentir le truc :
    Nom : test_draw_string.jpg
Affichages : 478
Taille : 101,2 Ko

    Et d'ailleurs en pj un zip avec ce qu'il faut pour reconstruire un binaire (Gilles, pas la peine de le joindre, par exemple chez moi il ne s'exécutait pas... J'ai recompilé, 3 secondes et demi et hop )

    Bon, ceux sous Windows auront sans doute des messages "Property not found" mais dans l'ensemble et avec un peu d'adaptation, ça devrait le faire.
    Je me suis appuyé sur une DrawGrid (à g.) et, pour comparer, sur une StringGrid (à dr.) : je n'ai pas noté de différence significative si ce n'est que d'un côté l'une joue avec Rect: TRect quand l'autre joue avec aRect: TRect : à peine ennuyeux pour les copier/coller d'une procédure à l'autre, mais bon...

    Allez, Roland, à toi : project_unicode.zip


    Citation Envoyé par gvasseur58 Voir le message
    Il n'y a pas de quoi
    En prime, voici un petit programme qui permet de choisir la police (avec ses caractéristiques) et d'afficher les pièces d'échiquier en fonction du choix. Je t'invite surtout à faire varier la taille.

    Voici pour le programme de test complet (compilé sous Linux (Mint 17) :

    NB :Certaines polices (rares et peu utilisées) peuvent être incomplètes : elles n'afficheront pas tous les caractères !
    Alors ce que j'ai noté au niveau des polices, c'est qu'il semblerait qu'elles affichent toutes les mêmes choses, les différences se situant au niveau de Sérif / Sans sérif (et un peu aussi au niveau du style : condensed, light, etc.) qui change le rendu du dessin et c'est tout.
    Tiens, regarde, tout est en taille 18 :
    Nom : compar_fonts2.jpg
Affichages : 544
Taille : 65,1 Ko

    Le grand blanc entre noirs et blancs sur la dernière ligne est dû à la police, une vraie machine à écrire.

    Et sinon, puisque vous êtes dans les traducs, un truc pour te faire rire : en haut le dialogue de choix de polices dans l'inspecteur d'objets, en bas le dialogue dans la vraie vie, appelé par un bouton

    Nom : font_traduc.jpg
Affichages : 483
Taille : 38,7 Ko

    Et l'on voit bien que j'ai écrit un titre en français mais makkache bonnot... Bah, j'ai aussi forcé Min et Max Sizes et le machin s'en contrefout allègrement... Pas bien grave...
    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

  13. #13
    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
    Et l'on voit bien que j'ai écrit un titre en français mais makkache bonnot... Bah, j'ai aussi forcé Min et Max Sizes et le machin s'en contrefout allègrement... Pas bien grave..

    Pour ce qui est du titre en français, il y a une explication Au début de mon apprentissage de Lazarus, j'ai même pensé qu'il y avait un bogue.
    En effet :

    • Place un simple Tbitbtn sur une fiche.
    • Modifie sa propriété Kind à bkYes. Dans l'inspecteur d'objet, caption passe à &Oui.
    • Lance le programme : c'est un magnifique Yes qui apparaît


    Dans tous les cas, le comportement est celui-ci : Lazarus adapte tous les messages en fonction de la langue choisie (d'où le Oui par exemple). En revanche, comme c'est la chaîne par défaut qui est utilisée, il ne la stocke pas dans le fichier LFM et le programme exécuté (celui que le programmeur a écrit) ne fait pas par défaut le travail de traduction et affiche la chaîne Yes (c'est bien celle par défaut !). Pour résoudre ce problème, deux solutions :
    • pour les propriétés visibles, il suffit de modifier la chaîne attendue et de valider dans l'inspecteur d'objet (par exemple : Choix d'une nouvelle police). Comme Lazarus n'a aucun moyen de savoir quelle est la langue de ce message, il la considère comme celle à afficher et la stocke dans le fichier LFM.
    • pour les propriétés inaccessibles, la procédure est plus complexe : je te renvoie au fichier GVLogo.lpr (du logiciel du même nom, sur ce site qui traite ce problème de manière globale en obligeant la compilation avec la bonne version - francisée - de la LCL.


    Pour le reste, j'attendrai la semaine : j'ai un week-end chargé avec le dernier muguet à ramasser
    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

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 719
    Points : 15 105
    Points
    15 105
    Par défaut
    Citation Envoyé par gvasseur58 Voir le message
    • pour les propriétés visibles, il suffit de modifier la chaîne attendue et de valider dans l'inspecteur d'objet (par exemple : Choix d'une nouvelle police). Comme Lazarus n'a aucun moyen de savoir quelle est la langue de ce message, il la considère comme celle à afficher et la stocke dans le fichier LFM.
    Plus maintenant ; extrait du lfm :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        object fd: TFontDialog
        MinFontSize = 16
        MaxFontSize = 40
        Options = [fdTrueTypeOnly, fdEffects, fdNoOEMFonts, fdWysiwyg, fdLimitSize, fdScalableOnly]
        PreviewText = '♜♞♝♛♚♝♞♜♟♟ ♖♘♗♕♔♗♘♖♙♙'
        left = 168
        top = 424
      end
    La propriété "Title" a manifestement été zappée, ce qui explique ma copie d'écran...

    Citation Envoyé par gvasseur58 Voir le message
    Pour le reste, j'attendrai la semaine : j'ai un week-end chargé avec le dernier muguet à ramasser
    T'as raison, le muguet c'est mieux
    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

  15. #15
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 070
    Points : 15 454
    Points
    15 454
    Billets dans le blog
    9
    Par défaut
    Magnifique Jipété ! Testé avec succès sous Windows 8.1, Lazarus 1.4.

    Il n'y a que deux polices, finalement ? Je préfère celle de gauche (sur ton image).

    Bonne continuation !

    P.-S. Peut-on afficher ces caractères dans une console ?
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 719
    Points : 15 105
    Points
    15 105
    Par défaut
    Citation Envoyé par Roland Chastain Voir le message
    Magnifique Jipété ! Testé avec succès sous Windows 8.1, Lazarus 1.4.


    Citation Envoyé par Roland Chastain Voir le message
    Il n'y a que deux polices, finalement ? Je préfère celle de gauche (sur ton image).
    Moi aussi je préfère celle de gauche (le cavalier est riquiqui sur l'autre), et pour savoir ce qu'il y a dans ta machine, tu fais comme j'ai fait avec la copie d'écran : ton traitement de texte, un tableau de 2 colonnes, à gauche le code des pièces et tu sélectionnes ligne par ligne en changeant la police ; tu verras bien...

    Citation Envoyé par Roland Chastain Voir le message
    P.-S. Peut-on afficher ces caractères dans une console ?
    Dans une boîte DOS ? Pas la moindre idée. Teste !
    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

  17. #17
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 070
    Points : 15 454
    Points
    15 454
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par Jipété Voir le message
    Dans une boîte DOS ? Pas la moindre idée. Teste !
    Oui, j'ai regardé un peu, sans succès. Laissons ça pour plus tard...
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  18. #18
    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
    La propriété "Title" a manifestement été zappée, ce qui explique ma copie d'écran...
    Je persiste et signe : la copie d'écran confirme ce que j'ai écrit. Pas de mérite personnel d'ailleurs : j'avais lancé la question sur le WIKI Lazarus et obtenu la réponse après avoir pas mal galéré
    Choisir une police est le texte par défaut : il n'est donc PAS enregistré dans le fichier LFM.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     object FontDialog1: TFontDialog
        MinFontSize = 0
        MaxFontSize = 0
        left = 320
        top = 32
      end
    Il suffit de le remplacer par Choix d'une police pour que le texte correct apparaisse

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     object FontDialog1: TFontDialog
        Title = 'Choix d''une police'
        MinFontSize = 0
        MaxFontSize = 0
        left = 320
        top = 32
      end

    NB : je parle de Linux, car Windows fait appel à une boîte standardisée...
    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

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 719
    Points : 15 105
    Points
    15 105
    Par défaut
    Yop !
    Citation Envoyé par gvasseur58 Voir le message
    Je persiste et signe : la copie d'écran confirme ce que j'ai écrit. Pas de mérite personnel d'ailleurs : j'avais lancé la question sur le WIKI Lazarus et obtenu la réponse après avoir pas mal galéré
    Arf !
    J'ai dû encore me faire des nœuds dans le cerveau Faut dire qu'avec ces textes anglophones que je traduis inconsciemment, je ne sais plus si j'avais changé le titre ou pas.
    Par contre je confirme que les min et max sizes ne sont pas pris en compte...

    Bon, pour me faire pardonner, un petit cadeau :

    Nom : avancement.png
Affichages : 453
Taille : 38,1 Ko

    Attention, il n'y a aucun moteur d'intelligence là-dessous, pour le moment je me contente de gérer les clicks, les déplacements, la cosmétique et la mécanique, quoi. À suivre...
    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

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 719
    Points : 15 105
    Points
    15 105
    Par défaut
    Bon, j'en suis là, et je vais bientôt avoir besoin de conseils bien pointus, mais d'abord l'image :

    Nom : chessgame.jpg
Affichages : 479
Taille : 43,8 Ko

    Voilà, la mécanique est bien huilée mais il n'y a aucune intelligence : je peux par exemple prendre au tout premier coup le pion blanc en f2 et aller cliquer en g8 au mépris de toutes les règles (sur l'image j'ai fait un peu propre), il n'empêche que la fenêtre de sélection de pièces va s'afficher et qu'un clic dessus va la fermer et mettre la pièce sélectionnée à la bonne place, g8.
    C'est ce que je dis quand j'écris que la mécanique fonctionne.

    Alors, oui, dans ma procédure de déplacement des pièces, j'ai bien à un endroit l'appel à une fonction booléenne, "DestinationPossible" à qui je passe la case de destination, et la seule chose que je fais à l'heure actuelle est de détecter si je clique en dehors des 64 cases (oui, la grille est de 10 x 10), auquel cas l'utilisateur se prend un message d'erreur et sur acquittement on attend une autre sélection de destination.
    Je ne vais pas aller bien loin avec si peu.

    J'attends, j'espère vos conseils, ici ou dans l'autre fil de Roland (je propose de ne pas polluer celui de glegat, mais s'il veut venir mettre son grain de sel il est le bienvenu )
    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

Discussions similaires

  1. [Borland CPP Compiler] Probleme avec !! Path !!
    Par kanzarih dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 20/10/2004, 23h07
  2. Réponses: 5
    Dernier message: 01/08/2004, 01h11
  3. probleme compilation classe avec Borland c++ compiler 5.5
    Par softblue dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 17/06/2004, 15h16
  4. compiler DDK avec Dev-C++
    Par jefffii dans le forum Dev-C++
    Réponses: 2
    Dernier message: 20/04/2004, 09h49
  5. [Kylix] problème compilation kylix3 avec redhat 9.0
    Par madininaoursa dans le forum EDI
    Réponses: 1
    Dernier message: 02/07/2003, 16h21

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