Exemplo n.º 1
0
        /*Asignar datos en la memoria*/
        public void asignaDatosDat()
        {
            try
            {
                bool ban = true;
                bool banA;
                long dat = 0;
                int  nA  = entidades.ElementAt(pos).atributos.Count() - 1;
                Fichero      = new FileStream(nombreArchivoDAT, FileMode.Open, FileAccess.Read);
                binaryReader = new BinaryReader(Fichero);
                binaryReader.BaseStream.Seek(entidades.ElementAt(pos).direccion_Dato, SeekOrigin.Begin);
                while (ban)
                {
                    dat      = binaryReader.ReadInt64();
                    registro = new Registro(dat);
                    entidades.ElementAt(pos).registros.Add(registro);
                    banA = true;
                    int i = 0;
                    while (banA)
                    {
                        switch (entidades.ElementAt(pos).atributos[i].tipo_Dato)
                        {
                        case 'E':
                            int en = binaryReader.ReadInt32();
                            entidades.ElementAt(pos).registros.Last().element_Registro.Add(en);
                            break;

                        case 'C':
                            char[] c      = binaryReader.ReadChars(entidades.ElementAt(pos).atributos[i].longitud_Tipo);
                            string cadena = new string(c);
                            entidades.ElementAt(pos).registros.Last().element_Registro.Add(cadena);
                            break;
                        }
                        if (i < nA)
                        {
                            i++;
                        }
                        else
                        {
                            banA = false;
                        }
                    }
                    dat = binaryReader.ReadInt64();
                    entidades.ElementAt(pos).registros.Last().dir_sigRegistro = dat;

                    if (dat == -1)
                    {
                        ban = false;
                    }
                    else
                    {
                        binaryReader.BaseStream.Seek(dat, SeekOrigin.Begin);
                    }
                }
                Fichero.Close();
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }
        }
Exemplo n.º 2
0
        private bool cumpleWhere(Registro regis)
        {
            int  posAux = buscaAtributo(WhereList[0]);
            int  comp   = Convert.ToInt32(WhereList[2]);
            bool band   = false;

            switch (WhereList[1])
            {
            case "=":
                if (Convert.ToInt32(regis.element_Registro[posAux]) == comp)
                {
                    band = true;
                }
                else
                {
                    band = false;
                }
                break;

            case ">":
                if (Convert.ToInt32(regis.element_Registro[posAux]) > comp)
                {
                    band = true;
                }
                else
                {
                    band = false;
                }
                break;

            case "<":
                if (Convert.ToInt32(regis.element_Registro[posAux]) < comp)
                {
                    band = true;
                }
                else
                {
                    band = false;
                }
                break;

            case ">=":
                if (Convert.ToInt32(regis.element_Registro[posAux]) >= comp)
                {
                    band = true;
                }
                else
                {
                    band = false;
                }
                break;

            case "<=":
                if (Convert.ToInt32(regis.element_Registro[posAux]) <= comp)
                {
                    band = true;
                }
                else
                {
                    band = false;
                }
                break;

            case "<>":
                if (Convert.ToInt32(regis.element_Registro[posAux]) != comp)
                {
                    band = true;
                }
                else
                {
                    band = false;
                }
                break;
            }
            return(band);
        }