cs_giallo
Messages postés6Date d'inscriptionlundi 6 septembre 2004StatutMembreDernière intervention16 février 2005
-
15 févr. 2005 à 11:34
ni69
Messages postés1418Date d'inscriptionsamedi 12 juin 2004StatutMembreDernière intervention 5 juillet 2010
-
16 févr. 2005 à 19:24
Bonjour,
(Je suis débutant) j''aimerais ajouter une fonctionnalité dans mon appli et je n'ai aucune idée de comment faire...
Je voudrais laisser à l'utilisateur la possibilité de lister tous les
fichiers d'un répértoire (bien entendu il choisirait le répertoire)
J'ai utilisé le composant OpenDiaolog je peux bien choisir un
répertoire mais comment faire pour mémoriser le chemin?? une fois que
cette boite de dialogue se ferme??
cs_giallo
Messages postés6Date d'inscriptionlundi 6 septembre 2004StatutMembreDernière intervention16 février 2005 15 févr. 2005 à 22:46
hello
Ok Avant d'essayer avec un DirectoryListBox et pour ne pas devoir modifier tout mon code j 'ai quand même essayer ça ...
begin
opendialog1.InitialDir:= getcurrentdir;
opendialog1.Filter:= 'fichier mp3(*.mp3)|*.mp3';
ExtractFilePath(OpenDialog1.Filename);
opendialog1.Execute;
Malheureusement je ne récupère pas un chemin mais une suite de caractères très bizarre!!!
Et je ne sais pas d'ou vient l'erreur!?
Quelques info encore sur mon projet:
Il s'agit de faire une Mp3thèque
Ici l'utilisateur doit indiquer dans quel répertoire se trouve ses chansons ensuite à l'aide du chemin retourné par le OpenDialog j'utiliserai une double boucle et un composant ID3 qui me permettront de lire les informations contenues dans chaque fichier se trouvant dans ce répertoire et d'ajouter ces infos dans une base de données.
ni69
Messages postés1418Date d'inscriptionsamedi 12 juin 2004StatutMembreDernière intervention 5 juillet 201012 15 févr. 2005 à 18:27
Si tu désires utiliser un OpenDialog, comme le dit sovitec, tu peux te servir de OpenDialog.Filename pour avoir le chemin du fichier, mais dans ta question, je crois comprendre que tu veux donner à l'utilisateur le choix d'un répertoire, et pas d'un fichier. Donc si tu utilises un OpenDialog, fais ceci : ExtractFilePath(OpenDialog.Filename) pour avoir le nom du répertoire sélectionné dans l'OpenDialog.
Un OpenDialog n'est pas l'idéal pour sélectionner un répertoire... Tu as donc d'autres solutions, je pense principalement à l'utilisation d'un DirectoryListBox ou d'un ShellTreeView.
Pour avoir accès au nom des répertoires sélectionnés fais ceci :
DirectoryListBox.Directory; // pour un DirectoryListBox
ou
ShellTreeView.Path; // pour un ShellTreeView
Ensuite, pour lister les fichiers du répertoire, tu as deux composants correspondants aux deux cités ci-dessus :
- si tu utilises un DirectoryListBox pour sélectionner un répertoire, utilise un FileListBox pour visualiser les fichiers.
- si tu utilises un ShellTreeView pour sélectionner un répertoire, utilise un ShellListView pour visualiser les fichiers.
La liaison entre les deux se fait automatiquement si tu mets "FileListBox1" dans la propriété "FileList" du DirectoryListBox ou alors "ShellListView1" dans la propriété "ShellListView" de ton ShellTreeView.
Rien qu'en faisant ça, tu as déjà un bon petit explorateur Windows
Tu as aussi la possiblité d'ajouter des filtres de format de fichier et tout, mais cela ne correspond plus à la question
Si tu veux des précisions, n'hésite pas à demander, on est là pour ça
@+
Bonne Prog'
Nico
<HR>
N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_giallo
Messages postés6Date d'inscriptionlundi 6 septembre 2004StatutMembreDernière intervention16 février 2005 15 févr. 2005 à 22:45
hello
Ok Avant d'essayer avec un DirectoryListBox et pour ne pas devoir modifier tout mon code j 'ai quand même essayer ça ...
begin
opendialog1.InitialDir:= getcurrentdir;
opendialog1.Filter:= 'fichier mp3(*.mp3)|*.mp3';
ExtractFilePath(OpenDialog1.Filename);
opendialog1.Execute;
Malheureusement je ne récupère pas un chemin mais une suite de caractères très bizarre!!!
Et je ne sais pas d'ou vient l'erreur!?
Quelques info encore sur mon projet:
Il s'agit de faire une Mp3thèque
Ici l'utilisateur doit indiquer dans quel répèrtoire se trouve ses chansons ensuite à l'aide du chemin retourné par le OpenDialog j'utiliserai une double boucle et un composant ID3 qui me permettront de lire les informations contenues dans chaque fichier se trouvant dans ce répertoire et d'ajouter ces infos dans une base de données.
ni69
Messages postés1418Date d'inscriptionsamedi 12 juin 2004StatutMembreDernière intervention 5 juillet 201012 16 févr. 2005 à 14:49
Je rajouterais même :
opendialog1.InitialDir:= getcurrentdir;
opendialog1.Filter:= 'fichier mp3(*.mp3)|*.mp3'; // REMARQUE : ceci peut être mis dans les propriétés de l'opendialog via l'inspecteur de propriétés lors de la conception... if opendialog1.Execute
then
begin
ExtractFilePath(OpenDialog1.Filename);
[...traitement des données...]
end;
car si tu ne rajoutes pas cette condition et que l'utilisateur clique sur annuler, ça renvoie le path quand même et ça continue à traiter les infos
@+
Bonne Prog'
Nico
<HR>
N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !