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 :

Perdons du temps avec l'outil (version 1.4 mais c'est pas une raison) [Lazarus]


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 Perdons du temps avec l'outil (version 1.4 mais c'est pas une raison)
    Salut,

    c'est dimanche et ce que je vais écrire ne m'amuse pas, mais alors pas du tout, parce que ça arrive vraiment trop souvent...

    J'avais besoin de la fonction TextHeight qui, comme son nom l'indique, renvoie la hauteur d'une chaîne de caractères.

    Sauf que je ne me souvenais plus dans quelle unité elle est déclarée, mais qu'à cela ne tienne, je lance ce merveilleux outil d'aide (qui met 15 secondes à s'afficher à la première exécution ) qui va me permettre de faire une recherche sur le mot, et ça m'indique que ça se passe dans l'unité "Graph",
    Nom : graph_textheight.png
Affichages : 206
Taille : 11,0 Ko
    unité que je m'empresse d'ajouter dans les "uses" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    uses
      Graph; // TextHeight
    Un coup de F9 et patatras
    Compiler le projetCible : project1: Code de sortie 1, Erreurs : 1, Avertissements : 1, conseils : 1
    /usr/bin/ld: cannot find -lvga
    project1.lpr(20,1) Warning: Error while linking
    Fatal: Compilation aborted


    Je commente la ligne où j'utilise TextHeight, F9 --> même erreur, je commente l'ajout de Graph, F9 ça passe, mais alors je ne peux plus utiliser TextHeight, ça ne m'arrange pas...
    Je me dis que je vais aller voir dans Graph.pp le code source de TextHeight, j'ouvre donc cette unité avec Ctrl-click, Ctrl-F pour saisir TextHeight, <ENTRÉE> pour lancer la recherche et là c'est magique et c'est pour ça que j'adoooooooore Lazarus,
    Nom : msgbox.png
Affichages : 187
Taille : 11,8 Ko

    Allez, allons perdre du temps sur le web pour démerder ce problème qui ne devrait pas exister.
    À chaque fois que je touche à Lazarus, je me fais l'impression d'un coureur automobile qui devrait, en pleine course, s'arrêter pour réaléser les segments, ou changer une roue, ou revoir l'avance à l'allumage ou tout un tas d'autres choses qui relèvent des mécanos au stand...

    Bref, bon dimanche...

    PS : elle est où, l'aide de D7, pauvres de nous...
    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 actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2015
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 252
    Points : 272
    Points
    272
    Par défaut
    Bonjour,

    j'ai peut-être mal compris le problème... et je n'ai pas mon poste Linux sous la main (en Lazarus 1.4), mais j'essaierai cet après-midi :
    Sous Windows cela fonctionne "normalement" avec Lazarus 1.6 - FPC 3.0.0
    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
    uses
      Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
    [...]
    procedure TForm1.Button1Click(Sender: TObject);
    var
      nWidth1, nWidth2, nWidth3, nHeight1, nHeight2, nHeight3 : integer;
      Bmp   : TBitmap;
      sMess : String;
    begin
       Bmp := TBitMap.Create;
     
       Label1.AutoSize := False;
       Bmp.Canvas.Font.Assign(Label1.Font);
       nWidth1  := Bmp.Canvas.TextWidth(Label1.Caption);
       nHeight1 := Bmp.Canvas.TextHeight(Label1.Caption);
       sMess    := '('+IntToStr(nWidth1)+'x'+IntToStr(nHeight1)+')';
     
       Label1.Height := 50;
       Bmp.Canvas.Font.Assign(Label1.Font);
       nWidth2  := Bmp.Canvas.TextWidth(Label1.Caption);
       nHeight2 := Bmp.Canvas.TextHeight(Label1.Caption);
       sMess    := sMess + ' ,('+IntToStr(nWidth2)+'x'+IntToStr(nHeight2)+')';
     
       Label1.Font.Size := 24;
       Bmp.Canvas.Font.Assign(Label1.Font);
       nWidth3  := Bmp.Canvas.TextWidth(Label1.Caption);
       nHeight3 := Bmp.Canvas.TextHeight(Label1.Caption);
       sMess    := sMess + ' ,('+IntToStr(nWidth3)+'x'+IntToStr(nHeight3)+')';
     
       Bmp.Free;
     
       Showmessage(sMess);
    end;
    Cordialement AD.
    RQ : je passe par un "bmp" et non directement par un Form1.Canvas... qui d'ailleurs ne donne pas les bonnes valeurs [enfin je n'y arrive pas même s'il paraît que cela fonctionne ]
    Nom : 01.png
Affichages : 228
Taille : 15,8 Ko

  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 ApproxDev Voir le message
    j'ai peut-être mal compris le problème...
    Je l'ai peut-être mal expliqué, faut dire aussi qu'on n'est pas aidé par l'aide... Voilà ce que je gagne en faisant F1 sur TextHeight :
    Nom : aide_moisie_textheight.png
Affichages : 216
Taille : 25,7 Ko
    On notera à la 6e ligne Graph.TextHeight...

    Citation Envoyé par ApproxDev Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       nHeight1 := Bmp.Canvas.TextHeight(Label1.Caption);
    Oui, j'ai trouvé le coup du Canvas. en farfouillant dans mes vieux exemples/essais/bidouilles/trucsàbordel comme dirait ShaiLeTroll
    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
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2015
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 252
    Points : 272
    Points
    272
    Par défaut
    Vérifié sous Mint 17.3 aussi bien avec Lazarus 1.4 que 1.6.
    Nom : Capture du .png
Affichages : 196
Taille : 50,2 Ko

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

Discussions similaires

  1. Réponses: 130
    Dernier message: 11/09/2018, 08h48
  2. Réponses: 4
    Dernier message: 02/08/2018, 11h04
  3. exception EconvertError avec le message("n'est pas une valeur correct)
    Par menoulette dans le forum Bases de données
    Réponses: 2
    Dernier message: 10/09/2013, 22h55
  4. Réponses: 4
    Dernier message: 10/06/2011, 13h52
  5. Réponses: 9
    Dernier message: 05/10/2005, 14h50

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