ps veamos sería algo así.
Creación de un archivo binario:
Código:
// Se crea el archivo local para después subirlo al servidor ftp
TFileStream* fs=new TFileStream("c:\\mi_archivo.miextencin", fmCreate);
// Se eligen los datos que introducirás en el archivo
int MiNum=12345;
char MiCad[40]="Esta cadena debería ir encriptada";
// Se escriben los datos en el archivo, pueden ser simples como en este caso o
// metes estructuras, imágenes, ejecutables, etc.
fs->Write(&MiNum, sizeof(MiNum));
fs->Write(&MiCad, sizeof(MiCad));
delete fs;
Lectura de un archivo desde el servidor:
Código:
TMemoryStream* ms=new TMemoryStream;
int MiNum;
char MiCad[40];
// Se configura un TIdFTP con datos que debes encriptar ya que las cadenas son
// visibles en los binarios en este caso tu exe.
ftp->Host="ftp://MiFTP";
ftp->Username="MiUsu";
ftp->Password="**";
// Se conecta y se carga la carpeta en donde tienes tyu archivo
ftp->Connect();
ftp->ChangeDir("/miDirEnFtp");
// Se descarga a memoria, cuidado con los tiempos relacionados con peso/ancho de banda
// y cantidad de memoria en la PC
ftp->Get("mi_archivo.miextencin", ms, false);
// Se posiciona y se leen los datos
ms->Seek(0, 0);
ms->Read(&MiNum, sizeof(MiNum));
ms->Seek(sizeof(MiNum), 0);
ms->Read(&MiCad, sizeof(MiCad));
delete ms;
ftp->Disconnect();
ShowMessage(MiNum);
ShowMessage(MiCad);
// Aquí hago lo que quiera con las variables las desencripto y las trabajo.
// Pd. El código necesita un poco más de trabajo como un try en la conexión al
// ftp o puedes poner datos más complejos en el archivo, pero a grandes rasgos este es el procedimiento.
}