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 :

Affectation des paramètres de TFont dans une variable


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de Jlmat
    Homme Profil pro
    Ex Informaticien et Consultant en Ressources Humaines, Retraité
    Inscrit en
    Avril 2008
    Messages
    370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ex Informaticien et Consultant en Ressources Humaines, Retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 370
    Par défaut Affectation des paramètres de TFont dans une variable
    Bonjour,

    Je sais que je ne peux pas assigner directement les paramètres d'une Font dans une autre.

    Je voudrais récupérer les paramètres d'une Font issue d'un contrôle ou de ma fiche principale pour l'affecter par défaut à une Font que j'utiliserais d'une unité séparée lors de la compilation :

    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
     
    unit uPrint;
     
    {$mode ObjFPC}{$H+}
     
    interface
     
    uses
      Classes, SysUtils, Graphics, Printers;
     
    Type
      TParamPrint = record
        MG,MD,MH,MB : Integer; // marges sur le papier
        ...
       FontTitre,
       FontTexte   : TFont;
      end;
     
    Var
      ParamPrint : TParamPrint;
     
    procedure ParamPrintDef (var aPP : TParamPrint);
     
    {===============================================================================}
    implementation
    uses FP1; // Fiche principale
    {===============================================================================}
     
    procedure ParamPrintDef (var aPP : TParamPrint);
    begin
      With aPP do
      begin
        {marges papier}
        MG := 50;
        MD := 50;
        MH := 20;
        MB := 20;
        ...
        {Font titre}
        FontTitre := ; // Font.Assign(self.Font);
        FontTexte :=  ;
       end;
    end;
     
    Initialization
      ParamPrintDef(ParamPrint);
    end.
    Je n'arrive pas à assigner FontTitre et FontTexte.

    Les exemples que j'ai trouvés sur les différents forums de Lazarus ne répondent pas à mon problème.
    Merci pour votre aide
    Jlmat

  2. #2
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 491
    Par défaut
    salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Procedure MyObjet.SetFontTitre(Value : TFont);
    Begin 
      if Not(assigned(FontTitre)) Then 
          FontTitre:= TFont.Create;
      FontTitre.Assign(Value);
    end;

  3. #3
    Membre éclairé
    Avatar de Jlmat
    Homme Profil pro
    Ex Informaticien et Consultant en Ressources Humaines, Retraité
    Inscrit en
    Avril 2008
    Messages
    370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ex Informaticien et Consultant en Ressources Humaines, Retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 370
    Par défaut
    Merci anapurna pour ta réponse, mais c'est justement Value que je n'arrive pas à capter.

    Je voulais récupérer les Fonts de ma fiche principale, mais finalement, c'est idiot car le code d'initialisation de la Font par défaut dans l'unité uPrint se fait dans la partie initialization, donc lors de la compilation.
    J'ai pensé que ça serait mieux de capter les polices du système de Screen. J'ai donc créé une fonction pour capter dans une liste les polices du système Screen, mais je n'ai pas réussi à l'exploiter encore, voici le code en l'état :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function  GetFontsScreen : TStringList;
     var tStr : TStringList;
    begin
      result := Nil;
      Try
        tStr := TStringList.Create;
        tStr.Assign(Screen.Fonts);
        result := tStr;
      finally
        if Assigned(tStr) then FreeAndNil(tStr);
      end;
    end;
    Donc normalement, je devrais récupérer le StringList dans ma procédure ParamPrintDef que j'ai modifiée :

    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
     
    procedure ParamPrintDef (Var aFontsScreen : TStringList; var aPP : TParamPrint);
    begin
         With aPP do
        begin
          {marges papier}
          MG := 50;
          MD := 50;
          MH := 20;
          MB := 20;
          {Font titre}
        Try
          FontTitre.Assign(aFontsScreen.ValueFromIndex[0]);
          //FontTexte.Assign(Lf.?????);
        end;
      Finally
      end;
     
    Initialization
      FontsScreen := GetFontsScreen;
      ParamPrintDef(FontsScreen,ParamPrint);
    end.
    Je ne sais pas si c'est possible d'explorer la Stringlist pour trouver une Font car enregistre-t-elle un Handle, un nom de Police etc...
    A suivre

Discussions similaires

  1. [Débutant] Ajouter des résultats de simulation dans une variable
    Par tomazy4T6 dans le forum MATLAB
    Réponses: 11
    Dernier message: 07/01/2016, 18h38
  2. Stocker des chaines de caractères dans une variables
    Par IBRAHIM MR dans le forum Langage
    Réponses: 3
    Dernier message: 12/04/2014, 18h14
  3. [Toutes versions] Utilisation des clés de Dictionary dans une variable tableau
    Par pijaku dans le forum Contribuez
    Réponses: 1
    Dernier message: 22/02/2012, 22h05
  4. passer des nom de symbole dans une variable
    Par eveilside dans le forum Flash
    Réponses: 2
    Dernier message: 29/05/2009, 08h52
  5. Affecter valeur d'un champ dans une variable
    Par Sly2k dans le forum Access
    Réponses: 3
    Dernier message: 17/08/2006, 09h43

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