本文整理汇总了C++中TFile::FilePos方法的典型用法代码示例。如果您正苦于以下问题:C++ TFile::FilePos方法的具体用法?C++ TFile::FilePos怎么用?C++ TFile::FilePos使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TFile
的用法示例。
在下文中一共展示了TFile::FilePos方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: LoadAccounts
//-----------------------------------------------------------------------------
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;
}