Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Insertar archivos dentro de un .exe (https://www.clubdelphi.com/foros/showthread.php?t=57941)

SebastiannN 02-07-2008 18:18:51

Insertar archivos dentro de un .exe
 
hola gente como va, queria saber como puedo hacer para insertar archivos de x extensiones al ejecutable y que mediante un evento los extraiga a la ruta donde se encuentra dicho ejecutable, he buscado pero no encontre nada, tampoco se como se llama hacer esto, si es que tiene algun nombre en particular o no.
Si esto no va aca perdonen, no sabia donde ubicarlo.

Desde ya muchas gracias.

coso 02-07-2008 18:45:08

Hola. Este ejemplo graba 0123456789 al final de cualquier archivo

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
   f: file of Byte;
   i : integer;
   c : byte;
   s : PChar;
begin
   if OpenDialog1.Execute then
   begin
     AssignFile(f, OpenDialog1.FileName);
     Reset(f);
     Seek(f,Filesize(f));
     for i := 0 to 9 do
     begin
        s := PChar(inttostr(i));
        c := byte(s[0]);
        Write(f,c);
     end;
     CloseFile(f);
   end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
        f : file of byte;
        i : integer;
        c : byte;
begin
        if OpenDialog1.Execute then
        begin
                AssignFile(f,OpenDialog1.Filename);
                Reset(f);
                Seek(f,Filesize(f)-10);

                for i := 0 to 9 do
                begin
                  Read(F,c);
                  Edit2.Text := Edit2.Text + Char(c);
                end;

                CloseFile(f);
        end;
end;

un par de cosas:
- si el ejecutable donde quieres grabar es la propia aplicacion, tendras que 'esconderla' del administrador de tareas. desconozco como se hace eso :(
- si hay algun antivirus por alla que tenga grabado los checksums de los .exe, probablemente te identificara esto como virus.

saludos

ContraVeneno 02-07-2008 18:55:54

a mi me suena a que quieres crear un instalador para tu programa, es decir, que instale los archivos necesarios para que funcione. Pero igual y no es eso lo que quieres...

SebastiannN 02-07-2008 19:23:37

claaro como un instalador pero muchisimo mas sencillo de lo que ofrecen programas como el installshield, algo asi ando tratando de hacer:

http://img379.imageshack.us/img379/7535/nuevo5xd9.png

Khronos 02-07-2008 22:25:37

Hola

Salu2

Neftali [Germán.Estévez] 03-07-2008 09:08:17

Bueno, no es exactamente un instalador, pero siempre puedes "meter" cualquier fichero dentro de un EXE como recurso y extraerlo donde lo necesites.
Aunque no es exactamente la idea de un instalador.

Khronos 03-07-2008 10:54:21

Cita:

Empezado por Neftali (Mensaje 297938)
Bueno, no es exactamente un instalador, pero siempre puedes "meter" cualquier fichero dentro de un EXE como recurso y extraerlo donde lo necesites.
Aunque no es exactamente la idea de un instalador.

De esa manera todos los antivirus del mercado te catalogarán tu aplicación como un virus dropper. Yo tengo el nod32 instalado y si meto un ejecutable como recurso, nada más compilarlo me lo mete en cuarentena :D

Salu2

Neftali [Germán.Estévez] 03-07-2008 17:11:09

Pensé que dependería del EXE que metas dentro.
Ma parece muy burdo catalogar todos de ese modo. Si se puede explorar los ficheros de un comprimido o encriptado, debería igualmente explorar los ficheros de los recursos; No sólo catalogarlos así sólo por tenerlos.

MAXIUM 03-07-2008 17:46:30

No te rompas la cabeza, usa TmxStorage v1.20a.exe de MaxComponents ;)

GRATIS

Cita:

You can store and access your files within Delphi forms.
Features:
  • It can store files within your forms
  • Compression support
  • It can extract files from executable file at run-time
  • You can access to stored files directly from memory as stream
  • Full source code available

compatible con D5 D6 D7 D2005 D2006 D2007


La franja horaria es GMT +2. Ahora son las 23:49:12.

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