Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-06-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
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.

Otra opción es valerte de la propiedad UserNames de TIBDatabaseInfo.

Código Delphi [-]
  IBDatabase.Connected:= True;
  ListBox1.Items:= IBDatabaseInfo.UserNames;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #2  
Antiguo 10-06-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.696
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Creo recordar que también el componente TIBDataBaseInfo tiene una propiedad que lista los usuarios conectados, creo que era UserNames, devuelve un StringList con la lista.

Edito: ya se me adelantó ecfisa
Responder Con Cita
  #3  
Antiguo 10-06-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.696
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Añado otra forma:

Código SQL [-]
SELECT DISTINCT RDB$USER
  FROM RDB$USER_PRIVILEGES;

Creo que sólo con FB2.1 en adelante.
Responder Con Cita
  #4  
Antiguo 10-06-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 21
Chris Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Añado otra forma:

Código SQL [-]
SELECT DISTINCT RDB$USER
  FROM RDB$USER_PRIVILEGES;

Creo que sólo con FB2.1 en adelante.
Creo que RDB$USER_PRIVILEGES contiene información de los privilegios de los usuarios, no los que en este momento están conectados.

Saludos,
Chris
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #5  
Antiguo 10-06-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
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.

Creo que la consulta SQL completa sería:
Código Delphi [-]
SELECT MON$USER, MON$REMOTE_ADDRESS, MON$REMOTE_PID, MON$TIMESTAMP FROM MON$ATTACHMENTS

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 10-06-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 28
Caral Va por buen camino
Hola
Yo lo que hago es muy simple.
Tengo usuarios que entran al programa por medio de un login.
Una vez que esta autorizado cambio un campo activo por SI.
Una vez que el usuario sale del programa el campo activo vuelve a cambiar a NO.
Simple, en una pantalla puedo ver los usuarios que estan usando el programa en tiempo real, incluso si quisiera podria poner hora y dia de entrada y salida.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #7  
Antiguo 10-06-2011
Avatar de casacham
casacham casacham is offline
Miembro
 
Registrado: abr 2006
Ubicación: Cordoba->Argentina. Arboleas->Almeria->España
Posts: 184
Poder: 21
casacham Va por buen camino
Cool Que pasa si se corta la energia

Hola Caral

Yo utilizo un sistema similar para loguear a los usuarios de la base de datos, y esta pregunta que da inicio al hilo me ha surgido un monton de veces. No me anime a hacer lo que propones porque se me ocurrio que si hubo un corte de luz o algo por el estio (resetean la maquina), queda registrado como logueado cuando puede no estarlo.

Se me ocurre que se pueden utilizar los componentes INDY cliente y servidor UDP o TCP, similar a un programa de chat, para lograr una interconeccion entre los ejecutables y se den aviso entre ellos de quien esta logueado. Estoy tratando de aprender mas sobre como utilizar esos componentes. Me gustaria saber si alguien ha logrado plasmar esa idea y que opinas tu (CARAL) al respecto.
__________________
La vida no trata de encontrarse a uno mismo, sino de crearse a uno mismo.
Tanto si piensas que puedes como si no, estarás en lo cierto
Responder Con Cita
  #8  
Antiguo 15-06-2011
Avatar de ingabraham
ingabraham ingabraham is offline
Miembro
 
Registrado: ago 2007
Posts: 614
Poder: 20
ingabraham Va por buen camino
Cita:
Empezado por Caral Ver Mensaje
Hola
Yo lo que hago es muy simple.
Tengo usuarios que entran al programa por medio de un login.
Una vez que esta autorizado cambio un campo activo por SI.
Una vez que el usuario sale del programa el campo activo vuelve a cambiar a NO.
Simple, en una pantalla puedo ver los usuarios que estan usando el programa en tiempo real, incluso si quisiera podria poner hora y dia de entrada y salida.
Saludos
no me actualiza la lista

1. al iniciar usuario
Código Delphi [-]
   DMDatos.CambiarUsuario(CBUsuarios.Text,'Conectado');

Procedure TDMDatos.CambiarUsuario(PUsuario,PEstado:String);
Begin
   With ConsultaFlash do
   Begin
    close;
    SQL.Clear;
    SQL.Add('Update Usuarios Set US_ESTADO=''' +PEstado+'''  where US_USUARIO =''' +PUsuario+''' ');
    ExecQuery;
  end;
     DMDatos.IBTransaction.CommitRetaining;
End;
2. al salir
Código Delphi [-]
  DMDatos.CambiarUsuario(CBUsuarios.Text,'DesConectado');
3. el timer q me muestra los usuarios
Código Delphi [-]

 if Temporizador.Interval  = 5000  then
 begin

  TreeView1.Items.Clear;
   With DMDatos.IBConsultaSql do
    Begin
      Sql.Clear;
      Sql.Add('Select * From USUARIOS ');
      Open;
      DMDatos.IBConsultaSql.First;
       While Not DMDatos.IBConsultaSql.Eof Do
       Begin
          if  'Conectado' = DMDatos.IBConsultaSql.fieldbyname('US_ESTADO').AsString THEN
            TreeView1.Items.AddChild(nil, DMDatos.IBConsultaSql.fieldbyname('US_USUARIO').AsString  );

           DMDatos.IBConsultaSql.Next;
       End;
   End;
 end;
pero al momento de otro pc q esta en la red entra no me actualiza la lista. parece que no reconociera los cambios de la bdatos, lo la refrescara no se si algun trigger o procedure me pueda solucionar esto.
__________________
Enseñar es la virtud de un sabio.
Responder Con Cita
  #9  
Antiguo 10-06-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 21
Chris Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola.

Creo que la consulta SQL completa sería:
Código Delphi [-]
SELECT MON$USER, MON$REMOTE_ADDRESS, MON$REMOTE_PID, MON$TIMESTAMP FROM MON$ATTACHMENTS

Saludos.
Esa sería la solución perfecta, pero a cómo dije anteriormente estos datos MON$* solo están disponibles a partir de la versión 2.1 de Firebird y la que está usando el compañero lamentablemente es la 2.0.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #10  
Antiguo 10-06-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.696
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
En un soft que desarrollé hace años usé un sistema prácticamente idéntico al descrito por Neftalí.
Por cierto, no sé de dónde he sacado la sql que puse antes . Para controlar las conexiones se puede hacer también en un trigger que haga saltar una excepción cuando llegue al máximo permitido, a ver si ahora lo copio bien:

Código SQL [-]
CREATE EXCEPTION bloquear 'Ha superado el máximo de conexiones permitidas';

create trigger ocVerificarConexiones on connect as
BEGIN
   if ((select count(*) from MON$ATTACHMENTS) > 5) then EXCEPTION bloquear;
END

Aunque creo que también está disponible a partir de fb2.1
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
Saber si esta conectado el adaptador de corriente en una laptop javier_ecf API de Windows 8 14-01-2011 00:51:37
como saber si un clientSocket esta conectado pipo123 Internet 0 19-04-2007 22:22:20
¿ Quien está conectado a mi equipo ? Roilo Redes 1 27-07-2006 23:01:40
Programa para saber si estoy conectado. Kamikaze Internet 2 13-11-2004 16:47:46
Saber si esta conectado Kaesbu Internet 1 22-09-2003 14:09:45


La franja horaria es GMT +2. Ahora son las 06:22:27.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi