First commit 11/11/1991
This commit is contained in:
269
DATOS/MBD2DBF.BAK
Normal file
269
DATOS/MBD2DBF.BAK
Normal file
@ -0,0 +1,269 @@
|
||||
|
||||
#include <conio.h>
|
||||
#include <ctype.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include "..\herm.h"
|
||||
#include "..\..\libs\bdatos\bdatos.hh"
|
||||
|
||||
HermStruct Hermanos;
|
||||
BDatos Dbf;
|
||||
void RellenaStructura(FILE *file);
|
||||
void obten_linea(FILE *file, char *buf);
|
||||
|
||||
void PreparaNuevoRegistro(void);
|
||||
|
||||
void main( void )
|
||||
{
|
||||
long registro = 0;
|
||||
FILE *origen;
|
||||
|
||||
printf( "\nConvertidor de fichero: PROCESANDO..." );
|
||||
|
||||
|
||||
if ( (origen = fopen( "hermanas.txt", "r" ) ) != NULL )
|
||||
{
|
||||
Dbf.AbrirReg( "hermanas.dbf", sizeof( HermStruct ) );
|
||||
|
||||
do
|
||||
{
|
||||
RellenaStructura(origen);
|
||||
// La estructura ya esta cargada, asi que....
|
||||
Dbf.InsReg( (void *)&Hermanos, Dbf.Registros(), ARRIBA );
|
||||
registro++;
|
||||
gotoxy( 1,1 ); printf( "%ld", registro );
|
||||
}while( !feof(origen) );
|
||||
|
||||
Dbf.CerrarReg();
|
||||
fclose( origen );
|
||||
} else
|
||||
printf( "\nError abriendo el origen" );
|
||||
}
|
||||
|
||||
void RellenaStructura(FILE *file)
|
||||
{
|
||||
char buffer[250];
|
||||
// este es el orden del archivo:
|
||||
|
||||
|
||||
PreparaNuevoRegistro();
|
||||
|
||||
// Numero
|
||||
obten_linea( file, buffer );
|
||||
Hermanos.NHno = atol( buffer );
|
||||
// printf("\nNumero: %s", buffer );
|
||||
|
||||
// Nombre
|
||||
obten_linea( file, buffer );
|
||||
buffer[0] = toupper(buffer[0]);
|
||||
strncpy( Hermanos.Nombre, buffer, 15 );
|
||||
Hermanos.Nombre[16] = '\0';
|
||||
// printf("\n%s", buffer );
|
||||
|
||||
|
||||
// Apellido1
|
||||
obten_linea( file, buffer );
|
||||
buffer[0] = toupper(buffer[0]);
|
||||
strncpy( Hermanos.Apellido1, buffer, 15 );
|
||||
Hermanos.Apellido1[16] = '\0';
|
||||
|
||||
// printf("\n%s", buffer );
|
||||
// Apellido2
|
||||
obten_linea( file, buffer );
|
||||
buffer[0] = toupper(buffer[0]);
|
||||
strncpy( Hermanos.Apellido2, buffer, 15 );
|
||||
Hermanos.Apellido2[16] = '\0';
|
||||
|
||||
// printf("\n%s", buffer );
|
||||
// Direcci<63>n
|
||||
obten_linea( file, buffer );
|
||||
buffer[0] = toupper(buffer[0]);
|
||||
strncpy ( Hermanos.Direccion, buffer, 30 );
|
||||
Hermanos.Direccion[30] = '\0';
|
||||
sprintf( Hermanos.Num, "" );
|
||||
sprintf( Hermanos.Piso, "" );
|
||||
|
||||
|
||||
// printf("\n%s", buffer );
|
||||
// CP
|
||||
obten_linea( file, buffer );
|
||||
Hermanos.CodP = atol ( buffer );
|
||||
|
||||
// printf("\n%s", buffer );
|
||||
// Poblaci<63>n
|
||||
obten_linea( file, buffer );
|
||||
buffer[0] = toupper(buffer[0]);
|
||||
strncpy( Hermanos.Poblacion, buffer, 15 );
|
||||
Hermanos.Poblacion[16] = '\0';
|
||||
|
||||
// printf("\n%s", buffer );
|
||||
// Provincia
|
||||
obten_linea( file, buffer );
|
||||
buffer[0] = toupper(buffer[0]);
|
||||
strncpy( Hermanos.Provincia, buffer, 15 );
|
||||
Hermanos.Provincia[16] = '\0';
|
||||
|
||||
// printf("\n%s", buffer );
|
||||
// Telefono1
|
||||
obten_linea( file, buffer );
|
||||
buffer[0] = toupper(buffer[0]);
|
||||
strncpy( Hermanos.Telefono1, buffer, 15 );
|
||||
Hermanos.Telefono1[16] = '\0';
|
||||
|
||||
// printf("\n%s", buffer );
|
||||
// Telefono2
|
||||
obten_linea( file, buffer );
|
||||
buffer[0] = toupper(buffer[0]);
|
||||
strncpy( Hermanos.Telefono2, buffer, 15 );
|
||||
Hermanos.Telefono2[16] = '\0';
|
||||
|
||||
// printf("\n%s", buffer );
|
||||
// Antig<69>edad
|
||||
obten_linea( file, buffer );
|
||||
if ( buffer[0] != '0' )
|
||||
{
|
||||
Hermanos.Antig.da_year = (buffer[0]-'0')*1000 + (buffer[1]-'0')*100 + (buffer[2]-'0')*10 + (buffer[3]-'0');
|
||||
Hermanos.Antig.da_mon = (buffer[5]-'0')*10 + (buffer[6]-'0');
|
||||
Hermanos.Antig.da_day = (buffer[8]-'0')*10 + (buffer[9]-'0');
|
||||
}
|
||||
|
||||
// a<>o-mes-dia
|
||||
// sprintf( Hermanos.Nombre, "%15s", buffer );
|
||||
|
||||
|
||||
// printf("\n%s", buffer );
|
||||
// Fecha de nacimiento
|
||||
obten_linea( file, buffer );
|
||||
// sprintf( Hermanos.Nombre, "%15s", buffer );
|
||||
if ( buffer[0] != '0' )
|
||||
{
|
||||
Hermanos.FechaN.da_year = (buffer[0]-'0')*1000 + (buffer[1]-'0')*100 + (buffer[2]-'0')*10 + (buffer[3]-'0');
|
||||
Hermanos.FechaN.da_mon = (buffer[5]-'0')*10 + (buffer[6]-'0');
|
||||
Hermanos.FechaN.da_day = (buffer[8]-'0')*10 + (buffer[9]-'0');
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Reserva
|
||||
obten_linea( file, buffer );
|
||||
if ( buffer[0] == '1' )
|
||||
Hermanos.Varios.Reserva = 1;
|
||||
else
|
||||
Hermanos.Varios.Reserva = 0;
|
||||
|
||||
|
||||
// printf("\n%s", buffer );
|
||||
// Ultima posici<63>n
|
||||
obten_linea( file, buffer );
|
||||
strncpy( Hermanos.Posicion, buffer, 15 );
|
||||
Hermanos.Posicion[16] = '\0';
|
||||
|
||||
// printf("\n%s", buffer );
|
||||
// Posici<63>n
|
||||
obten_linea( file, buffer );
|
||||
Hermanos.Insignia = 0;
|
||||
|
||||
// printf("\n%s", buffer );
|
||||
// Cuota familiar
|
||||
obten_linea( file, buffer );
|
||||
if ( buffer[0] == '1' )
|
||||
Hermanos.Varios.CuotaFam = 1;
|
||||
else
|
||||
Hermanos.Varios.CuotaFam = 0;
|
||||
|
||||
|
||||
// printf("\n%s", buffer );
|
||||
// Bolet<65>n
|
||||
obten_linea( file, buffer );
|
||||
if ( buffer[0] == '1' )
|
||||
Hermanos.Varios.Notific = 1;
|
||||
else
|
||||
Hermanos.Varios.Notific = 0;
|
||||
|
||||
|
||||
// printf("\n%s", buffer );
|
||||
// Vota
|
||||
obten_linea( file, buffer );
|
||||
if ( buffer[0] == '1' )
|
||||
Hermanos.Varios.PuedVotar = 1;
|
||||
else
|
||||
Hermanos.Varios.PuedVotar = 0;
|
||||
|
||||
|
||||
// printf("\n%s", buffer );
|
||||
// Sexo
|
||||
obten_linea( file, buffer );
|
||||
|
||||
// Salto de Linea
|
||||
obten_linea( file, buffer );
|
||||
|
||||
};
|
||||
|
||||
void obten_linea(FILE *file, char *buf)
|
||||
{
|
||||
int c;
|
||||
|
||||
char *buffer;
|
||||
|
||||
buffer = buf;
|
||||
|
||||
*buffer = '\0';
|
||||
|
||||
// mientras no sea un salto de linea
|
||||
while ( ( c = fgetc(file) ) != '\n' && c != EOF )
|
||||
*(buffer++) = (char)c;
|
||||
|
||||
*(buffer++) = '\0';
|
||||
};
|
||||
|
||||
void PreparaNuevoRegistro(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
||||
|
||||
Hermanos.NHno = 0;
|
||||
|
||||
strcpy( Hermanos.Nombre, "" );
|
||||
strcpy( Hermanos.Apellido1, "" );
|
||||
strcpy( Hermanos.Apellido2, "" );
|
||||
strcpy( Hermanos.Direccion, "" );
|
||||
strcpy( Hermanos.Num, "" );
|
||||
strcpy( Hermanos.Piso, "" );
|
||||
|
||||
Hermanos.CodP = 0;
|
||||
|
||||
strcpy( Hermanos.Poblacion, "" );
|
||||
strcpy( Hermanos.Provincia, "" );
|
||||
|
||||
Hermanos.FechaN.da_day = 0;
|
||||
Hermanos.FechaN.da_mon = 0;
|
||||
Hermanos.FechaN.da_year = 0;
|
||||
|
||||
Hermanos.Antig.da_day = 0;
|
||||
Hermanos.Antig.da_mon = 0;
|
||||
Hermanos.Antig.da_year = 0;
|
||||
|
||||
Hermanos.Varios.Reserva = 0;
|
||||
|
||||
strcpy( Hermanos.Posicion, "" );
|
||||
|
||||
Hermanos.Insignia = 0;
|
||||
|
||||
strcpy( Hermanos.Telefono1, "" );
|
||||
strcpy( Hermanos.Telefono2, "" );
|
||||
|
||||
Hermanos.Varios.CuotaFam = 0;
|
||||
Hermanos.Varios.Notific = 0;
|
||||
Hermanos.Varios.PuedVotar = 0;
|
||||
Hermanos.Varios.RealPenit = 0;
|
||||
Hermanos.Varios.TunicaHd = 0;
|
||||
Hermanos.Varios.CtoVirgen = 0;
|
||||
|
||||
// Aqui vaciamos el comentario
|
||||
for ( i=0; i<6; i++ )
|
||||
strcpy( Hermanos.Comentario[i], "" );
|
||||
|
||||
|
||||
}
|
Reference in New Issue
Block a user