本文整理汇总了C++中TFile::SeekTo方法的典型用法代码示例。如果您正苦于以下问题:C++ TFile::SeekTo方法的具体用法?C++ TFile::SeekTo怎么用?C++ TFile::SeekTo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TFile
的用法示例。
在下文中一共展示了TFile::SeekTo方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: LoadDomainsNacionales
//-----------------------------------------------------------------------------
void TAdministradora :: LoadDomainsNacionales(AnsiString pDomainNacional)
{
TFile* TreeFile = new TFile(pDomainNacional);
TreeFile->Open("rb+");
TreeFile->SeekTo(0);
if(TreeFile->IsOpen())
{
TSDomainInfo SDominio;
TreeFile->Read(&SDominio,sizeof(TSServerInfo));
while(!TreeFile->Eof())
{
TPreOrderNode* node = new TPreOrderNode();
TDomain* domain = new TDomain();
node->End(SDominio.End);
node->RightLink(SDominio.LinkedRight);
domain->NameDomain(SDominio.Name);
node->Info(domain);
aDomainsPreOrderList->Insert(node);
TreeFile->Read(&SDominio,sizeof(TSDomainInfo));
}
}
TreeFile->Close();
delete TreeFile;
}
示例2: SaveServersInternacional
//-----------------------------------------------------------------------------
//Internacionales Servers
void TAdministradora :: SaveServersInternacional(AnsiString pNameFile)
{
TFile* internacional = new TFile(pNameFile);
internacional->Open("wb");
internacional->SeekTo(0);
if(internacional->IsOpen())
{
TSServerInfo server;
for(int i = 0; i < aInternacionales->Length(); i++)
{
TServidor* servidor = (TServidor*)aInternacionales->ItemInfo(i);
server.Tope = servidor->Tope();
server.MaxMail = servidor->Max();
strcpy(server.Name,servidor->NameDomain().c_str());
internacional->Write(&server,sizeof(TSServerInfo));
}
}
internacional->Close();
delete internacional;
}
示例3: SaveServersNacionales
//-----------------------------------------------------------------------------
//::::::::::::::::::::::::::::LOAD/SAVE SERVERS::::::::::::::::::::::::::::::::::::
//-----------------------------------------------------------------------------
//Nacionales Servers
void TAdministradora :: SaveServersNacionales(AnsiString pServerName)
{
TFile* serverFile = new TFile(pServerName);
serverFile->Open("wb");
serverFile->SeekTo(0);
if(serverFile->IsOpen())
{ FiltrarServerNacional();
TSServerInfo server;
for(int i = 0; i < aNacionalesServers->Length(); i++)
{
TServidor* servidor = (TServidor*)aNacionalesServers->ItemInfo(i);
server.Tope = servidor->Tope();
server.MaxMail = servidor->Max();
strcpy(server.Name,servidor->NameDomain().c_str());
serverFile->Write(&server,sizeof(TSServerInfo));
}
}
serverFile->Close();
delete serverFile;
}
示例4: LoadServersInternacional
//-----------------------------------------------------------------------------
void TAdministradora::LoadServersInternacional(AnsiString pNameFile)
{
TFile* internacional = new TFile(pNameFile);
internacional->Open("rb+");
internacional->SeekTo(0);
if(internacional->IsOpen())
{
TSServerInfo server;
internacional->Read(&server,sizeof(TSServerInfo));
while(!internacional->Eof())
{
TServidor* Servidor = new TServidor();
Servidor->Tope(server.Tope);
Servidor->Max(server.MaxMail);
Servidor->NameDomain(server.Name);
aInternacionales->Insert(Servidor);
internacional->Read(&server,sizeof(TSServerInfo));
}
}
internacional->Close();
delete internacional;
}
示例5: LoadServersNacionales
//-----------------------------------------------------------------------------
void TAdministradora :: LoadServersNacionales(AnsiString pServerName)
{
TFile* serverFile = new TFile(pServerName);
serverFile->Open("rb+");
serverFile->SeekTo(0);
if(serverFile->IsOpen())
{
TSServerInfo server;
serverFile->Read(&server,sizeof(TSServerInfo));
while(!serverFile->Eof())
{
TServidor* Servidor = new TServidor();
Servidor->Tope(server.Tope);
Servidor->Max(server.MaxMail);
Servidor->NameDomain(server.Name);
aNacionalesServers->Insert(Servidor);
serverFile->Read(&server,sizeof(TSServerInfo));
}
}
serverFile->Close();
delete serverFile;
}
示例6: SaveDominioTree
//-----------------------------------------------------------------------------
//:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
//::::::::::::::::::: METODOS DE GUARDAR/CARGAR EN FICHEROS:::::::::::::::::::
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
//-----------------------------------------------------------------------------
//Nacionales Domains
void TAdministradora :: SaveDominioTree(AnsiString pNameDomain)
{
TFile* TreeFile = new TFile(pNameDomain);
TreeFile->Open("wb");
TreeFile->SeekTo(0);
TSeqPreOrderTree* preorder = new TSeqPreOrderTree(aTree);
if(TreeFile->IsOpen())
{
TSDomainInfo SDominio;
for(int i = 0; i < preorder->Length(); i++)
{
TPreOrderNode* node = (TPreOrderNode*)preorder->ItemInfo(i);
SDominio.End = node->End();
SDominio.LinkedRight = node->RightLink();
TDomain* domain = (TDomain*)node->Info();
strcpy(SDominio.Name,domain->NameDomain().c_str());
TreeFile->Write(&SDominio,sizeof(TSDomainInfo));
}
}
TreeFile->Close();
delete TreeFile;
}
示例7: 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;
}
示例8: SaveAccounts
//-----------------------------------------------------------------------------
//::::::::::::::FIN METODOS DE GUARDAR/CARGAR EN FICHEROS::::::::::::::::::::::::
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//::::::::::::::::::::TRABAJO CON LOS FICHEROS CUENTAS::::::::::::::::::::::::::
//::::::::::::::::::::::::::::::::CARGA/GUARDA::::::::::::::::::::::::::::::::::
//-----------------------------------------------------------------------------
void TAdministradora :: SaveAccounts(AnsiString pFileName) //ver lo del buffer cuando voy a escribir un parrafo
{ //eso hay que arreglarlo
TFile* AccountFile = new TFile(pFileName);
AccountFile->Open("wb");
AccountFile->SeekTo(0);
if(AccountFile->IsOpen())
{
TGLinkedList* servidores = new TGLinkedList();
AllServers(servidores);
for(int i = 0; i < servidores->Length(); i++)
{
TServidor* Server = (TServidor*)servidores->ItemInfo(i);
if(Server)
{
for(int j = 0; j < Server->Cuentas()->Length(); j++)
{
TCuenta* account = (TCuenta*)Server->Cuentas()->ItemInfo(j);
if(account)
{
TSPerson person;
strcpy(person.name,account->Person()->Name().c_str());
strcpy(person.apellidos,account->Person()->Apellidos().c_str());
person.sexo = account->Person()->Sexo();
person.ocupation = account->Person()->Ocupacion();
person.age = account->Person()->Age();
TSAccount cuenta;
strcpy(cuenta.server,Server->NameDomain().c_str());
strcpy(cuenta.usuario,account->Usuario().c_str());
strcpy(cuenta.password,account->Password().c_str());
strcpy(cuenta.address,account->Address().c_str());
cuenta.persona = person;
cuenta.cuota = account->Cuota();
cuenta.cuotafree = account->Cuotafree();
cuenta.internacional = account->Salida();
cuenta.emails = account->Correos()->Length();
cuenta.agendas = account->Agendas()->Length();
AccountFile->Write(&cuenta,sizeof(TSAccount)); //primera escritura
for(int k = 0; k < account->Correos()->Length(); k++)
{
TMail* mail = (TMail*)account->Correos()->ItemInfo(k);
if(mail)
{
TSMail correo;
strcpy(correo.parrafo,mail->Parrafo().c_str());
strcpy(correo.asunto,mail->Asunto().c_str());
strcpy(correo.remitente,mail->Remitente().c_str());
correo.size = mail->Size();
correo.adjunts = mail->Adjunts()->Length();
AccountFile->Write(&correo,sizeof(TSMail)); //segunda escritura
for(int l = 0; l < mail->Adjunts()->Length(); l++)
{
TFichero* file = (TFichero*)mail->Adjunts()->ItemInfo(l);
if(file)
{
TSAdjunt adjunto;
strcpy(adjunto.adress,file->Adress().c_str());
strcpy(adjunto.tipo,file->Tipo().c_str());
adjunto.length = file->Size();
AccountFile->Write(&adjunto,sizeof(TSAdjunt)); //tercera escritura
}
}
}
}
for(int c = 0; c < cuenta.agendas; c++)
{
AnsiString* name = (AnsiString*)account->Agendas()->ItemInfo(c);
AnsiString aqui = *name;
char direccion[36];
strcpy(direccion,aqui.c_str());
AccountFile->Write(&direccion,aqui.Length()-1);
}
}
}
}
}
}
AccountFile->Close();
delete AccountFile;
}