Rebonjour !
Tu peux me tutoyer...
Excuse moi je me suis trompé (à force de jongler entre les langages) : en Delphi les chaînes de caractères se délimitentent avec des guillemets simples et non des guillemets doubles donc fait :
filename := 'C:\etc...' et non filename:="C:\etc.."
ensuite je crois que ta question repose sur la différence entre adresse relative et absolue.
Une adresse relative est relative au dossier courant (souvent celui de ton application), si ton son est dans le répertoire courant tu peux mettre simplement : 'mon_son.wma' ou tu peux indiquer un chemin à partir du fichier courant : 'Sous_Dossier_Du_Dossier_Courant\Autre_Sous_Dossier_mon_fichier.wma' si ton son se trouve dans un sous-dossier du dossier courant ou bien par ex : '..\..\mon_son.wav', les deux points signifiants le répertoire au dessus (i.e. parent) (donc ici deux répertoires au dessus).
Une adresse absolue est l'adresse à partir de la racine du disque dure ex : 'C:\dossier1\dossier2\mon_son.midi'
Evite ces adresses absolues car le client de ton programme n'aura pas forcément un son à cette adresse.
Voici des fonctions qui pourront te servir pour gérer le répertoire courant :
setcurrentdirectory(dir); // met dir comme répertoire courant
dir := getcurrentdirectory; // met dans dir le répertoire courant
application.exename; // c'est le chemin complet (adresse absolue) de ton programme
dir := extractfiledir(chemin); // met dans dir le répertoire du fichier "chemin"
exemple : pour forcer le répertoire courant à être celui de ton application :
setcurrentdirectory(extractfiledir(application.exename));
Enfin si tu veux comprendre ce que je t'ai dit précédemment il faut que tu comprenne les concepts suivants :
- variable
- fonction
- procédure
- fonction
- propriété
- méthode
- chaîne ou string (en aglais)
- clause uses
- gestionnaire d'événement
- événement
- inspecteur d'objet
- fiche
- unité
- composant
- objet
- etc.
Ces mots ont un sens précis en informatique (différent du sens commun), ce sont des concepts de base
que tout programmeur orienté POO (encore un sigle...)connaît par coeur, je ne sais pas si tu les connaît mais ils te seront indispensables pour continuer ton apprentissage de Delphi.
N'hésite pas à demander sur le forum tes questions relatives à ces concepts fondamentaux.
Je ne sais pas à quel niveau de programmation tu es rendu en Delphi, dis-moi : cela fait combien de temps que tu programme en Delphi ?
Cordialement.
@ +
SISI231