コード例 #1
0
    }                                     // número de registros

    public bool ponerValorEn(int i, CRegistro objeto)

    {
        if (i >= 0 && i <= nregs)
        {
            // Los 1 o 2 primeros bytes que escribe Write indican la
            // longitud de la cadena que escribe a continuación,
            // información utilizada por ReadString para recuperarla.
            if (objeto.tamaño() + 2 > tamañoReg)
            {
                Console.WriteLine("tamaño del registro excedido");
            }
            else
            {
                // Situar el puntero de L/E en el registro i.
                bw.BaseStream.Seek(i * tamañoReg, SeekOrigin.Begin);
                // Sobreescribir el registro con la nueva información
                bw.Write(objeto.obtenerReferencia());
                bw.Write(objeto.obtenerPrecio());
                return(true);
            }
        }
        else
        {
            Console.WriteLine("número de registro fuera de límites");
        }
        return(false);
    }
コード例 #2
0
ファイル: Test.cs プロジェクト: jenesepas/csharp
    public static void visualizarRegs()
    {
        int nreg = -1, nregs = artículos.longitud();

        if (nregs == 0)
        {
            Console.WriteLine("lista vacía");
        }
        Console.Write("conjunto de caracteres a buscar: ");
        string    str = Console.ReadLine();
        CRegistro obj = null;

        do
        {
            nreg = artículos.buscar(str, nreg + 1);
            if (nreg > -1)
            {
                obj = artículos.valorEn(nreg);
                Console.WriteLine("Registro: " + nreg);
                Console.WriteLine(obj.obtenerReferencia());
                Console.WriteLine(obj.obtenerPrecio());
                Console.WriteLine();
            }
        }while (nreg != -1);
        if (obj == null)
        {
            Console.WriteLine("no se encontró ningún registro");
        }
    }
コード例 #3
0
ファイル: Test.cs プロジェクト: jenesepas/csharp
    public static void modificarReg()
    {
        string referencia;
        double precio;
        int    op, nreg;

        // Solicitar el número de registro a modificar
        Console.Write("Número de registro entre 0 y " +
                      (artículos.longitud() - 1) + ": ");
        nreg = Leer.datoInt();

        // Leer el registro
        CRegistro obj = artículos.valorEn(nreg);

        if (obj == null)
        {
            return;
        }
        // Visualizarlo
        Console.WriteLine(obj.obtenerReferencia());
        Console.WriteLine(obj.obtenerPrecio());

        // Modificar el registro
        do
        {
            Console.Write("\n\n");
            Console.WriteLine("Modificar el dato:");
            Console.WriteLine("1. Referencia");
            Console.WriteLine("2. Precio");
            Console.WriteLine("3. Salir y salvar los cambios");
            Console.WriteLine("4. Salir sin salvar los cambios");
            Console.WriteLine();
            Console.Write("   Opción: ");
            op = Leer.datoInt();

            switch (op)
            {
            case 1: // modificar referencia
                Console.Write("Referencia:    ");
                referencia = Console.ReadLine();
                obj.asignarReferencia(referencia);
                break;

            case 2: // modificar precio
                Console.Write("Precio:  ");
                precio = Leer.datoDouble();
                obj.asignarPrecio(precio);
                break;

            case 3: // guardar los cambios
                artículos.ponerValorEn(nreg, obj);
                return;

            case 4: // salir sin guardar los cambios
                break;
            }
        }while(op != 4);
    }