Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
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
  #2  
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
  #3  
Antiguo 26-05-2016
JuancaDJ JuancaDJ is offline
Miembro
NULL
 
Registrado: may 2016
Posts: 17
Poder: 0
JuancaDJ Va por buen camino
Hola, gracias por la ayuda nuevamente me interesa mucho esta parte: crea un solo archivo, lo importas en una tabla de memoria y tienes practicamente el uso como si fuera una base de datos.

Ya que al no poder descargar el odbc de mysql entonces he tenido que hacer todo ese reguero de ficheros, podrias explicarme como hago eso que me dices arriba?
Gracias
Responder Con Cita
  #4  
Antiguo 27-05-2016
rocksoft rocksoft is offline
Miembro
NULL
 
Registrado: may 2016
Posts: 71
Poder: 9
rocksoft Va por buen camino
Hola JuancaDJ,

una pregunta por que quieres usar el odbc de mysql si puedes acceder directamente? con los componentes firedac o ZeosLib.

Mira si tienes algun componente MemData en tu delphi, sino puedes buscar alguno libre
si usas DevExpress lo cargas asi:

Código Delphi [-]
dxMemData1.LoadFromTextFile('c:\xxxx.txt');
Responder Con Cita
  #5  
Antiguo 27-05-2016
JuancaDJ JuancaDJ is offline
Miembro
NULL
 
Registrado: may 2016
Posts: 17
Poder: 0
JuancaDJ Va por buen camino
Ummm estoy usando delphi7 esos componentes vienen ahi?
El tema de usar Mysql es que queria usar un base de datos para almacenar usuario, passwd y tiempo conectado pero al no poder poseer una base de datos he tenido que hacer 3 ficheros, usuario, passwd y tiempo, que en el caso del fichero tiempo se me esta complicando pues si tengo 300 usuarios tengo que hacer unos 300 ficheros ya que si dejo solo 1, cuando el usuario x cierra su aplicacion no podra guardar los cambios poque el usuario z aun esta conectado y el fichero esta en uso, por eso el tema de una base de datos o algo similar que me permita eso
Responder Con Cita
  #6  
Antiguo 27-05-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.052
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Creo que no está muy claro, exactamente, lo que quieres conseguir. Creo que estás intentando solucionar algo de forma no demasiado correcta. Deberías centrarte primero en explicar claramente la problemática que necesitas solucionar. Luego buscar la mejor solución para esa problemática. Finalmente implementar esa solución.
Tú estás empezando por la última parte, sin saber si es la mejor solución para esa problemática.
Es mi parecer, puede que no haya entendido bien.
Responder Con Cita
  #7  
Antiguo 01-06-2016
JuancaDJ JuancaDJ is offline
Miembro
NULL
 
Registrado: may 2016
Posts: 17
Poder: 0
JuancaDJ Va por buen camino
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;

Esto me quedó asi:
Código Delphi [-]
procedure TForm2.FormActivate(Sender: TObject);
begin
  label2.Caption:=form1.Edit1.Text;
  timer1.Enabled:=true;
  memo1.Lines.LoadFromFile('/veryimport/data/time/' + form1.Edit1.Text + '.time');
  labeltimer.Caption:=memo1.Lines.Text;
end;

Referente a la problematica que tengo es simple, la idea era usar una Base de Datos pero ya por las razones expuestas no pude usarla y tuve que usar ficheros txt para mi solucion.

Última edición por ecfisa fecha: 02-06-2016 a las 07:23:01. Razón: corregir WYSIWYG
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
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 10:04:42.


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