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 :

Question sur lecture son !


Sujet :

Delphi

  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 423
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 423
    Points : 1 326
    Points
    1 326
    Par défaut Question sur lecture son !
    Bonjour à toutes et à tous,

    Je détecte grâce à la base de registre, le chemin du modèle de sons par défaut.

    J'affiche ce résultat dans un TEdit : "%SystemRoot%\media\Windows Recycle.wav" et impossible de le lire avec "PlaySound" .

    Je suis obligé avec une procédure de remplacer "%SystemRoot%" par "C:\Windows\media\Windows Recycle.wav" pour pouvoir le lire avec "PlaySound".

    Y a t'il une explication ?

    Merci d'avance.

    @+,

    Cincap

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 455
    Points : 24 867
    Points
    24 867
    Par défaut
    Cela serait même surprenant que "%SystemRoot%" soit pris en compte par PlaySound

    L'utilisation d'un chemin contenant une variable d'environnement est un cas particulier, il est tout à fait normal que cela soit à notre responsabilité de le gérer !

    Tu imagines que chaque fonction de l'OS acceptant un paramètre fichier soit capable de gérer les variables d'environnement
    Dans 95% des cas, cela serait un traitement d'analyse de la chaine inutile donc contre-performant,
    il bien plus sage de laisser au développeur le soin de résoudre ce genre de problème avec ExpandEnvironmentStrings


    PlaySound doit s'attendre un chemin réel, il suffit de lui fournir lpDst rempli par ExpandEnvironmentStrings
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 423
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 423
    Points : 1 326
    Points
    1 326
    Par défaut
    @ ShaiLeTroll, bonjour, merci pour cette mise au point, je pensais que "%SystemRoot%" était le raccourci du dossier "C:\Windows".

    Cela fonctionne avec la procédure de "replace" mais néanmoins je vais tester avec ta suggestion.

    @+,

    Cincap

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 423
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 423
    Points : 1 326
    Points
    1 326
    Par défaut
    @ ShaiLeTroll, super, plus besoin de procédure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    var
      Str: array [0..255] of Char;
    begin
      if ExpandEnvironmentStrings(PChar(Edname.Text), Str, 256)>0 then
        Label1.Caption:=Str;
    Encore merci.

    @+,

    Cincap

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

Discussions similaires

  1. question sur lecture de BLOB
    Par temoanatini dans le forum PL/SQL
    Réponses: 1
    Dernier message: 03/11/2011, 17h53
  2. [Visual C# 2008][Question sur le son]
    Par cescu dans le forum C#
    Réponses: 0
    Dernier message: 20/02/2009, 09h33
  3. Question sur lecture d'un fichier text en Java
    Par ovcrash dans le forum Entrée/Sortie
    Réponses: 13
    Dernier message: 27/11/2007, 17h14
  4. Questions sur le son dans un site web
    Par crash override dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 29/11/2005, 20h25
  5. [debutant] question sur JCreator ? (son classpath)
    Par easyman dans le forum Environnement de Développement Intégré (EDI)
    Réponses: 3
    Dernier message: 25/10/2005, 08h56

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