Exemplo n.º 1
0
        /**
         * Evento llamado al añadir varias carpetas a la aplicacion
         * Recorre todas las carpetas hijo de la carpeta seleccionada, asi como sus archivos
         * Recorre todo el arbol de carpetas hasta que no haya mas por leer
         */
        private void addText(string[] files)
        {
            for (int i = 0; i < files.Length; i++)
            {
                if (files == _folders)
                {
                    _aux = addCarpetaCompleta(files[i]);
                    if (_aux == null)
                    {
                        if (i != files.Length - 1)
                        {
                            i++;
                        }
                    }
                    else
                    {
                        _aux.clickEspecial();
                        string[] archivos = OrderClass.orderArrayOfString(Directory.GetFiles(files[i]));
                        for (int j = 0; j < archivos.Length; j++)
                        {
                            foreach (string s in Lista._extensiones)
                            {
                                if (s.CompareTo(System.IO.Path.GetExtension(archivos[j])) == 0)
                                {
                                    addFileCarpeta(archivos[j], _aux);
                                }
                            }
                        }
                    }
                }
                else
                {
                    _aux2 = Lista.searchRuta(Directory.GetParent(files[i]).FullName);
                    if (!checkString(files[i]))
                    {
                        if (_aux2 != null)
                        {
                            _aux2 = addSubCarpetaCompleta(_aux2, files[i]);
                        }
                    }
                    else
                    {
                        if (_aux != null)
                        {
                            _aux2 = addSubCarpetaCompleta(_aux, files[i]);
                        }
                    }

                    string[] archivos = OrderClass.orderArrayOfString(Directory.GetFiles(files[i]));
                    if (_aux2 != null)
                    {
                        for (int j = 0; j < archivos.Length; j++)
                        {
                            foreach (string s in Lista._extensiones)
                            {
                                if (s.ToLower().CompareTo(System.IO.Path.GetExtension(archivos[j]).ToLower()) == 0)
                                {
                                    addFileCarpeta(archivos[j], _aux2);
                                    Console.WriteLine("Added: " + archivos[j]);
                                }
                            }
                        }
                    }
                }
                if (Directory.GetDirectories(files[i]) != null)
                {
                    string[] directorios = OrderClass.orderArrayOfString(Directory.GetDirectories(files[i]));
                    addText(directorios);
                }
            }
        }