/// <EjecucionInfo> /// LLama a todas las clases implicadas en el programa para una ejecuccion de este. /// </EjecucionInfo> private void Ejecucion() { saliobien = Fichero.LecturaFicheros(); Fichero.LecturaFicheroExe(); //POR AQUI** TextBox_TodoBien.Opacity = 100; Path_Origen.Text = "Path"; Path_Destino.Text = "Path"; BotonIniciar.IsEnabled = false; if (saliobien == true) { SolidColorBrush colorCorrecto = new SolidColorBrush(Colors.DarkGreen); TextBox_TodoBien.Foreground = colorCorrecto; TextBox_TodoBien.Text = "Proceso completado satisfactoriamente!."; BarraProgreso.Foreground = colorCorrecto; BarraProgreso.Value = BarraProgreso.Maximum; } if (saliobien == false) { SolidColorBrush colorerror = new SolidColorBrush(Colors.DarkRed); TextBox_TodoBien.Foreground = colorerror; TextBox_TodoBien.Text = "¡ERROR!,Proceso no completado. Comprueba las rutas por favor."; BarraProgreso.Foreground = colorerror; BarraProgreso.Value = BarraProgreso.Maximum / 1.5; } }
}//Listo /// <BusquedaDeCsProfundaInfo> /// Busca por cada uno delos directorios dentro del proyecto los ficheros .CS /// </BusquedaDeCsProfundaInfo> private static void BusquedaDeCsProfunda() { string subdirectorioanadidofinal = string.Empty;//Variable usada para añadir el ultimo subdirectorio mas profundo antes de llegar a los ficheros for (int i = 0; i < ArrayRutasOriginales.Length; i++) { string tmp = string.Empty; DirectoryInfo directorio2 = new DirectoryInfo(ArrayRutasOriginales[i]); DirectoryInfo[] dEncontrados = directorio2.GetDirectories(); Fichero mifichero = new Fichero(); do { if (dEncontrados[0].ToString() != "") { //Este buble comprueba que en el nivel de la ruta en el que se encuentra hay un fichero ".cs " si no es asi busca otro subdirectorio y avanza hasta encontrarlos. do { if (mifichero.CompruebaFichero(ArrayRutasOriginales[i]) == false) { for (int j = 0; j < dEncontrados.Length; j++) { subdirectorioanadidofinal = dEncontrados[j].ToString(); if (subdirectorioanadidofinal != ".vs" && subdirectorioanadidofinal != "TestResults" && subdirectorioanadidofinal != ".git" && subdirectorioanadidofinal != "Visual Studio 2012")//Simplificar o reorganizar con patrones.. { tmp = ArrayRutasOriginales[i]; tmp += Path.DirectorySeparatorChar.ToString() + subdirectorioanadidofinal; ArrayRutasOriginales[i] = tmp; hayfichero = mifichero.CompruebaFichero(ArrayRutasOriginales[i]); } } } else { hayfichero = true; } } while (hayfichero == false); } } while (dEncontrados[0].ToString() == ""); } }//Listo
//----------------------------------------------------------------------------------------------------------------------- /// <Metodo que Lee el Directorio raiz> /// Lee el directorio raiz, y monta las rutas hasta los ficheros ".cs" /// </summary> /// <returns>ArrayRutasOriginales</returns> public string[] LecturaSubDirectorios() { string subdirectorioanadidofinal = string.Empty; //Variable usada para añadir el ultimo subdirectorio mas profundo antes de llegar a los ficheros string rutatmp = string.Empty; //ruta temporal , para montar la ruta hacia los nuevos directorios que se van a crear iguales que los originale, excepto el raiz. DirectoryInfo d = new DirectoryInfo(rutaOrigen); DirectoryInfo[] directorios = d.GetDirectories(); ArrayRutasOriginales = new string[directorios.Length]; ArrayRutasOriginalesExe = new string[ArrayRutasOriginales.Length]; arryRutasNuevas = new string[directorios.Length]; string[] arryRutasNuevasTmp = new string[ArrayRutasOriginales.Length];//Array de rutas donde se han creado cada uno de los nuevos subdirectorios en el nuevo directorio Raiz. Arraynombreejecutables = new string[ArrayRutasOriginales.Length]; for (int i = 0; i < directorios.Length; i++) { ArrayRutasOriginales[i] = rutaOrigen + "\\" + directorios[i];//Monta y guarda todas las rutas des de la Raiz hasta cada uno de los subdirectorios. } #region Creacion de directorios //Crea los nuevos Subdirectorios...(No se realizo en su metodo, ya que necesitamos la longitud del array declarado en este."directorios"" rutatmp = rutaDestino; for (int i = 0; i < directorios.Length; i++) { string apoyoruta = rutatmp;//Variable para conservar la ruta original apoyoruta += Path.DirectorySeparatorChar.ToString() + directorios[i].ToString(); Directory.CreateDirectory(apoyoruta); arryRutasNuevasTmp[i] = apoyoruta; //Guardamos las nuevas rutas, con los nuevos subdirectorios del nuevo directorio Raiz. arryRutasNuevas[i] = arryRutasNuevasTmp[i]; //guardo las nuevas rutas en otro Array para intentar sacarlo tambien del Metodo. } #endregion #region Busqueda mas profunda //POSIBLE METODO LLAMADO "BUSQUEDA PROFUNDA" //-Remontando rutas originales finales "relacionejercicios\ejercicio1\app_reloj" for (int i = 0; i < ArrayRutasOriginales.Length; i++) { string tmp = string.Empty; DirectoryInfo directorio2 = new DirectoryInfo(ArrayRutasOriginales[i]); DirectoryInfo[] dEncontrados = directorio2.GetDirectories(); Fichero mifichero = new Fichero();//Cambiando do { if (dEncontrados[0].ToString() != "") { //Este buble comprueba que en el nivel de la ruta en el que se encuentra hay un fichero ".cs " si no es asi busca otro subdirectorio y avanza hasta encontrarlos. do { if (mifichero.CompruebaFichero(ArrayRutasOriginales[i]) == false) { for (int j = 0; j < dEncontrados.Length; j++) { subdirectorioanadidofinal = dEncontrados[j].ToString(); if (subdirectorioanadidofinal != ".vs" && subdirectorioanadidofinal != "TestResults" && subdirectorioanadidofinal != ".git" && subdirectorioanadidofinal != "Visual Studio 2012")//Simplificar o reorganizar con patrones.. { tmp = ArrayRutasOriginales[i]; tmp += Path.DirectorySeparatorChar.ToString() + subdirectorioanadidofinal; ArrayRutasOriginales[i] = tmp; hayfichero = mifichero.CompruebaFichero(ArrayRutasOriginales[i]); } } } else { hayfichero = true; } } while (hayfichero == false); } } while (dEncontrados[0].ToString() == ""); } #endregion return(ArrayRutasOriginales); }