/// <summary> /// Función que declara una operación de visita para los /// objetos de tipo directorio. Retorna un String con /// su nombre y contenido /// </summary> /// <param name="d"></param> /// <returns></returns> public override String formatoDirectorio(Directorio d) { String resultado; resultado = d.Nombre.ToString(); return resultado + formatoSet(d.getContenido(), this); }
/// <summary> /// Método auxiliar que crea los componentes de la estructura de /// archivos y almacena unos en otros, creando una estructura /// anidada. /// </summary> /// <returns></returns> private static Directorio creaComponentes() { // Creamos los elementos de la estructura Directorio raiz = new Directorio("Raiz"); Directorio vacio = new Directorio("Directorio Vacio"); Directorio unico = new Directorio("Directorio Con Archivo Unico"); Directorio comprimidoSimple = new Directorio("Directorio Con Archivo Comprimido Simple"); Directorio anidado = new Directorio("Directorio con Directorio Anidado"); Directorio complejo = new Directorio("Directorio con Archivo Comprimido Complejo"); Directorio vacio2 = new Directorio("Directorio Vacio En Archivo Comprimido"); Archivo a1 = new Archivo("foto001.jpg", 10); Archivo a2 = new Archivo("foto002.jpg", 10); Archivo a3 = new Archivo("foto003.jpg", 10); Archivo a4 = new Archivo("foto004.jpg", 10); Archivo a5 = new Archivo("foto005.jpg", 10); Archivo a6 = new Archivo("foto006.jpg", 10); Archivo a7 = new Archivo("foto007.jpg", 10); Archivo a8 = new Archivo("foto008.jpg", 10); ArchivoComprimido ac1 = new ArchivoComprimido("ccSimple.zip"); ArchivoComprimido ac2 = new ArchivoComprimido("ccComplejo.zip"); ArchivoComprimido ac3 = new ArchivoComprimido("ccAnidada.zip"); EnlaceDirecto e1 = new EnlaceDirecto(a1); EnlaceDirecto e2 = new EnlaceDirecto(ac1); EnlaceDirecto e3 = new EnlaceDirecto(vacio); // Creamos la estructura ac3.añadeArchivo(a7); ac2.añadeArchivo(ac3); ac2.añadeArchivo(a8); complejo.añadeElemento(a5); complejo.añadeElemento(a6); complejo.añadeElemento(ac2); anidado.añadeElemento(a4); anidado.añadeElemento(e2); anidado.añadeElemento(e3); anidado.añadeElemento(complejo); ac1.añadeArchivo(vacio2); ac1.añadeArchivo(a3); ac1.añadeArchivo(e1); comprimidoSimple.añadeElemento(a2); comprimidoSimple.añadeElemento(e1); comprimidoSimple.añadeElemento(ac1); unico.añadeElemento(a1); raiz.añadeElemento(vacio); raiz.añadeElemento(unico); raiz.añadeElemento(comprimidoSimple); raiz.añadeElemento(anidado); // Retornamos el directorio raíz return raiz; }
public string imprime(Directorio d) { string output = ""; output = tabulaciones() + d.Nombre + "\n"; tabs++; output += string.Concat(d.Elementos.Select(elemento => elemento.accept(this))); tabs--; return output; }
public string printDirectorio(Directorio d) { this.Contador++; String space = null; for (int i = 0; i < this.Contador; i++) { space = space + " "; } IList <IElto_Sistema_Archivos> eltos = d.Elementos; String todo = null; foreach (IElto_Sistema_Archivos e in eltos) { todo = todo + e.acceptImpresora(this); } this.Contador--; return(space + "d " + To.muestraNombre(d.Nombre) + System.Environment.NewLine + todo); }
public string printDirectorio(Directorio d) { String result = null; this.Contador++; string space = printTabulaciones(); IList <IElto_Sistema_Archivos> eltos = d.Elementos; String todo = null; foreach (IElto_Sistema_Archivos e in eltos) { todo = todo + e.acceptImpresora(this); } this.Contador--; if (To == null) { result = space + "d" + d.Nombre + System.Environment.NewLine + todo; } else { result = space + "d " + To.muestraNombre(d.Nombre) + System.Environment.NewLine + todo; } return(result); }
static void Main(string[] args) { //d Raiz // d Directorio Vacio // d Directorio Con Archivo Unico // f foto001.jpg // d Directorio Con Archivo Comprimido Simple // f foto002.jpg // e foto001.jpg // c ccSimple.zip // d Directorio Vacio En Archivo Comprimido // f foto003.jpg // e foto001.jpg // d Directorio con Directorio Anidado // f foto004.jpg // e ccSimple.zip // e Directorio Vacio // d Directorio con Archivo Comprimido Complejo // f foto005 // f foto006 // c ccComplejo.zip // c ccAnidada.zip // f foto007.jpg // f foto008.jpg /* * Directorio draiz = new Directorio("Raíz ñññ"); * * TipoOrtografiaStr to = new CatalanaStr(); * Impresora i = new ImpresoraCompacta(to); * Console.WriteLine(draiz.acceptImpresora(i)); * * Console.ReadLine(); */ Directorio draiz = new Directorio("Raiz"); Directorio duno = new Directorio("Directorio Vacio"); Directorio ddos = new Directorio("Directorio Con Archivo Unico"); draiz.Elementos.Add(duno); draiz.Elementos.Add(ddos); Archivo funo = new Archivo("foto001.jpg", 10.0); ddos.Elementos.Add(funo); Directorio dtres = new Directorio("ññññ áááá Con Archivo Comprimido Simple"); draiz.Elementos.Add(dtres); Archivo fdos = new Archivo("foto002.jpg", 20.0); Enlace euno = new Enlace(funo); Comprimido cuno = new Comprimido("ccSimple.zip"); dtres.Elementos.Add(fdos); dtres.Elementos.Add(euno); dtres.Elementos.Add(cuno); Directorio dcuatro = new Directorio("Directorio Vacio En Archivo Comprimido"); Archivo ftres = new Archivo("foto003.jpg", 30.0); Enlace edos = new Enlace(funo); cuno.EltosComp.Add(dcuatro); cuno.EltosComp.Add(ftres); cuno.EltosComp.Add(edos); Directorio dcinco = new Directorio("Directorio con Directorio Anidado"); draiz.Elementos.Add(dcinco); Archivo fcuatro = new Archivo("foto004.jpg", 30.0); Enlace etres = new Enlace(cuno); Enlace ecuatro = new Enlace(duno); Directorio dseis = new Directorio("Directorio con Archivo Comprimido Complejo"); dcinco.Elementos.Add(fcuatro); dcinco.Elementos.Add(etres); dcinco.Elementos.Add(ecuatro); dcinco.Elementos.Add(dseis); Archivo fcinco = new Archivo("foto005.jpg", 30.0); Archivo fseis = new Archivo("foto006.jpg", 30.0); Comprimido cdos = new Comprimido("ccComplejo.zip"); dseis.Elementos.Add(fcinco); dseis.Elementos.Add(fseis); dseis.Elementos.Add(cdos); Comprimido ctres = new Comprimido("ccAnidada.zip"); Archivo fsiete = new Archivo("foto00.jpg", 30.0); Archivo focho = new Archivo("foto008.jpg", 30.0); ctres.EltosComp.Add(fsiete); cdos.EltosComp.Add(ctres); cdos.EltosComp.Add(focho); BasicaFactory.init(); BotonMagico.print(draiz); EstandarFactory.init(); BotonMagico.print(draiz); ExtendidaGallegaFactory.init(); BotonMagico.print(draiz); ExtendidaCatalanaFactory.init(); BotonMagico.print(draiz); Console.WriteLine("Sitema archivos en abierta"); AbiertaFactory.init(); ImpresoraFactory afac = AbiertaFactory.getInstance(); afac.setProtoType(new YourOcreStr()); BotonMagico.print(draiz); Console.ReadLine(); }
static void Main(string[] args) { //Directorios Elemento d1 = new Directorio("Raiz"); Elemento d2 = new Directorio("Directorio Vacio"); Elemento d3 = new Directorio("Directorio Con Archivo Unico"); Elemento d4 = new Directorio("Directorio Con Archivo Comprimido Simple"); Elemento d5 = new Directorio("Directorio Vacio En Archivo Comprimido"); Elemento d6 = new Directorio("Directorio Con Directorio Anidado"); Elemento d7 = new Directorio("Directorio Con Archivo Comprimido Complejo"); //Archivos Elemento a1 = new Archivo("foto001.jpg", 50); Elemento a2 = new Archivo("foto002.jpg", 50); Elemento a3 = new Archivo("foto003.jpg", 50); Elemento a4 = new Archivo("foto004.jpg", 50); Elemento a5 = new Archivo("foto005.jpg", 50); Elemento a6 = new Archivo("foto006.jpg", 50); Elemento a7 = new Archivo("foto007.jpg", 50); Elemento a8 = new Archivo("foto008.jpg", 50); //Archivos comprimidos Elemento ac1 = new ArchivoComprimido("ccSimple.zip"); Elemento ac2 = new ArchivoComprimido("ccComplejo.zip"); Elemento ac3 = new ArchivoComprimido("ccAnidada.zip"); //Enlaces directos Elemento ed1 = new EnlaceDirecto(a1); Elemento ed2 = new EnlaceDirecto(a1); Elemento ed3 = new EnlaceDirecto(d2); Elemento ed4 = new EnlaceDirecto(ac1); //Añadir elementos a los directorios d1.add(d2); d1.add(d3); d3.add(a1); d1.add(d4); d4.add(a2); d4.add(ed1); d4.add(ac1); d1.add(d6); d6.add(a4); d6.add(ed4); d6.add(ed3); d6.add(d7); d7.add(a5); d7.add(a6); d7.add(ac2); //Añadir elementos a los archivos comprimidos ac1.add(d5); ac1.add(a3); ac1.add(ed2); ac2.add(ac3); ac3.add(a7); ac2.add(a8); IVisitor v1 = new ImpresionExtendida(); IVisitor v2 = new ImpresionCompacta(); Console.Out.Write("Impresión extendida del sistema de ficheros:\n\n"); Console.Out.Write(d1.accept(v1)); Console.Out.Write("\n\n--------------------------------------------------\n\n"); Console.Out.Write("Impresión compacta del sistema de ficheros:\n\n"); Console.Out.Write(d1.accept(v2)); Console.In.Read(); }
/// <summary> /// Función que declara una operación de visita para los /// objetos de tipo directorio. /// </summary> /// <param name="d"></param> /// <returns></returns> public abstract String formatoDirectorio(Directorio d);