Ver Mensaje Individual
  #2  
Antiguo 25-02-2008
ucanneo ucanneo is offline
Miembro
 
Registrado: feb 2008
Posts: 30
Reputación: 0
ucanneo Va por buen camino
En varias ocasiones no sólo basta con cerrar el archivo, sino explícitamente hacer una descarga de lo que tiene en el buffer hay metodos como el fflush(),

Pues bueno un sugerecia seria no complicar tanto lo que haces con memoria dinámica que "nunca liberas", ademas de que muchas veces a AnsiString le cuesta trabajo funcionar con ficheros estilo c, en fin, te recomendaria hacerlo de la forma tradicional, es más codigo pero no hay problemas, o usando la forma de Builder

#include <vcl.h>
void cargar( AnsiString Ruta)
{
TStringList* sl;
sl = new TStringList;
sl->LoadFromFile(Ruta);
/*
Ya que lo tienes en una StringList mandalo a donde te plazca, a
un memo a un edit, a un txt, donde sea
*/
delete sl;
}



void cargar( AnsiString Ruta )
{
TStringList* sl;
sl = new TStringList;
/*Aca las rutinas necesarias para guardar las cadenas de texto*/
sl->SAveToFile(Ruta);
delete sl;
}
_____________________________________________________________-

Si suponemos que no es texto lo que estas guardando
builder te ofrece otra alternativa

//---------------------------------------------------------------------------
void copiarArchivo( AnsiString &rutaArchivoOrigen,
AnsiString &nombreDestino )
{
if (!FileExists(rutaArchivoOrigen)) return;
if ( FileExists(nombreDestino)) DeleteFile(nombreDestino);
//probando la creacion po FORZOMETRIA

TFileStream *OldFile = new TFileStream(rutaArchivoOrigen,
fmOpenRead);
TFileStream *NewFile = new TFileStream(nombreDestino, fmCreate);
NewFile->CopyFrom(OldFile, OldFile->Size);
delete OldFile;
delete NewFile;
}
//---------------------------------------------------------------------------
Responder Con Cita