private void ConsultaEntidad_Load(object sender, EventArgs e) { foreach (Entidad busca in this.archivo.Entidades) { comboBoxEntidades.Items.Add(MetodosAuxiliares.truncaCadena(busca.Nombre)); } }
private void actualizaDataGridSQLConSelect(Entidad entidad, List <Atributo> atributos, List <Registro> registros, bool band) { int i; int j; string[] tupla; i = 0; tupla = new string[atributos.Count]; dataGridSQL.Columns.Clear(); dataGridSQL.ColumnCount = 0; dataGridSQL.Rows.Clear(); dataGridSQL.ColumnCount = atributos.Count; foreach (Atributo atributo in atributos) { if (band) { dataGridSQL.Columns[i].Name = MetodosAuxiliares.truncaCadena(atributo.Nombre) + " - " + MetodosAuxiliares.truncaCadena(atributo.Entidad); } else { dataGridSQL.Columns[i].Name = MetodosAuxiliares.truncaCadena(atributo.Nombre); } i++; } foreach (Registro registro in registros) { for (int k = 0; k < tupla.Length; k++) { j = entidad.buscaIndiceAtributo(atributos[k].Nombre, atributos[k].Entidad); tupla[k] = MetodosAuxiliares.truncaCadena(registro.Datos[j]); } dataGridSQL.Rows.Add(tupla); } }
private void SeleccionRegistro_Load(object sender, EventArgs e) { this.comboEntidades.Items.Clear(); bool band; string primeraLlave; band = entidad.Atributos[entidad.buscaIndiceClavePrimaria()].Tipo.Equals('C'); foreach (string key in this.entidad.LlavePrimaria) { if (band) { this.comboEntidades.Items.Add(MetodosAuxiliares.truncaCadena(key)); } else { this.comboEntidades.Items.Add(key); } } primeraLlave = this.entidad.LlavePrimaria.First(); if (band) { primeraLlave = MetodosAuxiliares.truncaCadena(primeraLlave); } this.comboEntidades.Text = primeraLlave; }
public void altaHash(string llave, long direccion, string directorio) { bool band; band = false; band = this.tipo.Equals('C'); if (this.dirIndice == -1) { HashEstatica hash; hash = new HashEstatica(this.nombre, this.dirIndice, this.longitud, -1, band); this.indices.Add(hash); this.dirIndice = MetodosAuxiliares.ultimaDireccionDeArchivo(directorio); this.grabaDireccionesHash(directorio, hash); for (int i = 0; i < hash.Direcciones.Length; i++) { hash.Direcciones[i] = MetodosAuxiliares.ultimaDireccionDeArchivo(directorio); this.grabaApuntadoresHash(directorio, hash, hash.Direcciones[i], i); } this.grabaDireccionesHash(directorio, hash); } int idx; idx = ((HashEstatica)this.indices.First()).alta(band, MetodosAuxiliares.truncaCadena(llave).ToCharArray(), this.longitud, direccion); this.grabaApuntadoresHash(directorio, ((HashEstatica)this.indices.First()), ((HashEstatica)this.indices.First()).Direcciones[idx], idx); }
private void actualizaDataGridRegistros(Entidad entidad) { dataGridRegistros.Columns.Clear(); dataGridRegistros.ColumnCount = 0; dataGridRegistros.Rows.Clear(); dataGridRegistros.ColumnCount = entidad.Atributos.Count + 2; dataGridRegistros.Columns[0].Name = "Dirección Actual"; dataGridRegistros.Columns[dataGridRegistros.ColumnCount - 1].Name = "Dirección Siguiente"; int i; i = 1; foreach (Atributo atributo in entidad.Atributos) { dataGridRegistros.Columns[i].Name = MetodosAuxiliares.truncaCadena(atributo.Nombre); i++; } i = 0; foreach (Registro registro in entidad.Valores) { int j = 1; int k = 0; dataGridRegistros.Rows.Add(); dataGridRegistros.Rows[i].Cells[0].Value = registro.DirAct; dataGridRegistros.Rows[i].Cells[dataGridRegistros.ColumnCount - 1].Value = registro.DirSig; foreach (Atributo atributo in entidad.Atributos) { dataGridRegistros.Rows[i].Cells[j].Value = MetodosAuxiliares.truncaCadena(registro.Datos[k++]); j++; } i++; } }
private void Consulta_Click(object sender, EventArgs e) { this.listBoxAtributos.Items.Clear(); if (!string.IsNullOrEmpty(this.comboBoxEntidades.Text)) { Registro registro; string llave; llave = this.comboBoxEntidades.Text; if (this.band) { llave = MetodosAuxiliares.ajustaCadena(llave, this.tam); } registro = this.entidad.Registros[llave]; if (registro != null) { this.textBoxDirAct.Text = registro.DirAct.ToString(); this.textBoxDirSig.Text = registro.DirSig.ToString(); foreach (string dato in registro.Datos) { this.listBoxAtributos.Items.Add(MetodosAuxiliares.truncaCadena(dato)); } } } else { MessageBox.Show("Por favor seleccione una entidad", "Error"); } }
private void Consulta_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(comboBoxEntidades.Text)) { string aux = MetodosAuxiliares.ajustaCadena(comboBoxEntidades.Text, Constantes.tam); foreach (Entidad entidad in this.archivo.Entidades) { if (aux.Equals(entidad.Nombre)) { textBoxDirAct.Text = entidad.DirActual.ToString(); textBoxDirAtrib.Text = entidad.DirAtributos.ToString(); textBoxDirReg.Text = entidad.DirRegistros.ToString(); textBoxDirSig.Text = entidad.DirSig.ToString(); listBoxAtributos.Items.Clear(); foreach (Atributo atributo in entidad.Atributos) { listBoxAtributos.Items.Add(MetodosAuxiliares.truncaCadena(atributo.Nombre)); } } } } else { MessageBox.Show("Por favor seleccione una entidad"); } }
private void ModificaAtributo_Load(object sender, EventArgs e) { foreach (Entidad entidad in this.archivo.Entidades) { this.comboBox1.Items.Add(MetodosAuxiliares.truncaCadena(entidad.Nombre)); comboEntidad.Items.Add(MetodosAuxiliares.truncaCadena(entidad.Nombre)); } }
public List <string> obtenLllavesEntidad(long direccion, ref string entidad) { Entidad referencia; referencia = this.archivo.buscaEntidad(direccion); entidad = MetodosAuxiliares.truncaCadena(referencia.Nombre); return(referencia.LlavePrimaria); }
private void EliminarAtributo_Load(object sender, EventArgs e) { this.comboEntidad.Items.Clear(); foreach (Entidad busca in archivo.Entidades) { this.comboEntidad.Items.Add(MetodosAuxiliares.truncaCadena(busca.Nombre)); } }
public SeleccionEntidad(Archivo archivo) { entidades = new List <string>(); foreach (Entidad entidad in archivo.Entidades) { this.entidades.Add(MetodosAuxiliares.truncaCadena(entidad.Nombre)); } InitializeComponent(); }
public void altaRegistro(string directorio, List <string> informacion) { try { if (this.existeClaveDeBusqueda() && this.existeIndicePrimario()) { int indiceLlavePrimaria; long dir; string archivoDat; string archivoIdx; Registro registro; FileStream abierto; archivoDat = directorio + "\\" + MetodosAuxiliares.truncaCadena(this.nombre) + ".dat"; archivoIdx = directorio + "\\" + MetodosAuxiliares.truncaCadena(this.nombre) + ".idx"; indiceLlavePrimaria = this.buscaIndiceClavePrimaria(); abierto = new FileStream(archivoDat, FileMode.Append); //abre el archivo en un file stream dir = (long)abierto.Seek(0, SeekOrigin.End); //Calcula la direccion final del archivo y lo mete en un long abierto.Close(); //Cierra el file Strea registro = new Registro(dir, informacion); this.registros.Add(informacion[indiceLlavePrimaria], registro); int i; i = -1; foreach (Atributo atributo in this.atributos) { i++; switch (atributo.Indice) { case 2: //Indice Primario atributo.altaIndicePrimario(informacion[indiceLlavePrimaria], dir, archivoIdx); break; case 4: //Indice Secundario atributo.altaIndiceSecundario(informacion[i], dir, archivoIdx); break; case 5: atributo.altaHash(informacion[i], dir, archivoIdx); break; } } this.ajustaDireccionesRegistros(); foreach (Registro registroAux in this.registros.Values) { this.grabaRegistro(registroAux, archivoDat); } } else { MessageBox.Show("Falta un atributo llave primaria o clave de busqueda", "Error"); } } catch (Exception e) { MessageBox.Show(e.Message); } }
private void comboEntidad_SelectedIndexChanged(object sender, EventArgs e) { entidad = archivo.buscaEntidad(MetodosAuxiliares.ajustaCadena(this.comboEntidad.Text, Constantes.tam)); comboAtributo.Items.Clear(); comboAtributo.Text = ""; foreach (Atributo atributo in entidad.Atributos) { comboAtributo.Items.Add(MetodosAuxiliares.truncaCadena(atributo.Nombre)); } }
private void comboAtributo_SelectedIndexChanged(object sender, EventArgs e) { Atributo atributo; atributo = entidad.buscaAtributo(MetodosAuxiliares.ajustaCadena(comboAtributo.Text, Constantes.tam)); this.textBoxNombre.Text = MetodosAuxiliares.truncaCadena(atributo.Nombre); this.comboBoxTipo.Text = atributo.Tipo.ToString(); this.textBoxLong.Text = atributo.Longitud.ToString(); this.comboInidice.Text = comboInidice.Items[atributo.Indice].ToString(); }
public AltaAtributo(Archivo archivo) { this.entidades = new List <string>(); this.archivo = archivo; foreach (Entidad entidad in archivo.Entidades) { this.entidades.Add(MetodosAuxiliares.truncaCadena(entidad.Nombre)); } InitializeComponent(); }
private void actualizaComboEntidadRegistros() { this.comboBoxEntidad.Items.Clear(); foreach (Entidad entidad in archivo.Entidades) { if (entidad.DirRegistros != -1) { this.comboBoxEntidad.Items.Add(MetodosAuxiliares.truncaCadena(entidad.Nombre)); } } }
private void actualizaComboIndiceSecundario(Entidad entidad) { this.comboBoxAtributosSecundarios.Items.Clear(); foreach (Atributo atributo in entidad.Atributos) { if (atributo.Indice == 4) { this.comboBoxAtributosSecundarios.Items.Add(MetodosAuxiliares.truncaCadena(atributo.Nombre)); } } if (this.comboBoxAtributosSecundarios.Items.Count > 0) { this.comboBoxAtributosSecundarios.Text = this.comboBoxAtributosSecundarios.Items[0].ToString(); } }
public bool estaVacio() { bool band; band = true; foreach (string llave in this.llaves) { if (!("-1").Equals(MetodosAuxiliares.truncaCadena(llave))) { band = false; break; } } return(band); }
private int espacioLibre() { int j; j = -1; for (int i = 0; i < this.llaves.Length; i++) { if (MetodosAuxiliares.truncaCadena(this.llaves[i]).Equals("-1")) { j = i; break; } } return(j); }
private void actualizaDataGreedEntidad() { dataGridEntidad.Rows.Clear(); if (dataGridEntidad.Columns.Count > 0) { foreach (Entidad entidad in archivo.Entidades) { dataGridEntidad.Rows.Add(MetodosAuxiliares.truncaCadena(entidad.Nombre), entidad.DirActual, entidad.DirRegistros, entidad.DirAtributos, entidad.DirSig); } } }
private void ConsultaRegistro_Load(object sender, EventArgs e) { this.band = this.entidad.Atributos[this.entidad.buscaIndiceClavePrimaria()].Tipo.Equals('C'); this.tam = this.entidad.Atributos[this.entidad.buscaIndiceClavePrimaria()].Longitud; string llaveAux; foreach (string llave in this.entidad.LlavePrimaria) { llaveAux = llave; if (band) { llaveAux = MetodosAuxiliares.truncaCadena(llaveAux); } } }
public void elimminaHash(string llave, long direccion, string directorio) { if (this.dirIndice != -1) { bool band; int idx; band = this.tipo.Equals('C'); HashEstatica hash; hash = ((HashEstatica)this.indices.First()); idx = hash.baja(band, MetodosAuxiliares.truncaCadena(llave).ToCharArray(), this.longitud, direccion); this.grabaApuntadoresHash(directorio, hash, hash.Direcciones[idx], idx); if (hash.vacio()) { this.dirIndice = -1; } } }
public void leeRegistros(string directorio) { try { Registro registro; List <string> informacion = new List <string>(); int i; long dirSig; directorio += "\\" + MetodosAuxiliares.truncaCadena(this.nombre) + ".dat"; i = 0; dirSig = this.dirRegistros; while (dirSig != -1) { using (reader = new BinaryReader(new FileStream(directorio, FileMode.Open))) //Abre el archivo con el BinaryWriter { this.reader.ReadBytes((int)dirSig); //Posiciona el grabado del archivo en la dirección actual foreach (Atributo atributo in this.Atributos) { if (atributo.Tipo.Equals('E')) { informacion.Add(this.reader.ReadInt32().ToString()); } else if (atributo.Tipo.Equals('D')) { informacion.Add(this.reader.ReadSingle().ToString()); } else if (atributo.Tipo.Equals('C')) { informacion.Add(new string(this.reader.ReadChars(atributo.Longitud))); } i++; } registro = new Registro(dirSig, informacion); dirSig = registro.DirSig = this.reader.ReadInt64(); dirSig = registro.DirSig = this.reader.ReadInt64(); this.registros.Add(informacion[this.buscaIndiceClavePrimaria()], registro); informacion = new List <string>(); } } } catch (Exception e) { MessageBox.Show(e.Message); } }
private void comboEntidad_SelectedIndexChanged(object sender, EventArgs e) { this.comboAtributo.Items.Clear(); this.entidad = archivo.buscaEntidad(MetodosAuxiliares.ajustaCadena(this.comboEntidad.Text, Constantes.tam)); foreach (Atributo buscando in entidad.Atributos) { comboAtributo.Items.Add(MetodosAuxiliares.truncaCadena(buscando.Nombre)); } if (this.comboAtributo.Items.Count > 0) { this.comboAtributo.Text = this.comboAtributo.Items[0].ToString(); } else { this.comboAtributo.Text = ""; this.comboAtributo_SelectedIndexChanged(comboAtributo, null); } }
private void ConsultaAtributo_Load(object sender, EventArgs e) { this.comboEntidad.Items.Clear(); foreach (Entidad busca in this.archivo.Entidades) { this.comboEntidad.Items.Add(MetodosAuxiliares.truncaCadena(busca.Nombre)); } this.comboEntidad.Text = this.comboEntidad.Items[0].ToString(); if (this.comboAtributo.Items.Count > 0) { this.comboAtributo.Text = this.comboAtributo.Items[0].ToString(); } else { this.comboAtributo.Text = ""; this.comboAtributo_SelectedIndexChanged(comboAtributo, null); } }
private void ComboBoxAtributosHash_SelectedIndexChanged_1(object sender, EventArgs e) { Entidad entidad; entidad = archivo.buscaEntidad(MetodosAuxiliares.ajustaCadena(this.comboBoxEntidad.Text, Constantes.tam)); this.dataGridHash.Rows.Clear(); foreach (Atributo atributo in entidad.Atributos) { if (MetodosAuxiliares.truncaCadena(atributo.Nombre).Equals(this.ComboBoxAtributosHash.Text)) { foreach (Indice indice in atributo.Indices) { for (int i = 0; i < ((HashEstatica)indice).Direcciones.Length; i++) { this.dataGridHash.Rows.Add(i.ToString(), ((HashEstatica)indice).Direcciones[i].ToString()); } } break; } } }
private void actualizaDataGreedAtrib() { dataGridAtrib.Rows.Clear(); foreach (Entidad entidad in archivo.Entidades) { foreach (Atributo atributo in entidad.Atributos) { dataGridAtrib.Rows.Add(MetodosAuxiliares.truncaCadena(entidad.Nombre), MetodosAuxiliares.truncaCadena(atributo.Nombre), atributo.DirActual, atributo.Tipo, MetodosAuxiliares.traduceIndice(atributo.Indice), atributo.Longitud, atributo.DirIndice, atributo.DirSig); } if (entidad.Atributos.Count != 0) { dataGridAtrib.Rows.Add("-", "-", "-", "-", "-", "-", "-", "-"); } } }
private void DataGridHash_CellContentClick(object sender, DataGridViewCellEventArgs e) { int i; Entidad entidad; Atributo atributo; HashEstatica hash; DataGridViewCell cell; cell = dataGridHash.Rows[e.RowIndex].Cells[0]; entidad = this.archivo.buscaEntidad(MetodosAuxiliares.ajustaCadena(this.comboBoxEntidad.Text, Constantes.tam)); atributo = entidad.buscaAtributo(MetodosAuxiliares.ajustaCadena(this.ComboBoxAtributosHash.Text, Constantes.tam)); this.dataGridHashAuxiliar.Rows.Clear(); i = Int32.Parse(cell.Value.ToString()); hash = ((HashEstatica)atributo.Indices.First()); for (int j = 0; j < hash.Longitud; j++) { if (hash.Apuntadores[i, j] != -1) { this.dataGridHashAuxiliar.Rows.Add(MetodosAuxiliares.truncaCadena(hash.Llaves[i, j]), hash.Apuntadores[i, j]); } } }
private void ComboBoxAtributosForaneos_SelectedIndexChanged(object sender, EventArgs e) { Entidad entidad; entidad = archivo.buscaEntidad(MetodosAuxiliares.ajustaCadena(comboBoxEntidad.Text, Constantes.tam)); this.dataGridSecundario.Rows.Clear(); foreach (Atributo atributo in entidad.Atributos) { if (MetodosAuxiliares.truncaCadena(atributo.Nombre).Equals(this.comboBoxAtributosSecundarios.Text)) { foreach (Indice indice in atributo.Indices) { for (int i = 0; i < ((Secundario)indice).Llaves.Length; i++) { if (!MetodosAuxiliares.truncaCadena(((Secundario)indice).Llaves[i]).Equals("-1")) { this.dataGridSecundario.Rows.Add(MetodosAuxiliares.truncaCadena(((Secundario)indice).Llaves[i]), ((Secundario)indice).Direcciones[i]); } } } break; } } }
public override string ToString() { return(MetodosAuxiliares.truncaCadena(this.llave) + "," + this.direccion.ToString()); }