Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ayuda con Recurso (https://www.clubdelphi.com/foros/showthread.php?t=58156)

santi33a 10-07-2008 15:54:07

Ayuda con Recurso
 
Hola a todos, necesito guardar una cadena encriptada en mi ejecutable pues no quiero que la puedan ver al editar a éste, el problema está en que esta cadena encriptada tiene caracteres especiales por lo que el editor las interpreta de diferenetes forma y no la puedo pegar ahí, por lo que pensé en crearla en un archivo y agregarla como un recurso al exe.
El problema es como puedo leerla de nuevo o asignarsela a otra variable (un string).?
Probé de varias maneras, en Trucomania hay un truco para cargar imagenes con Stream, pero no se como asignarle este valor a una variable strings, les agradeceria cualquier ayuda o idea.

luisgutierrezb 10-07-2008 17:18:04

puedes usar el resourcestring para la cadena, o puedes convertir cada elemento de la cadena en un valor por ejemplo hexadecimal, o puedes usar el loadresource de la API de Windows

santi33a 10-07-2008 21:13:20

muchas gracias, pero me podrías explicar un poco mas

santi33a 15-07-2008 13:06:03

Aqui les digo la forma en que resolví, si existe una forma mas elegante, les agradeceria el comentario

Primero cree el fichero de recursos, en el archivo key.rc

Cita:

1 RCDATA a.txt
luego de compilarlo

Cita:

BRC32.EXE -r -v key.RC
puse en mi aplicación
Código Delphi [-]
{$R key.RES}

function Convierte : string;
type
 zz  = array [1..10000] of char;
var
  Corriente   : TResourceStream;
  z : ^ZZ;
  i,c :integer;
begin
 Corriente:=TResourceStream.Create( hInstance,'#1',RT_RCDATA );
 Corriente.Seek(0,soFromBeginning);
 i := Corriente.Size;
 setlength(result,i);
 z := corriente.Memory;
 for c := 1 to i do
  result[c] := z^[c];
 corriente.Free;
end;

begin
 cadena := Convierte;
end


La franja horaria es GMT +2. Ahora son las 08:12:13.

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