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
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
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
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
[-]
if VarINivelUsuario>=A_nivel4.Tag then ShowMessage('Usted a accedido, al nivel 4')
else ShowMessage(A_nivel4.Hint+' para poder acceder');
if VarINivelUsuario>=A_nivel6.Tag then ShowMessage('Usted a accedido, al nivel 6')
else ShowMessage(A_nivel6.Hint+' para poder acceder');
if VarINivelUsuario>=A_nivel7.Tag then ShowMessage('Usted a accedido, al nivel 7')
else ShowMessage(A_nivel7.Hint+' para poder acceder');
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; 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