Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ejemplo de Diucl (UclDecompres) (https://www.clubdelphi.com/foros/showthread.php?t=53967)

jangel_ramirezm 05-03-2008 19:33:07

Ejemplo de Diucl (UclDecompres)
 
Hola primero que nada gracias por tomarse el tiempo de ver este hilo

lo que pasa es que tengo una aplicación que debe exportar datos en un archivo encriptado por razones de seguridad .
eso ya lo hace; el problema es en que la aplicación que recibe esos datos (por cualqueir medio) al usar ucldecomprees pierde los datos contenidos en el archivo. Aqui el Ejemplo de como Encripto.



Código Delphi [-]
procedure TFrmExportarDatos.btnencriptarClick(Sender: TObject);
var lista: TStringList;
qry:Tquery;
nombrearchivo:string;
begin
lista:=TStringList.Create;
qry:=Tquery.Create(nil);
qry.DatabaseName:=Database1.DatabaseName ;
qry.sql.Text:='SELECT * FROM bi_libros';
qry.open;
DataSetProvider1.DataSet:=qry;
ClientDataSet1.Open;
nombrearchivo:='c:\PRUEBA2';
ClientDataSet1.SaveToFile(nombrearchivo+'.xml' , dfXML);
lista := TStringList.Create;
lista.LoadFromFile(nombrearchivo+'.xml');
lista.Text := UclCompressStrW(lista.Text);
lista.SaveToFile(nombrearchivo+'.ENC');
ClientDataSet1.Close;
qry.Close;
qry.Destroy;
DeleteFile(nombrearchivo+'.xml') ;
lista.Destroy;
end;[/delphi]


y este es como desencripto


Código Delphi [-]
procedure TFrmExportarDatos.btndesencriptarClick(Sender: TObject);
var lista:TStringList;
muestra:String ;
begin
lista:=TStringList.Create ;
muestra:= UclDecompressStrW ('c:\PRUEBA2.ENC');;
lista.Text := muestra;
lista.SaveToFile('c:\prueba2.xml');
DeleteFile('c:\prueba2.ENC');
lista.Destroy;
end;[/delphi]







si alguien pudiera ayudar se lo agradeceria mucho ya he buscado mucho por los foros y no he encontrado algo . Gracias

jangel_ramirezm 11-03-2008 18:07:27

hola Saludos a todos y gracias por leer este hilo

Bueno solo para ampliar un poco mas la información que puse anteriormente
necesito exportar los datos de un query a un archivo y que lo "Encripte"(no se si sea el termino correcto)eso ya lo solucioné usando un ClientDataset,un datasetprovider,un TStringlist y la funcion uclcompress, que mostré en el código de arriba.

mi problema es cuando quiero obtener de vuelta esos datos al usar
ucldecompress pierde los datos esto lo hago con uclddecompress y un Tstringlist

gracias por su ayuda y tiempo. ojalá alguien que hay trabajado con Diucl me pudiera ayudar

egostar 11-03-2008 18:27:57

Desconozco el componente al que haces mención pero de entrada no me hace lógica lo que estas haciendo con esta porción de código:

Código Delphi [-]
muestra:= UclDecompressStrW ('c:\PRUEBA2.ENC');;
lista.Text := muestra;

Me imagino que el problema está en que estas pasando la información a un string y luego a un TStringList, no me suena lógico:rolleyes: porque no de forma directa.....

Código Delphi [-]
lista.Text := UclDecompressStrW ('c:\PRUEBA2.ENC');;

Salud OS

Edito: Aunque tampoco sé si la asignación que se hace sea la correcta ........

jangel_ramirezm 11-03-2008 18:57:38

gracias egostar por tu comentario

esa porción de código solo está asi para yo enterderme un poco mas;
aunque si dejo la asignación directa hace lo mismo, se pierden los datos
tal vez es eso que la signacion de un widestring a string pierde datos.
pero lo malo que ucl solo trabaja con Wstring y Astring.

gracias de Nuevo.


La franja horaria es GMT +2. Ahora son las 05:37:04.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi