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 12-05-2008
cyber_zero cyber_zero is offline
Miembro
 
Registrado: abr 2008
Posts: 22
Poder: 0
cyber_zero Va por buen camino
Talking novato en Delphi 7

hola buenas tardes foro, se que esto podria llegar a sonar muy, pero muy raro a este nivel, pero tengo duda sobre como puedo ocultar algo para diferentes usuarios.

El problema es que para acceder a la aplicacion pido una contraseña, y dependiendo del usuario es los privilegios que se le otorgan dentro de la misma aplicacion, como borrar algo o acivar botones, alguien me podria ayudar, de antemano se los agradezco, gracias.
Responder Con Cita
  #2  
Antiguo 12-05-2008
hugo_Junior hugo_Junior is offline
Miembro
 
Registrado: may 2008
Posts: 19
Poder: 0
hugo_Junior Va por buen camino
{Este es un ejemplo con un menú con prioridades, espero que te sirva}
User,Task,I,X:Integer;
begin
ing_clave.visible:=false;
ing_clave.Enabled:=false;{ing_clave es el formulario donde de loguea}
User:=ing_clave.dbedit1.Field.Value;

For X:=0 to principal.Menu.Items.Count -1 do
For I:=0 to principal.Menu.Items.Items[X].Count -1 do
begin
Task:=principal.Menu.Items[X].Items[i].Tag;
principal.Menu.Items[X].Items[i].Visible := true;
If datamodule1.tb_Habilitaciones.Locate('codigo de Usuario;codigo de Opciones', vararrayof ([User,Task]),[]) then
If datamodule1.Tb_Habilitacioneshabilitaciones.Value = 'N' then
principal.Menu.Items[X].Items[i].Visible := False ;
End;
{tenés que hacer una tabla con las habilitaciones correspondientes a cada usuario}
tabla habilitaciones
cod de usuario(numérico)
cod de opciones(numérico)
habilitaciones(alfanumérico)
Responder Con Cita
  #3  
Antiguo 12-05-2008
cyber_zero cyber_zero is offline
Miembro
 
Registrado: abr 2008
Posts: 22
Poder: 0
cyber_zero Va por buen camino
Cita:
Empezado por hugo_Junior Ver Mensaje
{Este es un ejemplo con un menú con prioridades, espero que te sirva}
User,Task,I,X:Integer;
begin
ing_clave.visible:=false;
ing_clave.Enabled:=false;{ing_clave es el formulario donde de loguea}
User:=ing_clave.dbedit1.Field.Value;

For X:=0 to principal.Menu.Items.Count -1 do
For I:=0 to principal.Menu.Items.Items[X].Count -1 do
begin
Task:=principal.Menu.Items[X].Items[i].Tag;
principal.Menu.Items[X].Items[i].Visible := true;
If datamodule1.tb_Habilitaciones.Locate('codigo de Usuario;codigo de Opciones', vararrayof ([User,Task]),[]) then
If datamodule1.Tb_Habilitacioneshabilitaciones.Value = 'N' then
principal.Menu.Items[X].Items[i].Visible := False ;
End;
{tenés que hacer una tabla con las habilitaciones correspondientes a cada usuario}
tabla habilitaciones
cod de usuario(numérico)
cod de opciones(numérico)
habilitaciones(alfanumérico)

gracias por la ayuda, y si no te importa me podrias explicar un poco mas como hacerlo, espero no molestar demasiado. gracias de nuevo
Responder Con Cita
  #4  
Antiguo 12-05-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Hola cyber_zero,
Lo que deseas hacer dependerá de como estés estructurando los perfiles y la manera en que llevas los controles.
Una manera, sencilla, de conseguir esto es asociar a los controles algún ID que ese ID represente un perfil determinado.

Por ejemplo, digamos que tienes una tabla perfil cuya estructura es similar a esto:
IDPerfil Nombre
0 Administrador
1 Usuario

Ahora, demosle un uso a la propiedad Tag que posee los controles. Hagamos de cuenta que si Tag es 0 es porque tiene privilegios de administrador, mientras que si es 1 es de usuario.

Al momento de loguearse, podemos entonces capturar ese ID y emplearlo para habilitar/deshabilitar los controles que coincidan con dicho ID.

No se me entiende la idea.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #5  
Antiguo 12-05-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Por ejemplo este código:

Código Delphi [-]
procedure TForm1.HabilitarControles(ID: integer);
var i: integer;
Component: TComponent;
begin
  for i := 0 to ComponentCount - 1 do
    begin
      Component := Components[i];
      if (Component as TWinControl).Tag = ID
         then (Component as TWinControl).Enabled := True
         else (Component as TWinControl).Enabled := False;
   end;
end;

Habilita y/o deshabilita controles según un ID.

Hay muchas formas de hacer lo que buscas, sería muy útil que nos detallases mejor tu duda. De este modo podremos ayudarte mejor.

Como dije antes, todo dependerá de como estructures los niveles de permisos, que controles usas... el ejemplo anterior oculta items de un menú... y lo hace en función de un nivel de prioridad que lee desde una tabla de una base de datos.

Si no estás muy puesto en Delphi, esto puede serte muy complicado. Sugiero que nos detalles mejor tu problema para encontrar y/o plantear una solución y/o alternativas adecuadas para ti.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]

Última edición por Delphius fecha: 12-05-2008 a las 00:46:46. Razón: etiquetas delphi
Responder Con Cita
  #6  
Antiguo 12-05-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Modificando el Mini Tutorial Novatos.
Revisa el Form del loguin ahí esta todo.
También revisa la base de datos la tabla usuarios.
Con esto se determina que puede y que no puede hacer un usuario determinado.
Es una de tantas formas de hacerlo, para mi la mas sencilla.
Saludos

Última edición por Caral fecha: 12-05-2008 a las 01:17:10.
Responder Con Cita
  #7  
Antiguo 12-05-2008
cyber_zero cyber_zero is offline
Miembro
 
Registrado: abr 2008
Posts: 22
Poder: 0
cyber_zero Va por buen camino
Unhappy problema completo

Bueno, pues gracias Delphius por la ayuda, mira el problema completo es el siguiente.

Debo realizar un sistema de informacion para un proyecto final, pero a la vez sera util para una escuela, ya tengo hecha la base de datos, el problema que tengo es que soy inexperto en Delphi y no eh programado antes, las mayores dudas que tengo son:

Pantalla de password.
Privilegios a usuarios
Crear una bitacora
Repaldar la informacion

Eh encontrado mucha informacion aqui incluyendo codigo, el problema con eso es que como no se programar, no se como utilizarlo debidamente.

Por eso preguntaba sobre ejemplos o explicaciones mas detalladas, de antemano muchisimas gracias, y espero puedan ayudarme y se los agradeceria mucho.
Responder Con Cita
  #8  
Antiguo 12-05-2008
cyber_zero cyber_zero is offline
Miembro
 
Registrado: abr 2008
Posts: 22
Poder: 0
cyber_zero Va por buen camino
Cita:
Empezado por Caral Ver Mensaje
Hola
Modificando el Mini Tutorial Novatos.
Revisa el Form del loguin ahí esta todo.
También revisa la base de datos la tabla usuarios.
Con esto se determina que puede y que no puede hacer un usuario determinado.
Es una de tantas formas de hacerlo, para mi la mas sencilla.
Saludos
muchisimas gracias Caral, creo que poco a poco estoy entendiendo esto, gracias por su ayuda, espero que me puedan ayudar con el resto gracias de antemano
Responder Con Cita
  #9  
Antiguo 12-05-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por cyber_zero Ver Mensaje
Bueno, pues gracias Delphius por la ayuda, mira el problema completo es el siguiente.

Debo realizar un sistema de informacion para un proyecto final, pero a la vez sera util para una escuela, ya tengo hecha la base de datos, el problema que tengo es que soy inexperto en Delphi y no eh programado antes, las mayores dudas que tengo son:

Pantalla de password.
Privilegios a usuarios
Crear una bitacora
Repaldar la informacion

Eh encontrado mucha informacion aqui incluyendo codigo, el problema con eso es que como no se programar, no se como utilizarlo debidamente.

Por eso preguntaba sobre ejemplos o explicaciones mas detalladas, de antemano muchisimas gracias, y espero puedan ayudarme y se los agradeceria mucho.
Me alegro que estés haciendo el trabajo final en Delphi. Haz elegido una buena herramienta.

El problema al que nos enfrentamos nosotros para contigo al asesorarte es precisamente ese: ¿Cómo podemos ayudarte si no nos describes tu problema?
Nos acabas de lanzar la idea, pero no tu idea.

Tienes una base de datos ya hecha. Perfecto, pero sin conocer más o menos como está estructurada no te podemos ser de mayor ayuda.

Aquí podemos exponer miles de ejemplos, y todos pueden no ser compatibles con tu ideas o conceptos.

El mayor peligro cuando uno se enfrenta un diseño de un sistema que hace uso de base de datos es diseñar la base de datos y recién empezar a diseñar el programa. Esto puede llevar a llenar de huecos y parches de código para conseguir adaptar un sistema a la base de datos.
A la inversa, hacer un sistema ciegamente y confiar despues de que el diseño de la base de datos va a funcionar es malo.
Lo correcto: diseñar y estructurar ambas cosas en forma paralela.

No es por criticarte sólo es que tu al tener ya un diseño de la base de datos ahora deberás diseñar un sistema que sea compatible con dicha arquitectura. Y por tanto, como puede requerir 100 lineas de código, como 50, o 25. O hasta, exagerando, 1000.
No se si me hago entender... un mal diseño de una base de datos puede conducir a mucho código. Como también puede suceder lo contrario... mucho código puede que nos solucione algo en la base de datos.
No es por asustarte, no pretendo eso. Sino que te quiero advertir de las consecuencias y limitaciones a las que posiblemente te enfrentarás al momento de sentarte a programar.

Al no saber de que modo estás trabajando díficil será decirte: "si, estás haciendo bien", "estás mal", "Esto se ve más complicado"... "si fuera asi sería más fácil..."

Al ser un iniciado, las cosas la vas a tener un tanto dificil.
Mi consejo: Para ir ganando tiempo, en vez de investigar las mil y un maneras de hacer esto, comienza a picar código con ayuda de algún manual, tutoriales, ejemplos y demás que puedas conseguir en la sección FTP, Wiki y aqui en los foros.
Y antes las dudas, postea y buscaremos la manera de ayudarte. Pero necesariamente deberemos hacerlo en base al diseño de tu base de datos, ya que lo tienes hecho.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #10  
Antiguo 12-05-2008
cyber_zero cyber_zero is offline
Miembro
 
Registrado: abr 2008
Posts: 22
Poder: 0
cyber_zero Va por buen camino
me parece genial

te entiendo, ya que en este momento tengo ese problema, hice la base de datos primero y ahorita ya no se como avanzar mas, los tutoriales que eh leido de este foro me han parecido muy buenos, y pues poco a poco le agarre el hilo a Delphi y fue el principal motivo por el que lo elegi.

me gustaria que me ayudaras, a empezar de cero, estoy dispuesto a unas cuantas horas de desvelo si es necesario jajajaja, gracias por el apoyo
Responder Con Cita
  #11  
Antiguo 12-05-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por cyber_zero Ver Mensaje
me gustaria que me ayudaras, a empezar de cero, estoy dispuesto a unas cuantas horas de desvelo si es necesario jajajaja, gracias por el apoyo
¿Me estás pidiendo que te ayude, como ser un guia?
Si es eso, lo lamento. No puedo cumplir ese pedido. Me da mucho gusto el que mis palabras te sean de ayuda y me consideres.

Aquí hay muchos que te pueden ayudar, pero cada uno tiene su agenda y sus labores. En los momentos en que uno puede viene ya sea a ayudar o consultar.

Yo ando haciendo eso... vengo de a ratos. Yo estoy haciendo mi trabajo de grado y durante estas semanas voy a estar un poquitín liado.

No quiero comentar mucho porque puede que me anden espiando por aquí... Más de uno de mis amigos seguramente estará esperando que diga una fecha

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
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
Novato delphi.!! lvs147 Varios 7 26-01-2007 02:58:35
Novato en Delphi Alfonsoft Varios 5 24-11-2006 23:42:08
novato en Delphi lazar Varios 2 09-09-2006 16:19:52
Novato en delphi papu24ar Varios 4 23-06-2006 22:32:03
Novato de delphi mcalmanovici Conexión con bases de datos 5 08-06-2006 22:19:46


La franja horaria es GMT +2. Ahora son las 22:31:20.


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