Quiero hacer un proyecto pero para poder acceder a ello tenque hacer un formulario login donde me pida el nombre de usuario y contraseña para ppoder acceder al formulario principal y que el nombre de usuario y contraseña que de guardado para cada usuario diferente pero pues no tengo ni idea ni por donde empezar podrías experto poner algunos ejemplos
1 Respuesta
Respuesta de ravenn
3
3
ravenn, Me alegra poder estar de regreso. A la orden para sus consultas....
Es fácil! Te explicare paso a paso. 1. Creas una tabla llamada "Usuario". (O como tu quieras) con los campos: "nom_usuar" (tipo carácter) y "contrasena"(tipo carácter). 2. Crea un form (que sera tu formulario "login") y agrega 2 textos: "txtNom_usuar" y "txtContraseña". 3. Agrega un botón aceptar y un botón salir. En el evento click del botón aceptar, escibi esto: fijándote en cambiar el nombre de tu form principal (o el que quieras llamar) en donde esta en negrita DO FORM 'llama a tu form'
local cNom_Usuar, cContraseña, nMensaje &&Declara variables&& USE usuario EXCLUSIVE select Usuario cNom_Usuar=alltrim(thisform.txtNom_usuar.value)&&Asigna valor a variables&& cContraseña=alltrim(thisform.txtContraseña.value) Select Usuario go top Locate for alltrim(Nom_usuar)=alltrim(cNom_usuar) locate for Contraseña=cContraseña and len(alltrim(thisform.txtContraseña.value))=len(alltrim(Contraseña)) &&&&Busca secuencialmente en la tabla el primer registro que coincida con la&& &&&&expresión lógica especificada.&& IF !empty(cNom_usuar) and !empty(cContraseña) If found() Do FORM "Llama a tu form principal aki" THISFORM.Release&&Cierra app y deja solo el form llamado&& smensaje="Bienvenido al sistema" _Screen.Scalemode= 0 WAIT WIND smensaje At Int(_Screen.Height/5), Int(_Screen.Width/3 - Len(smensaje)/2) TIMEOUT 1 else nMensaje=messagebox("CONTRASEÑA INCORRECTA.............!" +CHR(13)+ "EL USUARIO NO EXISTE"; +CHR(13)+"ACCESO DENEGADO.........................!",0+16+0,"ACCESO DENEGADO") clear event clear windows quit windows set sysmenu to default thisform.txtNom_usuar.value="" thisform.txtContraseña.value="" thisform.txtContraseña.setFocus Endif else nMensaje=messagebox("Hay datos vacios",0+16+0,"ERROR / DATOS VACIOS") QUIT WINDOWS &&Cierra aplicacion&& ENDIF *********************** Luego en el botón Salir, en el evento click pone: THISFORM. Release Y listo! Pruébalo escibiendo algunos usuarios y sus contraseñas en la tabla y luego ejecutando el form para que veas y me decís que tal te va! Debe funcionar! Yo así lo utilizo y es perfecto. Ahora... para registrar a los usuarios que quieras, puedes crear un form aparte, donde alimentes la tabla usuario y listo! Cualquier cosa me avisas!