Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-05-2016
JuancaDJ JuancaDJ is offline
Miembro
NULL
 
Registrado: may 2016
Posts: 17
Poder: 0
JuancaDJ Va por buen camino
Bueno ya me llevo el codigo para probarlo a ver que tal me va, pero sigo sin entender esta parte:

Código Delphi [-]
var   ix : Integer;   pIn,uIn: Boolean; 
begin   ix := User.IndexOf(edUser.Text);
 uIn := ix <> -1;   if uIn then     pIn := edPassword.Text = Password[ix];
 if not (pIn and uIn) then
ademas de que
edUser.Text edPassword que son? dos edit que tengo que tener solamente en el formulario?, ya los listbox no los necesitaria con esta opcion¿?

Última edición por JuancaDJ fecha: 23-05-2016 a las 23:39:42. Razón: Resaltar sintaxis de codigo
Responder Con Cita
  #2  
Antiguo 23-05-2016
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 JuancaDJ.

Por favor cuando incluyas código en tus mensaje utiliza TAG's para darle más legibilidad. Te pongo una imágen que explica el uso:


Con respecto a tu última consulta, edUser y edNombre serían los Edits que mencionas en tu primer mensaje. Mientras que los ListBox son innecesarios siendo reemplazados por las variables User y Password de tipo TStrings.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 23-05-2016
JuancaDJ JuancaDJ is offline
Miembro
NULL
 
Registrado: may 2016
Posts: 17
Poder: 0
JuancaDJ Va por buen camino
Gracias por el dato de las etiquetas para codigos, pues andaba en busca de eso pero no decia code en ningun lado
Y tambien gracias por aclararme eso de los edit y lo innecesario que resultan los listbox, con esta variable, pero podrias explicarme mas o menos

Código Delphi [-]
ix := User.IndexOf(edUser.Text);   uIn := ix <> -1;   if uIn then     pIn := edPassword.Text = Password[ix];   if not (pIn and uIn) then

Gracias
Responder Con Cita
  #4  
Antiguo 23-05-2016
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
Perdón, olvidé ese punto

Te comento las líneas de código que te resultan confusas:
Código Delphi [-]
var 
  ix : Integer; // variable que almacenará el índice        
  pIn, uIn: Boolean;  // True si logran el acceso, False de otro modo
begin 
  ix := User.IndexOf(edUser.Text);  // En ix el índice del nombre de usuario o -1 si no existe
  uIn := ix <> -1;   // uIn es verdadero si ix <> -1
  if uIn then   // si el nombre existe -> controlar contraseña
     pIn := edPassword.Text = Password[ix]; // pIn es True si la contraseña ingresada = almacenada
  if not (pIn and uIn) then // si al menos uno de los dos es falso
     // Mostrar error
...
Encontrarás una explicación mas detallada en la ayuda de Delphi (estando el cursor sobre el término deseado presiona F1), además te puede resultar útil:Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 24-05-2016
JuancaDJ JuancaDJ is offline
Miembro
NULL
 
Registrado: may 2016
Posts: 17
Poder: 0
JuancaDJ Va por buen camino
Ahh yap, pero ese codigo hace lo que plantié en la problematica del incio?
o sea tengo 1 fichero de texto plano con 10 usuarios y otro con 10 contraseñas, por al usuario 1 le corresponde la contraseña 1 del fichero passwd, no es que eso va a escanear el fichero de texto y decir de los 10 usuarios si existe el usuario pepito en el puesto 4, y en el fichero passwd existe la contraseña de pepito en el puesto 10, no no es pepito puesto 4 y la contraseña de pepito igual en el puesto 4
Responder Con Cita
  #6  
Antiguo 24-05-2016
rocksoft rocksoft is offline
Miembro
NULL
 
Registrado: may 2016
Posts: 71
Poder: 9
rocksoft Va por buen camino
Justamente

en esta linea esta la magia:
Código Delphi [-]
ix := User.IndexOf(edUser.Text);  // En ix el índice del nombre de usuario o -1 si no existe

la explicación: LINK
Responder Con Cita
  #7  
Antiguo 26-05-2016
JuancaDJ JuancaDJ is offline
Miembro
NULL
 
Registrado: may 2016
Posts: 17
Poder: 0
JuancaDJ Va por buen camino
Muchas gracias, heche a andar el ejemplo que me dieron y me sirvio de maravillas pero tengo un problema, ya que si analizan el primero post, ese usuario necesitaba cumplir con ciertos requisitos, que ya con este codigo me ayudaron mucho, pero una vez que ese usuario era valido, se cargarma un segundo formalario que controlaba el tiempo disponible de ese usuario, es tipo un cibercafe, si tienes tiempo puedes hacer esto o aquello si no no, entonces el segundo form tenia esto:

Código Delphi [-]
procedure TForm2.FormActivate(Sender: TObject);
begin

//usuario 0
//timer1.Enabled:=true;
if form1.Edit1.Text=form1.ListBox1.Items.Strings[0] then
memo1.Lines.LoadFromFile('/veryimport/data/time0.dll');
labeltimer.Caption:=memo1.Lines.Text;

// usuario 1
//timer1.Enabled:=true;
if form1.Edit1.Text=form1.ListBox1.Items.Strings[1] then
memo1.Lines.LoadFromFile('/veryimport/data/time1.dll');
labeltimer.Caption:=memo1.Lines.Text;

end;

end.


procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//usuario 0
memo1.Lines.Text:=labeltimer.Caption;
if form1.Edit1.Text=form1.ListBox1.Items.Strings[0] then
memo1.Lines.SaveToFile('/veryimport/data/time0.dll');
form1.Close;

//usuario1
if form1.Edit1.Text=form1.ListBox1.Items.Strings[1] then
memo1.Lines.SaveToFile('/veryimport/data/time1.dll');
form1.Close;

¨Timer¨¨

LabelTimer.Caption:= FormatdateTime('hh:mm:ss',StrToDateTime(LabelTimer.Caption) -0.00001);
if labelTimer.caption='00:00:00' then
form1.Close; //Se cierra la aplicacion

CVomo pueden ver cuando en el form1.edit1 se insertaba cierto usuario entonces ese form2 cargaba el fichero tiempo que controlaba ese usuario, entonces la pregunta es, puede prescidir de crear cientos de ficheros tiempo y hacer tipo el de usuario y contraseña¿, o sea que cargue de una lista el que pertenece a cada usuario y finalizada su session guarde en ese mismo lugar el valor con el que termina u obligatoriamente si tiene que hacerse cientos de ficheros, uno por usuario??
Gracias
Responder Con Cita
  #8  
Antiguo 26-05-2016
rocksoft rocksoft is offline
Miembro
NULL
 
Registrado: may 2016
Posts: 71
Poder: 9
rocksoft Va por buen camino
Hola JuancaDJ,

no se pero creo que te estas enredando tu solo con tanto arquivo, por que no usas una base de datos plana y te ahorras muchos problemas, o en el peor de los casos, crea un solo archivo, lo importas en una tabla de memoria y tienes practicamente el uso como si fuera una base de datos.

Ademas no es una buena practica lo que estas haciendo preguntado el estado de un componente de otra unit, muy aparte de que empiezas a repetir codigo, que pasaria si tienes 300 usuarios, mejor le pasas la variable a la forma2 que es el index de tu listbox que seria ix= 0; y te ahorras lo que esta en rojo


Código Delphi [-]
procedure TForm2.FormActivate(Sender: TObject);
begin

//usuario 0
//timer1.Enabled:=true;
if form1.Edit1.Text=form1.ListBox1.Items.Strings[0] then
memo1.Lines.LoadFromFile('/veryimport/data/time'+inttostr(ix)+'.dll');
labeltimer.Caption:=memo1.Lines.Text;

// usuario 1
//timer1.Enabled:=true;
if form1.Edit1.Text=form1.ListBox1.Items.Strings[1] then
memo1.Lines.LoadFromFile('/veryimport/data/time1.dll');
labeltimer.Caption:=memo1.Lines.Text;

end;
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Propiedades en listbox - Listbox vs TGrid otras opciones vicens22 Desarrollo en Delphi para Android 6 13-10-2014 07:47:28
ListBox FrianxD C++ Builder 3 21-01-2008 22:14:11
Como estan las passwd en servidor Io PHP 10 07-01-2008 23:10:58
agregar y/o eliminar items de un listbox a partir de otro listbox Goyo PHP 2 27-09-2007 16:46:30
listbox gsilvei Varios 2 06-09-2006 04:20:44


La franja horaria es GMT +2. Ahora son las 04:32:50.


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