none
Sauvegarder et récupérer les éléments de définition d'une police dans une base access RRS feed

  • Question

  • Je souhaiterais sauvegarder un certain nombre d'éléments dont les éléments définissant une police de caractères, sous la forme d'une chaîne de caractères (string) dans une base de données Access.

    Or, si l'expression de la police sous la forme de chaîne ne pose pas de problème, (La chaîne résultant de la commande MaChaîne (as String) = MonContrôle.Font => MaChaîne= "[Font: Name=Arial, Size=15, Unit=3, GdiCharSet=1, GdiVerticalFont=False]" ce qui est facilement stockable dans Access, par contre, la chemin de retour (MonContrôle.Font={Elément en provenance de la BdD Access}) m'est inconnu.

    Quelqu'un peut-il m'aider ?


    Pierre Allemand

    vendredi 17 août 2012 14:41

Réponses

Toutes les réponses

  • Bonjour,

    En découpant la chaine pour utiliser ces paramètres dans l'un des constructeurs http://msdn.microsoft.com/fr-fr/library/system.drawing.font.font.aspx ?


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".

    samedi 18 août 2012 10:09
    Modérateur
  • Merci Patrice,

    C'est ce que j'étais en train de faire, mais je pensais qu'il y avait une méthode plus élégante, ou une fonction existante du genre "GetFontFamily"...


    Pierre Allemand

    samedi 18 août 2012 13:54
  • La méthode ToString ne fait que sortir une représentation sous forme de texte sans sens technique particulier. Sinon voir peut-être http://stackoverflow.com/questions/1940127/how-to-xmlserialize-system-drawing-font-class . La classe n'est pas directement sérialisable mais en s'auppuyant sur ce mécanisme (qui consiste à créer une réprésentation stockable par exemple dans un fichier et permettant de réinstancier cette instance plus tard) ce qui permettrait d'utiliser un mécanisme général présent dans .NET...


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".

    dimanche 19 août 2012 10:01
    Modérateur
  • J'ai trouvé que le plus simple était de stocker séparément le nom de la police par MonContrôle.Font.Name, sa taille par MonContrôle.Font.Size (ou SizeInPoints) et son style par Titre.Font.Style qui est exprimé par un chiffre égal à la somme des valeurs  de style (0 pour normal, 1 pour gras, 2 pour italique, 4 pour souligné) et qui peut se stocker sous la forme d'un entier positif.

    De cette façon, il n'y a pas besoin de découper la chaîne obtenue par (MonContrôle.Font).ToString.


    Pierre Allemand

    dimanche 19 août 2012 14:23