Salut !
J'ai un souci avec mon appli; je ne parviens pas à coder ce dont j'ai besoin.
Je vous explique le rôle de l'appli et le passage périlleux :
L'appli doit lire une liste de fichiers mp3 dans un répertoire x, en extraire les artistes et les titres. Ensuite, ça remplit une série de textbox avec les artistes et titres mentionnés :
(Pour la suite de l'histoire : Ensuite, via le bouton 4 ("Trier et zipper" ci-dessus (géré dans la Form6)), l'appli copie les fichiers vers un sous-dossier de x, enlève les tags, et renomme les fichiers en 01, 02, 03,... .mp3, zippe le tout et crée un fichier playlist.txt. Mais tout ça fonctionne correctement !)
Là, où ça coince, c'est que le user a la possibilité de renommer les artistes et les titres via les textbox. Et en conséquence, les noms de fichiers mp3 dans les dossiers x et sous-dossier de x correspondants doivent être renommés également.
Et autre complication en vue, le user peut modifier l'ordre des extraits; image ci-dessous :
Je poste ci-dessous, le code du bouton 4 ("Trier et zipper" dans la 1ère image ci-dessus).
'tabtb' est un tableau à 2 dimensions qui contient les artistes et les titres.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 private void button4_Click(object sender, EventArgs e) { int j = 0; String[] files2 = Directory.GetFiles(folder); foreach (String f2 in files2) { if (f2.EndsWith(".mp3")) { String morceau = f2.Substring(f2.LastIndexOf("\\") + 1); for (j = 0; j < _nbrextrait; j++) { if (morceau == tabtb[j, 0].Text + " - " + tabtb[j, 1].Text + ".mp3") { File.Copy(folder + @"\" + morceau, folder + @"\Programme BT\" + tabtb[j, 0].Text + " - " + tabtb[j, 1].Text + ".mp3", true); File.Move(folder + @"\" + morceau, folder + @"\" + tabtb[j, 0].Text + " - " + tabtb[j, 1].Text + ".mp3"); } } } } }
Les lignes 10 et 12 gèrent le changement de l'ordre des extraits; ce code fonctionne.
Et c'est bien dans les lignes 14 et 15 qu'il manque qqch pour que ça fonctionne (comment trouver le bon indice 'j' qui corresponde à 'morceau', bien que 'tabtb[j,0]' ne corresponde plus à 'morceau'). Lors du premier passage tout se passe bien, mais s'il y a plus d'une modification, ça coince ! En gros, la prise en compte de la modification des artistes/titres bugue...
Et je ne vois vraiment pas comment faire pour résoudre ça
Merci d'avance pour votre aide.![]()
Partager