public bool cargaUsuarios(string direccion, Binario <Persona> arbol_usuarios)//codigo basico para leer un archivo { bool todo_bien; StreamReader archivo = new StreamReader(direccion); string entrada = ""; string[] split; Persona actual; try { if (archivo.Peek() > -1) { entrada = archivo.ReadLine();//me como la primera linea porque por lo visto es una cabezera } while (archivo.Peek() > -1) { entrada = archivo.ReadLine(); if (!string.IsNullOrEmpty(entrada)) { split = entrada.Split(','); actual = new Persona(split[1], split[2], split[3]); //actual.setConectado(split[3]); arbol_usuarios.insertar(actual, split[0]); } } todo_bien = true; } catch (Exception e) { todo_bien = false; } archivo.Close(); return(todo_bien); }
public static bool graficarArbolBinario(Binario <Persona> mi_arbol, string ruta_destino, string nombre_dot, string nombre_png) { string path_principal = string.Format(@"{0}Dots\", AppDomain.CurrentDomain.BaseDirectory);//path donde se instale el coso string ruta_dot = Path.Combine(path_principal, nombre_dot); string ruta_png = Path.Combine(ruta_destino, nombre_png); limpiarFiles(ruta_dot, ruta_png); bool bandera; if (guardarDot(codigoArbol(mi_arbol), nombre_dot))//1.guardamos el codigo { string comando; comando = "dot " + "-Tpng \"" + ruta_dot + "\" -o \"" + ruta_png + "\""; if (llamarCMD(comando)) { bandera = true; } else { bandera = false; } } else { bandera = false; } return(bandera); }
/// <summary> /// Guarda en un archivo binario un turno /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnGuardarBinario_Click(object sender, EventArgs e) { try { var auxTurno = (Turnos)lstBoxTurnosTerminados.SelectedItem; var auxPaciente = PacientesDAO.TraerPorId(auxTurno.IdPaciente); if (auxPaciente is null) { auxPaciente = Paciente.BuscarPacienteEnListaXmlPorId(AgregarTurnoForm.ListaPacientesXml, auxTurno.IdPaciente); } Binario binarioTurno = new Binario(); binarioTurno.Ruta = String.Format("{0}\\SegundoParcialUtn\\TurnosClinica\\{1}-{2}-{3}.bin", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), auxPaciente.Apellido, auxPaciente.Nombre, auxTurno.FechaTurno.ToString("MMMM dd")); bool success = binarioTurno.Guardar(auxTurno); if (!success) { MessageBox.Show("No se pudo binarizar el turno"); } } catch (Exception ex) { Texto error = new Texto(); error.Guardar($"{ex.Message} - Metodo: btnGuardarBinario_Click()"); } }
private static string codigoArbol(Binario <Persona> mi_arbol)//funcion para generar el codigo del arbol binario de busqueda { string salida = "digraph g{\n"; Nodo <Persona> aux = mi_arbol.raiz; salida += codigoNodos(aux); salida += "}"; return(salida); }
public void ValidarBinario() { Paciente paciente = new Paciente(1, "Joe", "Morello", 7, "masculino", "Avellaneda 123", Cobertura.CoberturaCompleta); Binario <Paciente> pacienteBinario = new Binario <Paciente>(); string archivo = "SerilizarBinario.Paciente"; string ruta = (Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + ".\\SegundoParcialUtn\\ArchivosClinica\\"); Assert.IsTrue(pacienteBinario.Escribir(archivo, ruta, paciente)); }
public void TestDeserializarTurnoEnBinario() { //arrange Turnos auxTurno = new Turnos(); Binario auxBinario = new Binario(); //act auxBinario.Ruta = String.Format("{0}\\SegundoParcialUtn\\TurnosClinica\\TurnoBinarioTest.bin", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)); auxTurno = auxBinario.Leer(); //assert Assert.AreEqual(1, auxTurno.IdTurno); }
public void TestSerializarTurnoEnBinario() { //arrange Turnos auxTurno = new Turnos(1, 2, 3, "Prueba", DateTime.Now); Binario auxBinario = new Binario(); //act auxBinario.Ruta = String.Format("{0}\\SegundoParcialUtn\\TurnosClinica\\TurnoBinarioTest.bin", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)); bool success = auxBinario.Guardar(auxTurno); //assert Assert.IsTrue(success); }
private void Converte(object sender, RoutedEventArgs e) { //da binario a decimale if (Binario.Text == "" && Decimale.Text == "") { MessageBox.Show("Devi inserire un valore in una delle due caselle di testo!"); } else if ((Binario.Text != "" && Decimale.Text == "") || focusBin) { int decimale = 0; for (int i = Binario.Text.Length - 1; i >= 0; i--) { //la stringa in C# può essere gestita anche come array di caratteri if (Binario.Text[i] == '1') { decimale = decimale + (int)Math.Pow(2, i); //ho fatto il casting perchè Math.pow() restituisce un double } } Decimale.Text = decimale.ToString(); Decimale.Focus(); } //Fine da binario a decimale //da decimale a binario else if ((Binario.Text == "" && Decimale.Text != "") || focusDec) { Binario.Text = ""; for (int i = Convert.ToInt32(Decimale.Text); i >= 1; i = i / 2) { Binario.Text += (i % 2).ToString(); } String s = Binario.Text; Binario.Text = ""; for (int i = s.Length - 1; i >= 0; i--) { Binario.Text = Binario.Text + s[i]; } //fine da decimale a binario Binario.Focus(); } /*var b = (Button)sender; * b.IsEnabled = false;*/ }
public bool cargaJuegos(string direccion, ref Binario <Persona> arbol_usuarios) { bool todo_bien; StreamReader archivo = new StreamReader(direccion); string entrada = ""; string[] split; Juego actual; try { if (archivo.Peek() > -1) { entrada = archivo.ReadLine();//me como la primera linea porque por lo visto es una cabezera } Nodos.Nodo <Persona> aux; while (archivo.Peek() > -1) { entrada = archivo.ReadLine(); if (!string.IsNullOrEmpty(entrada)) { split = entrada.Split(','); aux = arbol_usuarios.buscar(split[0]); if (aux != null) { actual = new Juego(split[0], split[1], int.Parse(split[2]), int.Parse(split[3]), int.Parse(split[4]), split[5]); aux.Item.juegos.pushTop(actual); //arbol_usuarios.modificar(aux.Item, aux.Key);//nuevo } //actual.setConectado(split[3]); //arbol_usuarios.insertar(actual, split[0]); } } todo_bien = true; } catch (Exception e) { todo_bien = false; } archivo.Close(); return(todo_bien); }
public static void Test() { Binario suma = (a, b) => a + b; var x = suma(10, 20); }
public IProcessadorDeBinario Obter(Binario binario) { PopulaSeNecessario(); return(processadoresBinario[binario]); }
static void Main(string[] args) { //Xml<Item> archivosXml = new Xml<Item>(); //Texto archivosTexto = new Texto(); IArchivo <Item> archivosXml = new Xml <Item>(); IArchivo <string> archivosTexto = new Texto(); IArchivo <Item> archivosBinario = new Binario <Item>(); string rutaArchivoXml = AppDomain.CurrentDomain.BaseDirectory + "xmlfile.xml"; if (archivosXml.Guardar(rutaArchivoXml, new Item("Olga", 32, 1.5f))) { Console.WriteLine("El archivo XML se guardó con éxito"); } else { Console.WriteLine("El archivo XML NO se guardó"); } string rutaArchivoTexto = AppDomain.CurrentDomain.BaseDirectory + "txtfile.txt"; if (archivosTexto.Guardar(rutaArchivoTexto, new Item("Olga", 32, 1.5f).ToString())) { Console.WriteLine("El archivo de texto se guardó con éxito"); } else { Console.WriteLine("El archivo de texto NO se guardó"); } string rutaArchivoBinario = AppDomain.CurrentDomain.BaseDirectory + "data.bin"; if (archivosBinario.Guardar(rutaArchivoBinario, new Item("María", 23, 1.2f))) { Console.WriteLine("El archivo de binario se guardó con éxito"); } else { Console.WriteLine("El archivo de binario NO se guardó"); } Console.ReadKey(); Console.Clear(); Item item; Console.WriteLine("XML:"); if (archivosXml.Leer(rutaArchivoXml, out item)) { Console.WriteLine(item.ToString()); } else { Console.WriteLine("El archivo XML NO se leyó"); } Console.WriteLine("<==========================================>"); Console.WriteLine("TXT:"); string contenido; if (archivosTexto.Leer(rutaArchivoTexto, out contenido)) { Console.WriteLine(contenido); } else { Console.WriteLine("El archivo de texto NO se leyó"); } Console.WriteLine("<==========================================>"); Console.WriteLine("BINARIO:"); if (archivosBinario.Leer(rutaArchivoBinario, out item)) { Console.WriteLine(item.ToString()); } else { Console.WriteLine("El archivo de binario NO se leyó"); } Console.ReadKey(); }
public void Descomprimir(string RutaOriginal, string RutaDestino) { byte[] SizeMetaData = new byte[4]; byte[] Metadata; byte[] LengthByte = new byte[4]; int PosVector = 0; int Posicion = 0; ArchivoDestino = new FileStream(RutaDestino, FileMode.OpenOrCreate); ArchivoOriginal = new FileStream(RutaOriginal, FileMode.Open); using var reader = new BinaryReader(ArchivoOriginal); var buffer = new byte[500]; Dictionary <string, int> DicByte = new Dictionary <string, int>(); Dictionary <int, string> DicValores = new Dictionary <int, string>(); //Obtener Cantidad de Datos para la tabla ArchivoOriginal.Seek(0, SeekOrigin.Begin); ArchivoOriginal.Read(SizeMetaData, 0, 4); int Size = BitConverter.ToInt32(SizeMetaData, 0); int Total = Size / 4; Metadata = new byte[Size]; //Tamaño del bit comprimido ArchivoOriginal.Seek(4, SeekOrigin.Begin); ArchivoOriginal.Read(LengthByte, 0, 2); int AutoCompletar = BitConverter.ToInt32(LengthByte, 0); // Realizar tabla ArchivoOriginal.Seek(8, SeekOrigin.Begin); ArchivoOriginal.Read(Metadata, 0, Size); string Variables = ""; string Binario; foreach (var Item in Metadata) { Binario = Convert.ToString(Item, 2).PadLeft(8, '0'); Variables += Convert.ToChar(Item) + ","; if (!DicByte.ContainsKey(Binario)) { DicByte.Add(Binario, ++Posicion); DicValores.Add(Posicion, Binario); } } string AuxTexto = ""; Binario = ""; int PosicionArchivo = 0; int CodigoAnterior = 0; int CodigoNuevo = 0; string CadenaActual = ""; string Caracter = ""; string TextoWrite = ""; bool PrimeraPos = true; while (ArchivoOriginal.Position < ArchivoOriginal.Length) { buffer = reader.ReadBytes(500); foreach (var Item in buffer) { Binario += Convert.ToString(Item, 2).PadLeft(8, '0'); byte[] BufferW = new byte[500]; while (Binario.Length >= AutoCompletar) { AuxTexto = Binario.Substring(0, AutoCompletar); Binario = Binario.Substring(AutoCompletar); if (!PrimeraPos) { CodigoNuevo = Convert.ToInt32(AuxTexto, 2); if (!DicValores.ContainsKey(CodigoNuevo)) { CadenaActual = DicValores[CodigoAnterior]; CadenaActual += Caracter; } else { CadenaActual = DicValores[CodigoNuevo]; } int Limite = CadenaActual.Length / 8; TextoWrite = CadenaActual; for (int i = 0; i < Limite; i++) { string VecByte = TextoWrite.Substring(0, 8); TextoWrite = TextoWrite.Substring(8); BufferW[PosVector++] = Convert.ToByte(VecByte, 2); PosicionArchivo++; } Caracter = CadenaActual.Substring(0, 8); DicByte.Add(DicValores[CodigoAnterior] + Caracter, ++Posicion); DicValores.Add(Posicion, DicValores[CodigoAnterior] + Caracter); CodigoAnterior = CodigoNuevo; } else { CodigoAnterior = Convert.ToInt32(AuxTexto, 2); Caracter = DicValores[CodigoAnterior]; BufferW[PosVector++] = Convert.ToByte(Caracter, 2); PosicionArchivo++; PrimeraPos = false; } ArchivoDestino.Write(BufferW, 0, PosVector); ArchivoDestino.Flush(); PosVector = 0; } } } ArchivoDestino.Close(); }