Ver Mensaje Individual
  #3  
Antiguo 12-11-2009
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Reputación: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
A falta de conocer la estructura paciente y como está organizado el archivo Pacientes.dat, considera que tu código se podría ir optimizando de esta manera:

Código:
void CumpleAnos()
{
    WORD D_Hoy, M_Hoy, D_Cumple, M_Cumple, Year;

    DecodeDate(Now(), Year, M_Hoy, D_Hoy);

    paciente p;
    fstream archi("C:/Pacientes.dat",  ios::in | ios::binary | ios::app);
    archi.seekg(0, ios::beg);

    archi.read((char*)&p,sizeof(p));
    while(!archi.eof()){
      TDate Nacimiento(p.fecha_nac);
      DecodeDate(Nacimiento, Year, M_Cumple, D_Cumple);
      if(M_Hoy == M_Cumple && D_Hoy == D_Cumple){
          int edad = ((int)(Now() - Nacimiento)) / 365;
          String Total =  String(p.apellido) +  ", " + String(p.nombre);
          Total = Total + " (" + IntToStr(edad) + ") ";
          Form1->ComboBox3->Items->Add(Total);
       }
       archi.read((char*)&p,sizeof(p));
    }
}
En lugar de usar un fstream puedes usar cualquier otro sistema de manejo de ficheros. Tu decides lo que tienes que hacer.

Saludos.

Última edición por escafandra fecha: 14-11-2009 a las 01:11:38.
Responder Con Cita