Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 20-12-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Vaya, me lié a teclear código y parece que Lepe se me adelanto

Bueno, yo no estoy muy familiarizado con el funcionamiento del Installshield, pero se me ocurre otra forma de hacerlo. La primera vez que se ejecuta el programa, pide que se escoja entre "usuario" y "avanzado". Esto lo dejamos grabado, y ya no lo preguntamos mas veces. Algo así:

La función "SoyAvanzado" devuelve TRUE si el usuario es avanzado, y si el usuario no se había decidido anteriormente entre una de las 2 modalidades, le da la opción de escoger. Colocala en un punto adecuado de tu programa, por ejemplo en el OnCreate del formulario principal.
Código Delphi [-]
uses Registry;

const
  Clave = '1234';

function SoyAvanzado: Boolean;
var
  Str: String;
begin
  Result:= FALSE;
  with TRegistry.Create do
  try
    RootKey:= HKEY_CURRENT_USER;
    if OpenKey('\Software\TuAplicacion',TRUE) then
    begin
      Str:= EmptyStr;
      if ValueExists('Clave') then
        Str:= ReadString('Clave');
      if Str = EmptyStr then
       case MessageBox(0,'¿Eres avanzado?','Usuario',
          MB_YESNOCANCEL or MB_ICONQUESTION or MB_TASKMODAL) of
         IDYES:
           begin
             Str:= InputBox('Usuario','Introduce la clave',EmptyStr);
             if AnsiSameText(Str,Clave) then
               WriteString('Clave',Str)
             else
               ShowMessage('La clave no es correcta, la aplicacion se iniciara como usuario');
           end;
         IDNO:
           begin
             Str:= 'Usuario';
             WriteString('Clave','Usuario');
           end;
         IDCANCEL:
           ShowMessage('La aplicacion se iniciara como usuario');
       end;
      if AnsiSameText(Str,Clave) then
        Result:= TRUE;
      CloseKey;
    end;
  finally
    Free;
  end;
end;

Por ejemplo:
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  BotonAvanzado.Enabled:= SoyAvanzado;
end;

Última edición por seoane fecha: 20-12-2006 a las 12:54:31.
Responder Con Cita
 



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 creo un instalable? miguelml Varios 1 21-05-2006 17:10:15
Problema Con Instalable LAUBLAFO Varios 0 26-05-2005 13:52:00
Generar instalable Dayvis Varios 1 22-10-2004 10:00:31
generando instalable vetustas Varios 3 17-12-2003 10:29:00
Hacer un Instalable aleidania Varios 2 12-07-2003 22:43:31


La franja horaria es GMT +2. Ahora son las 10:30:59.


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