private void bt_nuevoAtrib_Click(object sender, EventArgs e) { String nameAuxiliar = tb_nombreAtrib.Text; String name = nameAuxiliar.ToLower(); int nTab = 0; for (int j = 0; j < entidadT.Count; j++) { if (entidadActual == entidadT[j].NombreEnt.Replace("\0", " ").Replace(" ", "")) { nTab = j; j = entidadT.Count + 1; } } if (!entidadT[nTab].Datos) { if (!entidadT[nTab].Primaria || Cb_Index.Text == "0(Sin_tipo)" || Cb_Index.Text == "1(Clave_de_busqueda)" || Cb_Index.Text == "3(Indice_secundario)") { if (!entidadT[nTab].Cve_busqueda || Cb_Index.Text == "0(Sin_tipo)" || Cb_Index.Text == "2(Indice_primario)" || Cb_Index.Text == "3(Indice_secundario)") { if (!entidadT[nTab].Secundaria || Cb_Index.Text == "0(Sin_tipo)" || Cb_Index.Text == "2(Indice_primario)" || Cb_Index.Text == "1(Clave_de_busqueda)") { if (flagSelE == true) { if (comparaNombre(name) == true) { string tipoS = Cb_Dato.Text; string tipo = Cb_Index.Text; int atlong = 0; int atIndice = 0; switch (Cb_Index.Text) { case "0(Sin_tipo)": atIndice = 0; break; case "1(Clave_de_busqueda)": atIndice = 1; entidadT[nTab].Cve_busqueda = true; break; case "2(Indice_primario)": atIndice = 2; entidadT[nTab].Primaria = true; break; case "3(Indice_secundario)": entidadT[nTab].Secundaria = true; atIndice = 3; break; case "4(Arbol_primario)": atIndice = 4; break; case "5(Arbol_secundario)": atIndice = 5; break; } char tipoo = ' '; switch (Cb_Dato.Text) { case "Entero": tipoo = 'e'; atlong = 4; break; case "Cadena": tipoo = 'c'; atlong = Convert.ToInt32(tb_Long.Text); break; } atributosL.Add(name); Atributo auxAt = new Atributo(name, tipoo, atlong, atIndice, Convert.ToInt32(ArchivoBin.dir), -1, -1); //dataGridView1.Rows.Add(auxAt.IdHex, name, tipoo, atlong, ArchivoBin.dir, atIndice, -1, -1); if (atIndice == 2) { String creaDatos = carpeta + @"\" + auxAt.IdHex + ".idx"; if (File.Exists(@creaDatos)) { MessageBox.Show("La Entidad existe"); } else { using (FileStream archivo = new FileStream(creaDatos, FileMode.Create)) { archivo.Close(); } } } if (atributosL.Count > 1) { atActual.DirSigAt = ArchivoBin.dir; archBB.escribeAtributo(atActual.DirAt, atActual); } else { entidadT[nTab].DirPriAt = ArchivoBin.dir; archBB.escribeEntidad(entidadT[nTab].DirEnt, entidadT[nTab]); } atActual = auxAt; archBB.escribeAtributo(atActual.DirAt, atActual); atribT.Add(atActual); ArchivoBin.dir += 73; actualizaTablas(); comboBox1.Items.Add(atActual.NombreAt); tb_nombreAtrib.Clear(); tb_Long.Clear(); Cb_Dato.Text = ""; Cb_Index.Text = ""; } else { MessageBox.Show("El atributo ya existe"); } } else { MessageBox.Show("No se ha seleccionado Entidad"); } } else { MessageBox.Show("Ya tiene un indice secundario"); } } else { MessageBox.Show("Ya tiene una Clave de busqueda"); } } else { MessageBox.Show("Ya tiene un indice primario"); } } else { MessageBox.Show("No se pueden crear mas atributos ya existen datos"); } }
private void bt_nuevoDato_Click(object sender, EventArgs e) { generaLista(); if (borrarDat()) { File.Delete(archDat.NombreArch); using (FileStream archivo = new FileStream(archDat.NombreArch, FileMode.Create)) { archivo.Close(); } if (idxP) { File.Delete(archIdxP.NombreArch); using (FileStream archivo = new FileStream(archIdxP.NombreArch, FileMode.Create)) { archivo.Close(); } } if (idxS) { File.Delete(archidxS.nombreArch); using (FileStream archivo = new FileStream(archidxS.nombreArch, FileMode.Create)) { archivo.Close(); } } if (arbolpri) { File.Delete(ArbolPri.nombreArch); using (FileStream archivo = new FileStream(ArbolPri.nombreArch, FileMode.Create)) { archivo.Close(); } } if (arbolS) { File.Delete(ArbolSec.nombreArch); using (FileStream archivo = new FileStream(ArbolSec.nombreArch, FileMode.Create)) { archivo.Close(); } } entidades[sele].DirDatos = archivoDatos.dir; } if (idxP) { if (archIdxP.existe(datosAux[campoidx])) { MessageBox.Show("Ya existe el indice primario"); return; } } archDat.escribeDato(archivoDatos.dir, datosAux); todosDatos.Add(datosAux); ordena(); buscaAux(); if (idxP) { insertaidxP(datosAux[campoidx], datosAux[0]); actualizaDataidxp(); atributos[campoidx - 1].DirIndice = 0; dic.escribeAtributo(atributos[campoidx - 1].DirAt, atributos[campoidx - 1]); } if (idxS) { archidxS.insertaEnBP(datosAux[campoidxS], datosAux[0]); archidxS.escribeBP(); archidxS.escribeSC(); actualizaDataidxs(); dic.escribeAtributo(atributos[campoidxS - 1].DirAt, atributos[campoidxS - 1]); } if (arbolpri) { ArbolPri.inserta(datosAux[campoArbPri], Convert.ToInt64(datosAux[0])); escribeArbolPrim(); atributos[campoArbPri - 1].DirIndice = ArbolPri.raiz; dic.escribeAtributo(atributos[campoArbPri - 1].DirAt, atributos[campoArbPri - 1]); ArbolPri.escribetodo(); } if (arbolS) { ArbolSec.inserta(datosAux[campoArbolS], Convert.ToInt64(datosAux[0])); escribeArbolS(); atributos[campoArbolS - 1].DirIndice = ArbolSec.raiz; dic.escribeAtributo(atributos[campoArbolS - 1].DirAt, atributos[campoArbolS - 1]); ArbolSec.escribetodo(); } dic.escribeEntidad(entidades[sele].DirEnt, entidades[sele]); llenaDgvEst(); }