Ver Mensaje Individual
  #7  
Antiguo 27-02-2007
Avatar de ixMike
ixMike ixMike is offline
Miembro
 
Registrado: feb 2004
Posts: 1.151
Reputación: 22
ixMike Va por buen camino
Perdón si te causé confusión. El frmMain (FormPrincipal) es el MDI que contiene a las hijas, y no tiene nada que ver con el FLogin.


Aquí está el código. Es del archivo "frmMain.pas", que es donde se crea la SplashScreen (no en el DPR, como te había dicho; eso lo hago en otro programa), la ventana Login y se inicia el programa.

Código Delphi [-]
unit frmMain;
...
var
  FFondo: TFFondo;
  Usuario: String;
 
implementation
...
procedure TfrmMain.FormCreate(Sender: TObject);
begin
Usuario:='';
FSplash:=TFSplash.Create(Self);
FSplash.Show;
//EAccion es un TLabel que indica qué está haciendo el programa
//Barra es un TGauge que indica el porcentaje de la carga
FSplash.EAccion.Caption:='Inicializando...';
...
FSplash.Barra.Progress:=FSplash.barra.Progress+1;
FSplash.Repaint;
...
FSplash.EAccion.Caption:='Autorizando...';
FSplash.Barra.Progress:=FSplash.barra.Progress+1;
FSplash.Repaint;
FLogin:=TFLogin.Create(Self);
//Al pulsar el boton Aceptar hace las comprobaciones, y si usuario y contraseña
//son correctos asigna a ModalResult mrOk, sino sale un mensaje. Hay otro botón, que
//sirve para salir del programa
If FLogin.ShowModal=mrOk then
  begin
  Usuario:=FLogin.CUsuario.Text;
  ...
  end;
FLogin.Free;
FSplash.EAccion.Caption:='Leyendo datos...';
FSplash.Barra.Progress:=FSplash.Barra.Progress+1;
FSplash.Repaint;
...
FSplash.Free;
...
end;
...
Y una vez iniciado el programa, para cambiar de usuario:
Código Delphi [-]
Procedure TfrmMain.mCambiarUsuario(Sender: TObject);
begin
... //Guardar todos los datos
Visible:=False;
FLogin:=TFLogin.Create(Self);
FLogin.CUsuario.Text:=Usuario; //Un toque de elegancia, recuerda el último usuario
Usuario:=''; //Por si las moscas
FLogin.ShowModal;
If FLogin.ModalResult:=mrOk
  begin
  Usuario:=FLogin.CUsuario.Text;
  ...
  end;
end;


Espero que te sea de ayuda.

Salu2


P.D:
Cita:
Empezado por BlackDaemon
PD me gustaría mucho que me envies el código
Aquí preferimos poner el código para que todo el mundo lo vea. Además sería una tontería enviarte todo el código de mi programa, con el ejemplo que aquí te he puesto hay suficiente (pues en el proceso de carga hace muchísimas cosas).

Última edición por ixMike fecha: 27-02-2007 a las 20:27:32.
Responder Con Cita