Ver Mensaje Individual
  #2  
Antiguo 09-09-2010
_cero_ _cero_ is offline
Miembro
 
Registrado: abr 2007
Posts: 147
Reputación: 18
_cero_ Va por buen camino
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.
}

Última edición por _cero_ fecha: 09-09-2010 a las 04:10:45. Razón: arreglo
Responder Con Cita