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

 Delphi Discussion :

[Delphi] Affichages de caractères sur l'écran


Sujet :

Delphi

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2003
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 25
    Points : 26
    Points
    26
    Par défaut [Delphi] Affichages de caractères sur l'écran

    Bonjour,
    je dois porter une appli de Turbo Pascal 7 vers Delphi 6.

    Dans cette appli, il y a une partie interface graphique qui utilise la routine
    SetUserCharsize.
    Quel lien a t-on entre les paramètres de cette routine et la taille d'une police correspondante ?

    Merci d'avance pour vos suggestions.

    @+
    Julie20

  2. #2
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    Ma chère Julie, bienvenue sur le forum Pascal !

    Pour porter une application de Turbo Pascal vers Delphi, il faudra d'abord que tu aies conscience que la méthode de programmation est totalement différente ! En effet, le Pascal normal ( celui que tu connais sous Turbo Pascal ) est un pascal relativement simple, composé d'une suite classique d'instructions, alors que le Pascal utilisé sous Delphi est un Pascal Objet, c'est un Pascal qui se base essentiellement sur la Programmation Orientée Objet. Ainsi sous Delphi, tout ( ou presque ) est objet : les composants de l'interface et l'interface elle-même, et bien d'autres... Chaque composant de l'interface de l'application sera donc considéré comme un objet et sera programmé en conséquence d'une façon bien précise. Chaque objet a des propriétés, dont en particulier la propriété Font qui est commune à quasiment tous les composants graphiques... ( Tu dois sûrement la connaître, vu que tu programmes déjà pas mal avec Delphi ).
    Pour revenir au problème initial, il n'y a pas vraiment d'équivalent pour la procédure SerUserCharSize, car cette procédure s'applique à l'ensemble de l'application et pas à un objet en particulier... Celà dit, SetUserCharSize permet de choisir la taille de la police de l'écran ( enfin plus précisément de chosir la largeur et la hauteur des caractères de la police ). La propriété correspondante est donc Font.Size pour un objet graphique. Il n'y a pas d'équivalence mathématique, car Windows ne permet pas un réglage très précis de la grosseur des caractères... Il faudra donc choisir une taille convenable pour l'interface...

    Voilà, j'en ai mis une tartine cette fois Pour résumer, c'est la propriété Font.Size et il n'y a pas d'équivalence pour les paramètres. Pour information, les deux premiers paramètres concernent la largeur et les deux autres la hauteur : Le premier de chaque couple est un facteur multiplicateur et l'autre est un facteur diviseur. On obtient donc la dimension souhaitée en divisant le premier nombre par le second. Ainsi,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SetUserCharSize(5,3,3,2);
    signifie que la police devra mesurer 5/3*(largeur originale) et 3/2*(hauteur originale), et tout ça en pixels bien sûr !

    Voilà, n'hésite pas si tu as d'autres questions !

    a+
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  3. #3
    Membre averti Avatar de charly
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 329
    Points : 358
    Points
    358
    Par défaut
    hehehe , des que une jolie fille a besoin d aide super ver est la
    6*8 =42

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mai 2003
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 25
    Points : 26
    Points
    26
    Par défaut Affichages de caractères sur l'écran
    8)
    Merci pour tes indications.Grace à toi, je sais qu'avec Windows on ne peut pas avoir une idée de la taille des caractères en pixels et donc, que je vais me débrouiller pour l'affichage du texte.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mai 2003
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 25
    Points : 26
    Points
    26
    Par défaut Affichages de caractères sur l'écran
    J'ai trouvé la propriété Font.Height qui donne la hauteur de la fonte en pixels grâce à la formule suivante:

    La valeur de la propriété Height est déterminée à partir de la hauteur en points au moyen de la formule suivante*:

    Font.Height = -Font.Size * Font.PixelsPerInch / 72

    C'est bien par tes indications que j'ai pu arriver à ce résultat.
    Encore une fois, merci !

  6. #6
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    De rien , ça me fait plaisir d'aider une demoiselle en détresse

    Si tu as d'autres problèmes, n'hésite surtout pas !!

    a+
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  7. #7
    Membre averti Avatar de charly
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 329
    Points : 358
    Points
    358
    Par défaut
    et pis , il se fera plaisir de venir t aider a domicile
    6*8 =42

  8. #8
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    Si tu n'habites pas trop loin de chez moi, je pourrais même te donner des cours particuliers !!
    Voyons, un peu de tenue les pascaliens !!
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  9. #9
    Membre actif

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 107
    Points : 279
    Points
    279
    Par défaut
    On se calme les étalons !
    Chaque jour, l'homme crée des choses plus grandes, meilleures et sûres, et chaque jour, la nature crée des idiots plus performants. Pour l'instant, je pense que la nature gagne.

  10. #10
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    Oh j'ai cru voir un modérateur

    A bientôt Julie !!
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  11. #11
    Membre actif

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 107
    Points : 279
    Points
    279
    Par défaut
    Oui, tu as bien crue voir un modérateur !
    serait-ce la rentrée pour moi ?
    Chaque jour, l'homme crée des choses plus grandes, meilleures et sûres, et chaque jour, la nature crée des idiots plus performants. Pour l'instant, je pense que la nature gagne.

  12. #12
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    Ben il serait temps !!!!
    T'as deux semaines de retard !!

    a+
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  13. #13
    Membre averti Avatar de charly
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 329
    Points : 358
    Points
    358
    Par défaut
    depuis quand y a des modos sur le forum pascal ! c est nouveau ?
    6*8 =42

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/07/2011, 12h07
  2. [Toutes versions] Affichage fichiers Excel sur 2 écrans
    Par djip136 dans le forum Excel
    Réponses: 2
    Dernier message: 12/10/2010, 12h36
  3. Réponses: 0
    Dernier message: 29/06/2009, 20h52
  4. Réponses: 6
    Dernier message: 15/05/2008, 12h13
  5. Réponses: 4
    Dernier message: 03/09/2007, 11h56

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