Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Abrir archivo de texto y manipular nombre del fichero

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Abrir archivo de texto y manipular nombre del fichero Responder citando

Hola foro:
A ver si me pueden ayudar con lo siguiente: debo de mantener 10 archivos de texto siempre en un directorio especifico.
Archivo001.txt
Archivo002.txt
Archivo003.txt
.....etc.

Cuando vaya a crear el Archivo011.txt eliminar el mas antiguo, y asi sucesivamente cuando vaya yo a crear el Archivo012.txt.

Muchas gracias por su ayuda.

Saludos.
Pako.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Yahoo Messenger MSN Messenger
Mensaje    Asunto: Responder citando

Se me ocurre lo siguiente, usando la función FileAge y un FileListBox, por ejemplo, para tener la lista de ficheros. Al FileListBox ponle Visible = false;
Código:
AnsiString cFile1, cFile2;
TDateTime dFecha;

FileListBox1->Mask = cViaAcceso + “\\Archivo*.txt”;   // cViaAcceso es la ruta de acceso a los ficheros

// Si no hay 10 ficeros no hacemos nada
if (FileListBox1->Items->Count < 10)
     return;

// Primero buscamos el nombre de fichero mayor
cFile1 = “”;
cFile2 = “”;
for (int nFile = 0; nFile < FileListBox1->Items->Count; nFile ++)
     if (FileListBox1->Items->Strings[nFile] > cFile1)
          cFile1 = FileListBox1->Items->Strings[nFile];

//Buscamos el fichero más antiguo
dFecha = Date();
for (int nFile = 0; nFile < FileListBox1->Items->Count; nFile ++)
     if (FileDateToDateTime(FileAge(cViaAcceso + FileListBox1->Items->Strings[nFile])) < dFecha)
     {
          dFecha = FileDateToDateTime(FileAge(cViaAcceso + FileListBox1->Items->Strings[nFile]));
          cFile2 = cViaAcceso + FileListBox1->Items->Strings[nFile];
     }

// Borramos el fichero más antiguo
DeleteFile(cFile2);

// Componemos el nuevo nombre
cFile2 = “”;
for (int nChar = 1; nChar <= cFile1.Length(); nChar ++)
   if (isdigit(cFile1.c_str()[nChar – 1]))
      cFile2 = cFile2 + cFile1.SubString(nChar, 1);

cFile2 = cViaAcceso + "\\Archivo" + FormatFloat(“0”, StrToInt(cFile2)) + “.txt”;

_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.