¿Como crear un .DLL con funciones de Logueo para muchos usuarios?

Iniciado por Brian1511, 26 Octubre 2012, 15:07 PM

0 Miembros y 1 Visitante están viendo este tema.

Brian1511

Hola a todos de ElHacker como estan bueno he trabjado en un proyecto la cual me permite registrar varios usuarios y iniciar sección a diferentes forms bueno trabajo con .Net vb 2008 , por otros lados pregunte y me dijeron que mediante dll podria hacerlo pero no me dieron mas explicaciones por eso es que lo pongo aqui porque se que me van a ayudar :D xD

Bueno Caracteristicas del DLL

Que e el se guarden los datos de varios usuario que se registren y cuando los soliciten esten hay

que al iniciar sesion solicite los datos y abra espesificamente los datos de este usuruaio..

Espero que me puedan ayudar !!



Creador de BrainMind

Arconte

si tu prog. lo que va a hacer es registrar y consultar  nombres de usuarios , lo que puedes hacer es que tu programa cree un archivo cualquiera por ejemplo : usuarios.usr y que al iniciar abra ese archivo y cargue el contenido en una variable tipo string, cuando  kieres acceder a la informacion de algun usuario usas una funcion que te permita buscar cadenas dentro de esa variable string pasandole el nombre y contraseña (supongo que vas a usar nombre y contraseña para ver la info de tal usuario), y si el nombre y contraseña coinciden muestras la info requerida, si se va a registrar un nuevo , lo que haces es otra vez buscar si existe  ese nombre y contra, si no existe lo agregas a la variable, borras el archivo usuarios.usr y creas uno nuevo escribiendo lo que contiene la variable string que es la informacion con los nuevos usuarios.   en vb6 para abrir archivo se usa "open", para leer su contenido se usa "input",para cerrar el acceso al archivo "close", y para buscar cadenas dentro de otra cadena "instr", busca los equivalentes de estos en vb 2008.

Brian1511

Hola amigo muchas graciass por responder este tema lo llevo esperando desde hace rato buno entendi toda tu explicacion / de casualidad por k mayormente no entiendo aveces de lo que me comentan , como podria hacerlo o si me podrias ayudar un poco con el code ??  si no es mucha molestia claro ..

Te lo agradeceria demasiado !!!



Creador de BrainMind

Arconte

hola, estuve ocupado :)


suponte que la informacion la guardar de esta manera dentro del archivo:

<pepito,fido16>
<boris,contraseña777>




mas o menos el codigo para manejar esa informacion es asi:


Código (vb) [Seleccionar]
    'Esto seria para cargar el fichero
    'cargaria la lista de usuarios y claves existentes
    Dim ListaUsuarios As String 'esta variable deberia ser general
   
    Dim Peso As Long
    Open App.Path & "\usuarios.usr" For Binary As #1
    Peso = LOF(1)
    If Peso > 0 Then
        ListaUsuarios = String(Peso, Chr(0))
        Get #1, , ListaUsuarios
    End If
    Close #1




Código (vb) [Seleccionar]
    'Esto seria para la busqueda, para comprobar que un usuario y clave son correctos, tambien lo podrias usar para comprobar si un usuario ya esta agregado para no crear duplicados
    Dim Nombre As String
    Dim Resultado As Long
    Dim UsuarioBuscar As String
    Dim Clave As String
    Dim PosicionInicial As Long
    Dim cantidad As Long
   
    Nombre = txtnombre.Text
    Clave = TXTclave.Text
    UsuarioBuscar = "<" & Nombre & "," & Clave & ">"
    Resultado = InStr(1, listausuario, UsuarioBuscar)
    If Resultado > 0 Then
        MsgBox "Si se encontro el usuario", vbInformation, ""
    Else
        MsgBox "No existe el usuario", vbCritical, ""
    End If
   





Código (vb) [Seleccionar]
    'Esto seria para la busqueda de usuario y contraseña cuando se kiere ingresar,
    'tambien seria para comprobar si un usuario ya existe, si fuera
    'asi entonces no lo agregaria para no crear duplicados
    Dim Nombre As String
    Dim Resultado As Long
    Dim UsuarioBuscar As String
    Dim Clave As String
    Dim PosicionInicial As Long
    Dim cantidad As Long
   
    Nombre = txtnombre.Text
    Clave = TXTclave.Text
    UsuarioBuscar = "<" & Nombre & "," & Clave & ">"
    Resultado = InStr(1, listausuario, UsuarioBuscar)
    If Resultado > 0 Then
        MsgBox "Si se encontro el usuario", vbInformation, ""
    Else
        MsgBox "No existe el usuario", vbCritical, ""
    End If




Código (vb) [Seleccionar]
   'Esto lo que hace es borrar el antiguo archivo
    'y crear otra ves el archivo para escribir el contenido de ListaUsuario
    'que ahora va a  contener los usuarios que ya existian y los agregados
    Kill App.Path & "\usuarios.usr"
   
    Open App.Path & "\usuarios.usr" For Binary As #1

    Put #1, , ListaUsuarios
    End If
    Close #1


Aprendete a usar estas funciones:

Open, Get, Put, Close (para crear, leer y escribir en un archivo)
Instr (para buscar cadenas)
Mid (para copiar cadenas)  esta no la use , averigua
Kill (para borrar archivos)


en las porciones de codigo falta mucho esta incompleto, pero te da una idea no?, averigua esas  funiones que te puse arriba que son para lo que necesitas hacer, sino te queda todavia claro me avisas, esta es una explicacion rapida
como te dije tendrias que buscar equivalentes de vb6 a vb.net 2008 de esta funciones, a menos que te animes hacerlo en vb6.

Brian1511

Hola amigo gracias de verdad me gusto aporte si entendi el code pero donde deberia ingresarlo en un nuevo dll o que si me podrias hacer unos simples pasos para crear



Creador de BrainMind

Arconte

#5
no es necesario crear una dll, una dll es para compartir funciones entre varios programas y ahorrar espacio, ejemplo si haces varios programas que tienen en comun una funcion de 200 lineas , en vez de meter la misma funcion en cada programa lo que haces crear una dll  y asi cuando  un programa necesite esa funcion solo debe usar la dll.

lo que quieres es registrar usuarios , agregarlos y modificarlos, la dll no es para eso ,  en este caso puedes usar una base de datos, pero como supongo que no quieres usar eso, puedes crear un archivo cualquiera y guardar la informacion,  bueno tu programa seria el que haga todo esto, lo que puedes hacer es guardar la informacion que el usuarios ingresa en las cajas de texto (usuario, clave, edad, telefono, etc) en variables agregandole algunos simbolos que indiquen donde empieza y acaba la informacion de un usuario, ejemplo si un usuarios ingresara esto:

             nombre                  clave                  ocupacion

           pepitogrillo             pepe                     maestro




el programa deberia guardar agregandole simbolos:

              <pepitogrillo,pepe>maestro*

esto para que cuando el programa deba mostrar la informacion de un usuario use las funciones para busqueda y copiado de cadena y coja la informacion desde la posicion y cantidad que deba, en el ejmeplo de arriba si el programa necesita la ocupacion tendria que usar InStr() para buscar el ">" luego coger lo que haya de ahi en adelante con la funcion Mid() quedando "maestro*" y finalmente otra vez Instr() para buscar el "*" y cogeria todos los caracteres que se encuentren antes de la posicion ocupada por "*" con la funcion Left().

ahora lo de guardar el contenido de esa variable en un archivo, usa Open para crear un archivo o abrir uno existente, Put para colocar el contenido de la variable en un archivo, Get para colocar el contenido de un archivo en una variable y close para cerrar el archivo abierto, te paso un codigo que hice, te servira de ejemplo de lo que te digo,  te vas a encontrar con un form inicial en el que ingresas usuario y clave para registrar o ingresar (lo correcto seria tener un form para cada accion pero es solo para ejemplo), luego de ingresar o registrar saldra otro form mostrando una nota escrita por ese usuario, dentro de la misma carpeta del programa se creara un block de notas donde quedaran guardados los usuarios, claves y notas , si lo abres el block de notas veras como se guarda la informacion.

el codigo esta escrito en vb 6, pero si no tienes el vb6 , ahi tambien puse el ejecutable.

http://www.mediafire.com/?7rck56gr5y5cd0c

te encargas de pasarlo a vb .net 2008

BlackZeroX

mmm algo mas "facil" es guardar las estructuras...

Código (vb) [Seleccionar]


type cuentausuario
   usuario as string * 50 '  // Son necesarios los buffer
   contraseña as string * 10 '  // Son necesarios los buffer
   correo as string * 25 '  // Son necesarios los buffer
end type



y en el guardado solo hace un put ff,, variable

Código (vb) [Seleccionar]


dim cuenta as cuentausuario
...
put ff,,cuenta
...

para leerla

...
Get ff,,cuenta
...



Lo más recomendable es usar una base de datos los archivos SON LENTOS, SIN ESTRUCTURA y terminan "JODIÉNDOSE".

Dulces Lunas!¡.
The Dark Shadow is my passion.

Brian1511

Holaaa!! Graciass aconte me encanto tu aporte esta de lujo pero ya he jodido un poco con mi cabeza y logre sacar varias cosas de mis conocimientos tabn busque muchisimo por google y saque este inicio de sesion y registo :D creado por mi!!


http://www.mediafire.com/?4yw4scouexnk2mx Descargar Aqui es un Txt


Bueno tengo una cuuenta en youtube y estoy haciendo el tutorial de como crearlo este es el code que he creado
:D



Creador de BrainMind

Brian1511

Cita de: Arconte en  9 Noviembre 2012, 02:44 AM
no es necesario crear una dll, una dll es para compartir funciones entre varios programas y ahorrar espacio, ejemplo si haces varios programas que tienen en comun una funcion de 200 lineas , en vez de meter la misma funcion en cada programa lo que haces crear una dll  y asi cuando  un programa necesite esa funcion solo debe usar la dll.

lo que quieres es registrar usuarios , agregarlos y modificarlos, la dll no es para eso ,  en este caso puedes usar una base de datos, pero como supongo que no quieres usar eso, puedes crear un archivo cualquiera y guardar la informacion,  bueno tu programa seria el que haga todo esto, lo que puedes hacer es guardar la informacion que el usuarios ingresa en las cajas de texto (usuario, clave, edad, telefono, etc) en variables agregandole algunos simbolos que indiquen donde empieza y acaba la informacion de un usuario, ejemplo si un usuarios ingresara esto:

             nombre                  clave                  ocupacion

           pepitogrillo             pepe                     maestro




el programa deberia guardar agregandole simbolos:

              <pepitogrillo,pepe>maestro*

esto para que cuando el programa deba mostrar la informacion de un usuario use las funciones para busqueda y copiado de cadena y coja la informacion desde la posicion y cantidad que deba, en el ejmeplo de arriba si el programa necesita la ocupacion tendria que usar InStr() para buscar el ">" luego coger lo que haya de ahi en adelante con la funcion Mid() quedando "maestro*" y finalmente otra vez Instr() para buscar el "*" y cogeria todos los caracteres que se encuentren antes de la posicion ocupada por "*" con la funcion Left().

ahora lo de guardar el contenido de esa variable en un archivo, usa Open para crear un archivo o abrir uno existente, Put para colocar el contenido de la variable en un archivo, Get para colocar el contenido de un archivo en una variable y close para cerrar el archivo abierto, te paso un codigo que hice, te servira de ejemplo de lo que te digo,  te vas a encontrar con un form inicial en el que ingresas usuario y clave para registrar o ingresar (lo correcto seria tener un form para cada accion pero es solo para ejemplo), luego de ingresar o registrar saldra otro form mostrando una nota escrita por ese usuario, dentro de la misma carpeta del programa se creara un block de notas donde quedaran guardados los usuarios, claves y notas , si lo abres el block de notas veras como se guarda la informacion.

el codigo esta escrito en vb 6, pero si no tienes el vb6 , ahi tambien puse el ejecutable.

http://www.mediafire.com/?7rck56gr5y5cd0c

te encargas de pasarlo a vb .net 2008

Hola amigo Arconte bueno como me dijiste k lo pasara a vb.net , haayaaaa no puedo brother se me hace muy duficil he intentado de mil maneras es mas ni siquiera se como empezar `perdon por mi imcompetencia seguire buscando y tratando a ver como lo consigo . Bueno te he escrito para agradecerte ya que tu ejemplo es lo que andaba buscando ;) (Y) Muchas Gracias!!!



Creador de BrainMind

BlackZeroX

.NET tienes MessageBox() en lugar de msgbox()...

Aun así puedes igual usar SQLite...

Dulces Lunas!¡.
The Dark Shadow is my passion.