Copie de Fichiers et tri alphabétique

cs_thebigboss Messages postés 216 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 12 avril 2017 - 15 avril 2004 à 07:47
sebseb42 Messages postés 495 Date d'inscription dimanche 6 juillet 2003 Statut Membre Dernière intervention 9 novembre 2007 - 7 avril 2005 à 18:19
J'ai deux questions. :question)

1er: Comment trier par ordre alphabétique un tableau de string???? ;)

2eme: :sad) J'ai besoin de copier des MP3 sur mon lecteur, mais si je copie tous les fichiers d'un coup mon lecteur ne les lis pas dans l'ordre alpha mais dans l'ordre de la copie, donc je voudrais savoir quand le premier fichier a finis d'être copié avant de copier le suivant...
Quelqu'un sait comment récupérer une info permettant de savoir si un fichier a fini d'être copié????

Merci d'avance.

Nico :approve)

9 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
15 avril 2004 à 09:12
1er : avec une collection (ArrayList etc) on peut le faire simplement, mais avec un tableau je pense qu'il va falloir que tu fasses tout

2eme : comment ça copier ? pck je sais pas comment prendre "lecteur" dans ce cas là : player logiciel ou lecteur mp3 physique ?

Cocoricoooooooo !!!!
0
cs_thebigboss Messages postés 216 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 12 avril 2017 2
15 avril 2004 à 10:36
Mon lecteur de MP3 est un lecteur physique, il me lit les chansons dans l'ordre ou je les copie. Je dois impérativement les copier une par une car si le deuxième MP3 a fini de se copier sur le lecteur avant la première, alors elle seront lues dans le désordre.

Je voudrais donc copier chque chanson l'une après l'autre et attendre que chaque chanson soit entiêrement copiée avant de copier la suivante. (J'espère être compréhensible...)

Sinon pour le ArrayList, je ne connais pas, c'est quoi?
c'est simple à utiliser???

et si je garde mon tableau, je vais devoir faire un tri bulle en comparant chaque char de ma string???

En fait, mon soft récupère, les noms des MP3 contenu dans un répertoire (getFiles()) mais il ne les récupère pas dans l'ordre alphabétique, je dois donc les reclasser dans l'ordre...

Mais problèmes sont un peu compliqués pour finalement ne pas faire grand chose, mais bon j'en ai besoin, donc si tu as une idée pour m'aider...

Merci d'avance..

Nico.
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
15 avril 2004 à 10:42
ArrayList est une collection
mate un peu la msdn sur ce sujet tu verra ça peut etre sympa
et il y a des methodes de sort afin de trier les items

pour la copie ça depend comment tu le fais
si les methodes sont bloquantes ton prog sera forcement en attente le temps de la copie.

Cocoricoooooooo !!!!
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
15 avril 2004 à 10:58
exemple :
ArrayList liste = new ArrayList();
liste.Add("wow");
liste.Add("cool");
liste.Add("dingue");
liste.Sort();


avec des string il suffit d'appeler sort sans parametres
pour des types "complexes", il faudra passer un IComparer

Cocoricoooooooo !!!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_thebigboss Messages postés 216 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 12 avril 2017 2
15 avril 2004 à 15:35
En fait, je fais un tableau contenant le chemin de tous les MP3.

Puis je fais une boucle du type:

for (int i=0;i<tab_MP3.Length;i++)
{
FileInfo fi=new FileInfo();

fi.Copy(tab_MP3[i];"e:\",true);
}

Voilà, je copy tous les fichiers contenus dans mon tableau sur mon lecteur e:
Mais ça revient à les copier tous en même temps car si le fichier1 (Tab_MP3[0]) est plus grand que le fichier2 (TabMP3[1]) alors c'est le 2eme qui aura fini d'être copié en premier et donc mon lecteur me lira le 2eme MP3 avant le 1er.
Alors que moi je veux les lire dans l'ordre.

Une solution consisterai à mettre une tempo dans la boucle pour être sûr que le 2eme fichier commence à se copier bien après le 1er, comme ça je serai sur que le 1er sera copié avant le 2eme, mais c'est pas très propre comme programmation et en plus ça va être plus long. C'est pourquoi, je voudrais pouvoir tester que le 1er fichier a fini d'être copier avant de lancer le suivant.

J'ai essayer de tester la taille du fichier de destination sur e:\ mais dès que le fichier commence à se copier, le programme me renvoi tout de suite la taille finale et non pas la taille en cours....
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
16 avril 2004 à 11:28
regarde deja pck il me semble que la methode Copy est bloquante, donc tant que la copie n'est pas finie le prog est en "pause"

Cocoricoooooooo !!!!
0
cs_thebigboss Messages postés 216 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 12 avril 2017 2
16 avril 2004 à 12:50
Non, j'ai essayé, et les fichiers ne sont pas copiés les uns après les autres, mais tous en même temps. La fonctions copy ne doit pas être bloquante...

Sinon, j'essaye de me servir de MSDN en ligne mais je ne m'y retrouve pas. Je ne sais pas ou se trouvent les methodes et les composants comme sur MSDN 6.

Avant j'allais chercher mon composant (par ex: un bouton) et je voyais toutes les methodes possibles sur ce composant, mais maintenant je n'arrive pas à me servir de MSDN...

Y'a moyen de télécharger MSDN? car moi j'ai une pauvre connexion 56k donc je ne peux pas m'en servir en continu (et en plus je n'arrive pas à m'en servir..).

Merci d'avance pour ton aide.

Nico
0
sebseb42 Messages postés 495 Date d'inscription dimanche 6 juillet 2003 Statut Membre Dernière intervention 9 novembre 2007 1
7 avril 2005 à 18:15
La fonction Copy qui se trouve dans la classe File du namespace System.IO

(System.IO.File.Copy(string src, string dst))

est parfaitement bloquante, je viens de tester pour m'en assurer et elle l'est bien
0
sebseb42 Messages postés 495 Date d'inscription dimanche 6 juillet 2003 Statut Membre Dernière intervention 9 novembre 2007 1
7 avril 2005 à 18:19
arf, j'ai un an de retard, mais sinon pour trier un tableau (Array) tu peut utiliser la fonction Array.Sort(...);
0
Rejoignez-nous