Ver Mensaje Individual
  #6  
Antiguo 31-03-2012
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Reputación: 23
José Luis Garcí Va camino a la fama
Creamos un nuevo projecto, ponemos de la pestaña Standard 1 edit,1 ActionList, 1 MainMenu, 3 Botones,
de la pestaña additional ponemos un StaticText y de la pestaña win32 un Statusbar, quedaria más o menos así:



Ponemos el StaticText el autosize en false y ponemos el siguiente texto

Cita:
0=(Cualquiera)
4=0400
6=0600
7=AlfaDog
8=0A8l0f0a
9=L0e1v2e3l495

Clave=Nova

Pinchamos en el statusbar 2 veces y creamos dos paneles, al primero ponemos el Width a 400 y en el segundo rellenamos el text con lo siguiente

Cita:
Nivel de usuario [ ]


Ponemos el Statusbar en Autohin picamos el Checked y en el Formulario lo mismo en ShowHint.

Ahora abrimos el codigo del formulario y des pues de



Código Delphi [-]
var
  Form1: TForm1;

creamos la variable VarINivelUsuario quedando de la siguiente manera

Código Delphi [-]
var
  Form1: TForm1;
  VarINivelUsuario:Integer;

Volvemos al modo diseño yn en los evento vuscamos el OnCreate, pichamos y ponemos el Siguiente Código

Código Delphi [-]
   VarINivelUsuario:=0;
   StatusBar1.Panels[1].Text:='Nivel de usuario [0]';
   Edit1.Enabled:=False;
   Edit1.Text:='';
   Edit1.PasswordChar:='*';


Pinchamos en el ActionList dos veces y nos sale esta pantalla



Pinchamos en New Action (con el ratón botón derecho o en el icono de carpeta con un asterisco rojo) y
rellenamos los datos en el object inspector de la siguiente manera



Creamos las siguientes actiones

Cita:
A_Salir, Tag=0, caption=Salir y hint=Salimos del programa
A_CambiarNivel, Tag=0, caption=Cambiar nivel de usuario y hint=Cambia el nivel de usuario para acceder a las diferentes zonas
A_nivel4, Tag=4, caption=Nivel 4 y hint=Necesitas nivel
A_nivel6, Tag=6, caption=Nivel 6 y hint=Necesitas nivel
A_nivel7, Tag=7, caption=Nivel 7 y hint=Necesitas nivel
A_nivel8, Tag=8, caption=Nivel 8 y hint=Necesitas nivel
A_nivel9, Tag=9, caption=Nivel 9 y hint=Necesitas nivel 9 y clave de seguridad
Una vez terminado, pinchamos en A_Salir y ponemos el siguiente codigo en A_SalirExecute

Código Delphi [-]
   Application.Terminate;

Ahora pinchamos en A_CambiarNivel y ponemos el siguiente código

Código Delphi [-]
    Edit1.Enabled:=True;
    Edit1.SetFocus;

Seguimos con los niveles del 4 al 8 y en cada uno ponemos el siguiente codigo, cambiandolo por el numero del nivel
tanto en donde miramos el tag como en los textos, quedando el código

Código Delphi [-]
//Para nivel 4
    if VarINivelUsuario>=A_nivel4.Tag then ShowMessage('Usted a accedido, al nivel 4')
                                      else ShowMessage(A_nivel4.Hint+' para poder acceder');
//Para nivel 6
    if VarINivelUsuario>=A_nivel6.Tag then ShowMessage('Usted a accedido, al nivel 6')
                                      else ShowMessage(A_nivel6.Hint+' para poder acceder');
//Para nivel 7
    if VarINivelUsuario>=A_nivel7.Tag then ShowMessage('Usted a accedido, al nivel 7')
                                      else ShowMessage(A_nivel7.Hint+' para poder acceder');
//Para nivel 8
    if VarINivelUsuario>=A_nivel8.Tag then ShowMessage('Usted a accedido, al nivel 8')
                                      else ShowMessage(A_nivel8.Hint+' para poder acceder');
Y por último nivel 9 con el código

Código Delphi [-]
    if VarINivelUsuario>=A_nivel9.Tag then
    begin
      Edit1.Enabled:=True;
      Edit1.SetFocus;
    end else ShowMessage('No tiene nivel 9 para poder acceder');


Ahora preparamos el main menu y ponemos en el siguiente orden


Cita:
Caption = Acciones
Action = A_nivel4
Action = A_nivel6
Action = A_nivel7
Action = A_nivel8
Action = A_nivel9
Caption = -
Action = A_CambiarNivel
Caption = -
Action =A_Salir
Quedando el menú de la siguiente manera



Cambiamos el texto del Button1 a Ejecutar edit y el botton2 el action a A_CambiarNivel
Pinchamos dos veces en el button1 y ponemos el siguiente código

Código Delphi [-]
var VarBPro:Boolean;  //Para comrpobar si se ha ejecutado algún proceso
begin
    VarBPro:=false;
    if VarINivelUsuario=9 then
    begin
       if UpperCase(Edit1.Text)='NOVA' then
       BEGIN
           VarBPro:=True;
           ShowMessage('ES USTED USUARIO DE NIVEL 9 Y CONOCE LA CLAVE, FELICIDADES');
       END Else ShowMessage('La Clave introducida no Es Valida');
    end;
    if (VarBPro=false) and (UpperCase(Edit1.Text)='0400') then
    begin
       VarBPro:=True;
       StatusBar1.Panels[1].Text:='Nivel de usuario [4]';
       VarINivelUsuario:=4;
    end;
    if (VarBPro=false) and (UpperCase(Edit1.Text)='0600') then
    begin
       VarBPro:=True;
       StatusBar1.Panels[1].Text:='Nivel de usuario [6]';
       VarINivelUsuario:=6;
    end;
    if (VarBPro=false) and (UpperCase(Edit1.Text)='ALFADOG') then
    begin
       VarBPro:=True;
       StatusBar1.Panels[1].Text:='Nivel de usuario [7]';
       VarINivelUsuario:=7;
    end;
    if (VarBPro=false) and (UpperCase(Edit1.Text)='0A8L0F0A') then
    begin
       VarBPro:=True;
       StatusBar1.Panels[1].Text:='Nivel de usuario [8]';
       VarINivelUsuario:=8;
    end;
    if (VarBPro=false) and (UpperCase(Edit1.Text)='L0E1V2E3L495') then
    begin
       VarBPro:=True;
       StatusBar1.Panels[1].Text:='Nivel de usuario [9]';
       VarINivelUsuario:=9;
    end;
    if (VarBPro=false) then
    begin
       StatusBar1.Panels[1].Text:='Nivel de usuario [0]';
       VarINivelUsuario:=0;
    end;
    Edit1.Text:='';
    Edit1.Enabled:=False;
end;

y hemos terminado, ten en cuenta que con esta demo una vez metas el nivel 9, no te dejara cambiar de nivel, ya que esta hecha muy básica, podría arreglarse con otra variable local, para saber si se ha pulsado cambio de nivel de usuario o solicitud de clave, espero te sirva de ayuda


Código del Ejemplo
Archivos Adjuntos
Tipo de Archivo: zip Ejemplo control usuarios (2).zip (21,0 KB, 60 visitas)
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"

Última edición por José Luis Garcí fecha: 31-03-2012 a las 11:12:37. Razón: Arreglos y comentarios
Responder Con Cita