Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-04-2006
Avatar de Dragon
Dragon Dragon is offline
Miembro
 
Registrado: dic 2004
Ubicación: Cuba, Ciudad de La Habana.
Posts: 19
Poder: 0
Dragon Va por buen camino
Thumbs up Como salvar desde un programa en delphi con tu propio icono.

La cuestion es que quiero que mi programa hecho en Delphi7 salve unos ficheros pero estos tienen que tener el icono que yo decida.

Como es posible hacer esto??. desde ya les estoy dando las gracias. Soy todo oidos.
saludos.
__________________
Si tienes un problema no te preocupes, porque si tiene solucion no hay de que preocuparce y si no la tiene pues menos hay que preocuparce.(De Aristoteles).
Responder Con Cita
  #2  
Antiguo 12-04-2006
Avatar de German
German German is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 133
Poder: 22
German Va por buen camino
Supongo que te refieres a que una determinada extensión de archivo aparezca en el explorador de Windows con un determinado icono, y que se abra con un determinado programa. Esto puede conseguirse a través de los registros del sistema, pero tendrás que hacerlo en cualquier ordenador que utilice el ejecutable hecho en delphi, e incluir el icono que utilizara en el directorio de tu programa. Para ello, bastaría que comprobaras en el evento "OnCreate" del form principal si estos registros ya están creados, y si no, crearlos.

Por ejemplo, si la extensión fuera ".jur":
Código Delphi [-]
Uses (...) ShlObj, Registry;

(...)

procedure TForm1.FormCreate(Sender: TObject);
var Registro: tRegistry;
begin
  Registro := tRegistry.Create;
  with Registro do
  begin
    RootKey := HKEY_CLASSES_ROOT;
    if not OpenKey('.jur',False) then
    begin
      CreateKey('.jur');
      OpenKey('.jur',False);
      WriteString('','jur');
      CloseKey;
      CreateKey('jur');
      OpenKey('jur',False);
      // Descripción del tipo de archivo personal:
      WriteString('','Archivo personal de mi programa');
      CloseKey;
      CreateKey('jur\DefaultIcon');
      OpenKey('jur\DefaultIcon',False);
      // Ruta hasta el icono que utilizara el tipo de archivo personal:
      WriteString('','C:\MiPrograma\MiIcono.ico,0');
      CloseKey;
      CreateKey('jur\Shell\Open');
      OpenKey('jur\Shell\Open',False);
      // Descripción que aparece en el menu contextual del explorador:
      WriteString('', '&Abrir archivo personal'); 
      CloseKey;
      CreateKey('jur\Shell\Open\Command');
      OpenKey('jur\Shell\Open\Command',False);
      // Ruta hasta el EXE que abrirá el tipo de archivo personal:
      WriteString('', '"C:\MiPrograma\MiEjecutable.exe" "%1"');
      CloseKey;
      // Esto actualiza la "vista" del explorador:
      SHChangeNotify( SHCNE_ASSOCCHANGED,SHCNF_IDLIST,nil, nil);
    end;
    CloseKey;
    Free;
  end;
end;


Nota: La creación de los registros también la podria hacer el programa de instalación de tu aplicación.

Salu2.
__________________
Tengo las manos llenas de dedos... Tengo los dedos llenos de teclas...
Tengo las teclas desordenadas... Tengo el desorden muy controlado...
Tengo el control en mis manos.

Última edición por German fecha: 14-04-2006 a las 00:15:11.
Responder Con Cita
  #3  
Antiguo 13-04-2006
Carloslpl Carloslpl is offline
Registrado
 
Registrado: abr 2006
Posts: 3
Poder: 0
Carloslpl Va por buen camino
Hola German, gracias por tu ayuda la verdad que resolvi con tu respuesta, ahora si pudieras decirme como se hace para que cuando desintale mi programa este elemine el icono a los ficheros que queden en la computadora con la extencion de mi programa, disculpa mi falta de conocimiento en este tema pero es la primera ves que trabajo con cosas del registro de windows.
Salu2s.
Responder Con Cita
  #4  
Antiguo 14-04-2006
Avatar de German
German German is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 133
Poder: 22
German Va por buen camino
Si las claves de registro las crea el instalador (por ej. InstallShield), él mismo se encargará de eliminarlas al desinstalar el programa. Si las crea el ejecutable, con esto bastaría para borrarlas:

Código Delphi [-]
Registro := tRegistry.Create;
with Registro do
begin
  RootKey := HKEY_CLASSES_ROOT;
  DeleteKey('.jur');
  DeleteKey('jur');
  Free;
end;

Salu2.
__________________
Tengo las manos llenas de dedos... Tengo los dedos llenos de teclas...
Tengo las teclas desordenadas... Tengo el desorden muy controlado...
Tengo el control en mis manos.

Última edición por German fecha: 14-04-2006 a las 05:24:15.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como reiniciar (cerrar y volver a abrir) mi propio programa?? AFilth Varios 8 11-08-2005 08:20:39
Como referencio un objeto desde un procedure propio? alehillebrand OOP 3 13-07-2005 16:31:48
Grabar CD desde programa delphi hibero Varios 2 22-10-2004 19:35:00
Ejecutar un programa externo desde un programa de Delphi Roger_Fernandez Varios 3 02-09-2004 18:05:36
Ejecutar winzip desde programa en Delphi Newbie API de Windows 6 11-02-2004 13:02:37


La franja horaria es GMT +2. Ahora son las 16:58:09.


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
Copyright 1996-2007 Club Delphi