//-----------------------------------------------------------------------------
void TAdministradora :: LoadAccounts(AnsiString pFileName)//ver lo del buffer cuando voy a escribir un parrafo
{                                                          //eso hay que arreglarlo
  TFile* AccountFile = new TFile(pFileName);
  AccountFile->Open("rb+");
  AccountFile->SeekTo(0);

  if(AccountFile->IsOpen())
  {
    TGLinkedList* Servers = new TGLinkedList();
    AllServers(Servers);
    if(Servers)
    {
      while(AccountFile->FilePos() < AccountFile->FileSize())
      {
        TSAccount account;
        AccountFile->Read(&account,sizeof(TSAccount)); //primera lectura
        AnsiString ServidorNombre = account.server;
        TServidor* Server = (TServidor*)Servers->FirstThat(Daemon::FindNameList,&ServidorNombre);
        if(Server)
        {
          TCuenta* cuenta = new TCuenta();
          cuenta->Usuario(account.usuario);
          cuenta->Password(account.password);
          cuenta->Address(account.address);

          TSPerson person;
          cuenta->Person()->Name(account.persona.name);
          cuenta->Person()->Apellidos(account.persona.apellidos);
          cuenta->Person()->Sexo(account.persona.sexo);
          cuenta->Person()->Ocupacion(account.persona.ocupation);
          cuenta->Person()->Age(account.persona.age);
          cuenta->Cuota(account.cuota);
          cuenta->Cuotafree(account.cuotafree);
          cuenta->Salida(account.internacional);
          Server->Cuentas()->Insert(cuenta);

          int i = 0;
          while(i < account.emails)
          {
            TSMail mail;

            AccountFile->Read(&mail,sizeof(TSMail)); //segunda lectura

            TMail* Mail = new TMail();
            Mail->Parrafo(mail.parrafo);
            Mail->Asunto(mail.asunto);
            Mail->Remitente(mail.remitente);
            Mail->Size(mail.size);
            cuenta->Correos()->Insert(Mail);
            i++;

            int j = 0;
            while(j < mail.adjunts)
            {
              TSAdjunt adjunt;
              AccountFile->Read(&adjunt,sizeof(TSAdjunt)); //tercera lectura
              TFichero* fichero = new TFichero();
              fichero->Adress(adjunt.adress);
              fichero->Tipo(adjunt.tipo);
              fichero->Size(adjunt.length);
              Mail->InsertAdjunt(fichero);
              j++;
            }
          }
          int c = 0;
          while(c < account.agendas)
          {
            char direccion[36];
            AccountFile->Read(&direccion,36);
            AnsiString nombre = direccion;
            cuenta->Agendas()->Insert(&nombre);
          }
        }
      }
    }
  }
  AccountFile->Close();
  delete AccountFile;
}