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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 162
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 162
    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 : 236
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 : 221
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...

  2. #2
    Membre confirmé
    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
    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 : 262
Taille : 15,8 Ko

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 162
    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 : 246
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

  4. #4
    Membre confirmé
    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
    Par défaut
    Vérifié sous Mint 17.3 aussi bien avec Lazarus 1.4 que 1.6.
    Nom : Capture du .png
Affichages : 225
Taille : 50,2 Ko

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

Discussions similaires

  1. Réponses: 130
    Dernier message: 11/09/2018, 09h48
  2. Réponses: 4
    Dernier message: 02/08/2018, 12h04
  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, 23h55
  4. Réponses: 4
    Dernier message: 10/06/2011, 14h52
  5. Réponses: 9
    Dernier message: 05/10/2005, 15h50

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