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

WinDev Discussion :

POLICELISTE ne me donne pas la liste complete des polices installees sur un PC


Sujet :

WinDev

  1. #1
    Membre expérimenté

    Homme Profil pro
    Expert en conception/création de progiciel complexe pour l'industrie du diamants et autres.
    Inscrit en
    Juillet 2016
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Expert en conception/création de progiciel complexe pour l'industrie du diamants et autres.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 107
    Par défaut POLICELISTE ne me donne pas la liste complete des polices installees sur un PC
    Bonjour à tous,
    J'ai un petit soucis a resoudre tres rapidement.
    je dois vérifier au lancement d'un logiciel crée avec Windev 2024 version cle (bien sur ;: ) que deux polices de caracteres sont bien installées.
    La fonction Policeliste() ne me donne dans la chaine de caractere retournée qu'une partie des polices , meme pas un tiers, et donc impossible d'avoir la liste complete des polices
    J'ai essayé tous les parametres dispos pour la fonction mais rien ne change.
    Quelqu'un a t il deja eu ce soucis? et quelqu'un a t il une solution.
    Merci d'avance
    Stephan

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2023
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2023
    Messages : 129
    Par défaut
    Bonjour
    Quel est le résultat avec une liste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ListeSupprimeTout(MoiMême)
    ListeAjoute(MoiMême, PoliceListe(policeDéfaut))
    Probablement un dépassement de taille de la chaine.
    Cdlt

  3. #3
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 310
    Par défaut
    Hello,
    sinon tu peux essayer en dotnet pour voir si c'est mieux :
    Ajouter l'assemblage System.Drawing dans son projet
    et utiliser ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    // Création de la collection de polices
    fonts est un InstalledFontCollection()
     
    // Récupération du tableau de FontFamily
    families est un tableau de FontFamily = fonts.Families
     
    POUR i = 1 _A_ families..Occurrence
        Trace(families[i].Name)
    FIN
    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko :zen:

  4. #4
    Membre expérimenté

    Homme Profil pro
    Expert en conception/création de progiciel complexe pour l'industrie du diamants et autres.
    Inscrit en
    Juillet 2016
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Expert en conception/création de progiciel complexe pour l'industrie du diamants et autres.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 107
    Par défaut
    Citation Envoyé par DevOcc Voir le message
    Bonjour
    Quel est le résultat avec une liste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ListeSupprimeTout(MoiMême)
    ListeAjoute(MoiMême, PoliceListe(policeDéfaut))
    Probablement un dépassement de taille de la chaine.
    Cdlt
    Bonjour,
    merci pour le retour , mais les chaines n'ont comme limite que la memoire dispo et j'en ai plein.
    S.

  5. #5
    Membre expérimenté

    Homme Profil pro
    Expert en conception/création de progiciel complexe pour l'industrie du diamants et autres.
    Inscrit en
    Juillet 2016
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Expert en conception/création de progiciel complexe pour l'industrie du diamants et autres.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 107
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    Hello,
    sinon tu peux essayer en dotnet pour voir si c'est mieux :
    Ajouter l'assemblage System.Drawing dans son projet
    et utiliser ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    // Création de la collection de polices
    fonts est un InstalledFontCollection()
     
    // Récupération du tableau de FontFamily
    families est un tableau de FontFamily = fonts.Families
     
    POUR i = 1 _A_ families..Occurrence
        Trace(families[i].Name)
    FIN
    Ami calmant, J.P
    Merci pour le code et la reponse rapide, je vais me pencher dessus.
    S.

  6. #6
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 667
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 667
    Par défaut
    Bonjour,

    As-tu essayé en passant ton projet en 64 bits ?

    Une autre idée, qui devrait t'évite de mettre un (des?) assemblage dotnet, est de passer par les API (EnumFontsA) que tu peux voir avec WDAPI :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    RetourFonction est un entier // Type C :INT
    VAR_1_HDC est un entier système // Type C :HDC
    VAR_2_LPCSTR est un entier système // Type C :LPCSTR, c'est l'adresse d'une chaîne, il est aussi possible de spécifier directement une chaîne
    VAR_3_FONTENUMPROCA est un FONTENUMPROCA //*********** TYPE NON RETROUVE ***********
    VAR_4_LPARAM est un entier système // Type C :LPARAM
     
    RetourFonction=API("GDI32","EnumFontsA",VAR_1_HDC,VAR_2_LPCSTR,VAR_3_FONTENUMPROCA,VAR_4_LPARAM)
    Il y a également EnumFontFamiliesExA et EnumFontFamiliesA
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  7. #7
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 310
    Par défaut
    Citation Envoyé par frenchsting Voir le message
    Une autre idée, qui devrait t'évite de mettre un (des?) assemblage dotnet,
    Hello Frenchsting,
    un seul assemblage suffit et c'est un assemblage toujours présent sous windows : System.Drawing
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko :zen:

  8. #8
    Membre expérimenté

    Homme Profil pro
    Expert en conception/création de progiciel complexe pour l'industrie du diamants et autres.
    Inscrit en
    Juillet 2016
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Expert en conception/création de progiciel complexe pour l'industrie du diamants et autres.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 107
    Par défaut
    Citation Envoyé par frenchsting Voir le message
    Bonjour,

    As-tu essayé en passant ton projet en 64 bits ?

    Une autre idée, qui devrait t'évite de mettre un (des?) assemblage dotnet, est de passer par les API (EnumFontsA) que tu peux voir avec WDAPI :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    RetourFonction est un entier // Type C :INT
    VAR_1_HDC est un entier système // Type C :HDC
    VAR_2_LPCSTR est un entier système // Type C :LPCSTR, c'est l'adresse d'une chaîne, il est aussi possible de spécifier directement une chaîne
    VAR_3_FONTENUMPROCA est un FONTENUMPROCA //*********** TYPE NON RETROUVE ***********
    VAR_4_LPARAM est un entier système // Type C :LPARAM
     
    RetourFonction=API("GDI32","EnumFontsA",VAR_1_HDC,VAR_2_LPCSTR,VAR_3_FONTENUMPROCA,VAR_4_LPARAM)
    Il y a également EnumFontFamiliesExA et EnumFontFamiliesA
    Bonjour,
    merci pour le code!

    Stephane

  9. #9
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 667
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 667
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    Hello Frenchsting,
    un seul assemblage suffit et c'est un assemblage toujours présent sous windows : System.Drawing
    OK. J'ai dit ça car ça m'est arrivé d'avoir un assemblage et beaucoup de dépendances
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

Discussions similaires

  1. imprimante RICOH listes complètes des codes PJL
    Par cpf2006 dans le forum Autres systèmes
    Réponses: 1
    Dernier message: 12/11/2013, 11h34
  2. regex-Liste complète des commandes
    Par rambc dans le forum Général Python
    Réponses: 4
    Dernier message: 16/07/2011, 11h10
  3. liste complète des clefs pour UIManager
    Par michel18 dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 12/01/2008, 01h12

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