/*--------------------------------------------------------------------
 * FICHERO:  BdtPCaNu.c
 * OBJETIVO: Definir la funcin Bdt_PonCampoNumero()
 * AUTOR:    Pedro Reina
 * FECHA:    V.14.7.1995
 *------------------------------------------------------------------*/

/*--------------------------------------------------------------------
 * Ficheros de cabecera
 *------------------------------------------------------------------*/

#include "BaseDato.h"

/*--------------------------------------------------------------------
 * Definicin de funciones
 *------------------------------------------------------------------*/

/*--------------------------------------------------------------Olimpo
 * FUNCION:  Bdt_PonCampoNumero()
 * OBJETIVO: Poner el contenido de un campo dado su nmero
 * ENTRADAS: La base de datos, el nmero del campo y una cadena
 *           con el contenido
 * SALIDAS:  Lgica indicando si el campo existe.
 * NOTAS:    1. Los campos se numeran a partir de 0
 *           2. La funcin no comprueba la longitud de la
 *              cadena; el programador debe asegurarse de que
 *              no es ms larga que la longitud del campo
 * EJEMPLO:  Bdt_PonCampoNumero (Agenda,1,"Alberto")
 * ALGORITMO:
 *      Si el campo existe
 *        Copiar los caracteres del Contenido, salvo el NULO, en el campo
 *------------------------------------------------------------------*/
logico Bdt_PonCampoNumero (Base, Numero, Contenido)
basedato  Base;
contador  Numero;
cadena    Contenido;
  {
  logico   Respuesta = NO;
  contador i, j;

  if ( Numero >= 0 && Numero < Bdt_TotalCampo(Base) )
    {
    Respuesta = SI;

    i = 1;                         /* Punto de InfoActual de comienzo */
    for ( j=0 ; j<Numero ; j++ )
      { i += Bdt_LongitudDeCampo(Base,j); }

    for ( j=0 ; Contenido[j] ; j++ )
      { Bdt_InfoActual(Base)[i++] = Contenido[j]; }
    }

  return ( Respuesta );
  }