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 29-11-2012
feliz-58 feliz-58 is offline
Miembro
 
Registrado: sep 2012
Posts: 314
Poder: 12
feliz-58 Va por buen camino
Smile Crear Varios usuarios a partir de mi codigo

Este es mi codigo:

Código Delphi [-]
procedure Tiniciarsesion.BitBtn1Click(Sender: TObject);

begin

if
edit1.Text<>'usuario1'

then
showmessage('Acceso Denegado, Su Nombre de Usuario es Incorrecto');

if
edit1.Text='usuario1'

then

begin

if
edit2.Text<>'1234'

then
showmessage('Acceso Denegado, Su Contraseña es Incorrecta') ;

if
edit2.Text='1234' 

then
principal.Show;
edit2.Clear;

end;
end;

Pero es de un solo usuario, como le agrego dos mas?

Gracias de antemano...
Responder Con Cita
  #2  
Antiguo 29-11-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola feliz-58.

No sé donde tenes guardado los datos de los usuarios, generalmente se hace en la bd o en en un archivo. Pero sólo a fin del ejemplo voy a situar nombres de usuario y contraseñas como elementos de dos arrays of const.
Código Delphi [-]
...
implementation

const
  MAXUSR = 3;
  UserNames     : array[1..MAXUSR] of string=('user1','user2','user3');
  UserPasswords : array[1..MAXUSR] of string=('1234','2345','3456');


function TieneAcceso(const Name: string; const Pwd: string): boolean;
var
  i: Integer;
begin
  Result:= False;
  for i:= 1 to MAXUSR do
    if (Name = UserNames[i])and(Pwd = UserPasswords[i]) then
      Result:= True;
end;

// Llamada ejemplo
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  if not TieneAcceso(Edit1.Text, Edit2.Text) then
    raise Exception.Create('No tiene Acceso');
  ShowMessage('Todo Ok, puede continuar...');
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 29-11-2012
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
feliz-58,

Revisa este código:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin

   if (txtUsername.Text = 'usuario1') and (txtPassword.text = '1234') or
      (txtUsername.Text = 'usuario2') and (txtPassword.text = '5678') or
      (txtUsername.Text = 'usuario3') and (txtPassword.text = '9123') or
      (txtUsername.Text = 'usuario4') and (txtPassword.text = '4567')
   then
   begin
      // Tu Código a Procesar
   end
   else
      MessageDlg('Acceso Denegado: Username y/o Password Incorrectos', mtinformation, [mbok], 0);

end;
Nota: Lo ideal es que la información de seguridad este en una BD, para algo simple el código anterior es válido.

Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 29-11-2012 a las 20:27:04.
Responder Con Cita
  #4  
Antiguo 29-11-2012
feliz-58 feliz-58 is offline
Miembro
 
Registrado: sep 2012
Posts: 314
Poder: 12
feliz-58 Va por buen camino
Question Falta....

Como es la otra forma que dices, de guardar los datos en una base de datos? como lo hago?

Me gustaria aprender las dos formas... Si no son muchas molestias, Solo quiero aprender

Muchas Gracias...
Responder Con Cita
  #5  
Antiguo 29-11-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por feliz-58 Ver Mensaje
Como es la otra forma que dices, de guardar los datos en una base de datos? como lo hago?

Me gustaria aprender las dos formas... Si no son muchas molestias, Solo quiero aprender

Muchas Gracias...
Hola.

No es ninguna molestia, sólo indicanos con que DBMS deseas trabajar y con que componentes conectarte y vemos la forma de hacerlo.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 29-11-2012
feliz-58 feliz-58 is offline
Miembro
 
Registrado: sep 2012
Posts: 314
Poder: 12
feliz-58 Va por buen camino
Cita:
Empezado por nlsgarcia Ver Mensaje
feliz-58,

Revisa este código:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin

   if (txtUsername.Text = 'usuario1') and (txtPassword.text = '1234') or
      (txtUsername.Text = 'usuario2') and (txtPassword.text = '5678') or
      (txtUsername.Text = 'usuario3') and (txtPassword.text = '9123') or
      (txtUsername.Text = 'usuario4') and (txtPassword.text = '4567')
   then
   begin
      // Tu Código a Procesar
   end
   else
      MessageDlg('Acceso Denegado: Username y/o Password Incorrectos', mtinformation, [mbok], 0);

end;
Nota: Lo ideal es que la información de seguridad este en una BD, para algo simple el código anterior es válido.

Espero sea útil

Nelson.
Muchas Gracias buscaba esta forma, trataba de inventarmela pero no llegue con ella jaja, diganme como es lo de la bas de datos
Responder Con Cita
  #7  
Antiguo 29-11-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por feliz-58 Ver Mensaje
Muchas Gracias buscaba esta forma, trataba de inventarmela pero no llegue con ella jaja, diganme como es lo de la bas de datos
Te acaban de contestar, justo el mensaje de arriba.
Responder Con Cita
  #8  
Antiguo 29-11-2012
feliz-58 feliz-58 is offline
Miembro
 
Registrado: sep 2012
Posts: 314
Poder: 12
feliz-58 Va por buen camino
Es...

Cita:
Empezado por ecfisa Ver Mensaje
Hola.

No es ninguna molestia, sólo indicanos con que DBMS deseas trabajar y con que componentes conectarte y vemos la forma de hacerlo.

Saludos.
La base de datos es Access y usare un combobox para el usuario, un edit para la contraseña y dos botones.

Gracias
Responder Con Cita
  #9  
Antiguo 29-11-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por feliz-58 Ver Mensaje
La base de datos es Access y usare un combobox para el usuario, un edit para la contraseña y dos botones.

Gracias
Hola.

Un ejemplo sencillo:
Código Delphi [-]
...
function TForm1.UsuarioValido(const aName, aPassword: string): Boolean;
begin
  with ADOQuery1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT USR_NAME, USR_PWD FROM USUARIOS');
    SQL.Add('WHERE USR_NAME =:PUSRNAME AND USR_PWD =:PUSERPWD');
    Parameters.ParamByName('PUSRNAME').Value := aName;
    Parameters.ParamByName('PUSERPWD').Value := aPassword;
    Open;
    Result:= not IsEmpty;
    Close;
  end;
end;
...

// Llamada:
procedure TForm1.btnIngresarClick(Sender: TObject);
begin
  if not UsuarioValido(ComboBox1.Text,Edit2.Text) then
  begin
     MessageBox(Handle, 'Los datos ingresados son incorrectos',
       'ERROR', MB_ICONERROR + MB_OK);
     Close
  end;
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 29-11-2012 a las 23:00:03.
Responder Con Cita
  #10  
Antiguo 29-11-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Para no dejarte el ejemplo a medias, la carga del combo al inicio del form:
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  ComboBox1.Text:= '';
  with ADOQuery1 do
  begin
    Open;
    while not Eof do
    begin
      ComboBox1.Items.Add(FieldByName('USR_NAME').Value);
      Next
    end;
    Close
  end
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #11  
Antiguo 30-11-2012
feliz-58 feliz-58 is offline
Miembro
 
Registrado: sep 2012
Posts: 314
Poder: 12
feliz-58 Va por buen camino
Pregunta

Cuales campos deben ir en la base de datos? como se llamaran?

Gracias.

//Saludos
Responder Con Cita
  #12  
Antiguo 30-11-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.
Cita:
Empezado por feliz-58 Ver Mensaje
Cuales campos deben ir en la base de datos?
Minimamente deberán ser dos campos: El nombre del usuario y la contraseña. Ambos con la capacidad de almacenar cadenas de caracteres.

Cita:
Empezado por feliz-58 Ver Mensaje
como se llamaran?
Con los nombres que desees ponerle.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
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
Uso de Delphi por varios usuarios en un mismo equipo Kubelo Varios 11 29-09-2010 16:58:46
Problema de BDE en Win XP con varios usuarios Sidi_Bibi Conexión con bases de datos 6 28-01-2007 00:42:49
Remote DataModulo con varios usuarios marianoF Providers 0 30-12-2005 20:21:28
varios usuarios maruenda Conexión con bases de datos 1 30-12-2003 17:23:15
Crear un EXE a partir de un TXT o CPP aleidania Varios 1 25-10-2003 18:36:45


La franja horaria es GMT +2. Ahora son las 04:31:59.


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