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

Langage Delphi Discussion :

Erreur de conversion pixels vers système métrique.


Sujet :

Langage Delphi

  1. #21
    Membre éprouvé
    Avatar de maxim_um
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 895
    Points : 1 018
    Points
    1 018
    Par défaut
    Citation Envoyé par Droïde Système7 Voir le message
    Bonjour,
    Pour le code fort intéressant ci-dessus, il se compile et se lance ; mais plante sous Vista
    Suis-je le seul en ce cas ?
    @+
    Attention, Attention. Le code que j'ai écrit est loin d'être complet, et même s'il l'était, je ne pourrais même pas l'essayer parce que je ne dispose pas de Delphi. À la base j'étais partie pour faire une simple illustration et montrer comment intégrer la librairie SetupAPI (2 lignes). Quelques secondes plus tard, je me suis dit qu'une ébauche, ça serait plus parlant (+40 lignes). Mais ça ne reste qu'une ébauche, et donc elle doit être utilisé comme tel.


    Citation Envoyé par defluc Voir le message
    Serais-ce abuser de tes compétences - qui me semblent étendues vu le peu de sujets à ce propos sur le net - de te demander comment récupérer la largeur et la hauteur du moniteur (ou simplement la diagonale) ?
    Ces informations (largeur-hauteur) sont enregistrées dans la base de registre. Il y a plusieurs méthodes pour y accéder, mais avant cela il faut d'abord identifier le moniteur qui est en cours d'utilisation pour justement cibler le bon descripteur et donc les bonnes informations. Ainsi, des fonctions comme SetupDiGetClassDevsEx, SetupDiEnumDeviceInfo, SetupDiGetDeviceRegistryProperty permettent de faire cela, au besoin une documentation sur MSDN montre leurs usages.

  2. #22
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Points : 1 199
    Points
    1 199
    Par défaut
    Vraiment pas évident, d'autant que la documentation sur MSDN est très généraliste.
    Ta petite source Delphi fonctionne. Chapeau pour l'avoir proposée sans connaitre ni disposer de Delphi.
    Mais il manque les instructions qui feraient mon bonheur (et certainement celui de nombreux «Delphistes») pour extraire les dimensions de l'écran.
    Et nous sommes bien sur un forum Delphi sur lequel tu es intervenu avec à propos en nous faisant découvrir des perspectives.

    La solution à ma question mériterait de figurer dans la FAQ Delphi et je m'obstine à y aboutir parce qu'elle est d'un intérêt général.

    Si tu l'as résolue en C++, peut-être pourrais-je le dériver sous Delphi.

  3. #23
    Membre éprouvé
    Avatar de maxim_um
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 895
    Points : 1 018
    Points
    1 018
    Par défaut
    Proposer sans connaitre, ce serait presque surhumain. Mais pour faire simple, Delphi ce n’est vraiment pas mon truc. Si la petite source ne fait pas trop d’émoi, c'est juste parce que la structure de base y est respectée, c'est tout.
    Cela dit, j'ai eu pendant quelque temps BDS2006 entre les mains (4 mois), et il m'arrivait quelques fois de dire bonjour à l'ami de C++ Builder, en l'occurrence Delphi. Entre nous, ça aurait été dommage de ne pas le saluer, alors qu'il était juste à côté.

    Aussi j'ai bien vu qu'on est sur un forum Delphi, mais saches qu'un langage n'est pas un tout, il y a aussi des bibliothèques et plus généralement de la conception et de l'algorithme, disons un peu plus qu'une histoire de syntaxe. C'est ce qui fait que je suis intervenue dans des forums très varié.

    Enfin pour en revenir au problème qui te préoccupe, je veux bien faire une démo en C++. Mais comme j'ai donné beaucoup de pistes et indications jusqu'à maintenant, je ne voudrais pas non plus faire tout le reste du travail, car selon le principe d'un forum d'entraide, cette tâche t'incombe. Maintenant si tu fais l'effort de faire un code en Delphi qui trouve au moins le nom de l'écran, alors j'accèderais à ta requête, et là au moins, je n'aurais pas l'impression d'avoir encore perdu un plateau d'argent.

  4. #24
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Points : 1 199
    Points
    1 199
    Par défaut
    J'ai trouvé grâce au forum http://www.experts-exchange.com/Prog...html#a22496691

    Mais cela ne résout pas mon problème vu que la fonction me donne une erreur identique à la fonction GetDeviceCaps(DC,HORZSIZE) de l'unité Windows.
    Merci quand même pour votre dévouement.

  5. #25
    Membre éprouvé
    Avatar de maxim_um
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 895
    Points : 1 018
    Points
    1 018
    Par défaut
    Salut defluc,

    As-tu au moins pris le temps de regarder le code dont tu parles ? Je ne dis même pas le lire, mais simplement le parcourir visuellement. Je te dis ça, parce que si tu l'avais fait, tu aurais vu que c'est bien la fonction GetDeviceCaps qui est utilisée, celle-là même qui te cause tant de tracas. Mais bon, c'est sûr, de nos jours il est plus facile de faire un copier-coller et lancer la compilation. Bref, je n'ai qu'un mot à dire, dommage.

  6. #26
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Points : 1 199
    Points
    1 199
    Par défaut
    Je te trouve bien sévère sans me connaitre.
    Au delà du Copier/Coller, j'ai testé toutes les valeurs renvoyées et l'erreur dont je parle est bien celle de la différence entre la valeur renvoyée pour les dimensions de l'écran en mm et ses mesures effectives.
    Bref, je n'ai qu'un mot à dire, dommage.
    Les forums ont pour but d'enrichir positivement la communauté et non de faire de la morale

Discussions similaires

  1. Erreur de conversion de type, varchar vers datetime
    Par Marc_3 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 24/06/2012, 21h46
  2. Réponses: 1
    Dernier message: 18/08/2010, 11h55
  3. Message d'erreur à la conversion .xls vers .pdf
    Par samson_02 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/02/2009, 15h02
  4. Erreur de dépassement: conversion XML vers NTEXT
    Par carjo dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 07/03/2008, 22h05
  5. Réponses: 5
    Dernier message: 20/06/2007, 13h49

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