elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Problema visual basic 2010
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema visual basic 2010  (Leído 3,495 veces)
Problema visual basic

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Problema visual basic 2010
« en: 2 Julio 2012, 17:02 pm »

Hola, tengo un grave problema estoy haciendo un programa de carpetas con contraseña, (la contraseña sirve para todas las carpetas) y para guardar la contraseña cree en las propiedades del programa 2 settings uno llamado pass que contiene la contraseña y otra llamada pass2 Al hacer click en un boton pasa esto :  My.Settings.Pass = Textbox1.Text y My. Settings.Pass2 = 2. El programa bloquea con enable todas sus funciones, Button1.Enabled = False y solo dega cerrarse. Hasta aqui todo bien tengo el programa en el form1.Load tengo If My.Settings.Pass2 = 2 form2.show y despues Me.hide. El problema viene en que no se muestra form2, en cambio si pongo por defecto que pass2 = 2 en la pestaña settings, si que se muestra form2 (Form2 tiene 1 texbox y 1 boton al darle al boton pasa esto: If Textbox1.Text = My.Settings.Pass form1.show y despues me.hide. El problema es muy simple como puedo solucionar este error?

PD: Todos los codigos estan escritos a mano y pueden contener errores pero visual basic me los corrigue y compila y ejecuta sin problemas.

PD2: Tengo la version 2010 otra cosa he echo lo mismo para otro programa y me funciona perfectamente


En línea

Keyen Night


Desconectado Desconectado

Mensajes: 496


Nothing


Ver Perfil
Re: Problema visual basic 2010
« Respuesta #1 en: 2 Julio 2012, 17:58 pm »

Podrías colocar el código completo y usando las etiquetas?


En línea

La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...
Problema visual basic

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Problema visual basic 2010
« Respuesta #2 en: 2 Julio 2012, 21:41 pm »

Hay 4 forms mucho codigo entre otras cosas descargalo de aquí: (Quito el link sihace falta lo vuelvo a poner) (Es mediafire pero sin acceder a la pagina) Como veo que la gente que pone links de descarga con pocos post no os fiáis mucho virus total: https://www.virustotal.com/file/597e50898d54025c451f59277cbcd2c0d762db4384c226d01a278fd06d53bb4f/analysis/1341257978/
« Última modificación: 3 Julio 2012, 09:57 am por Problema visual basic » En línea

Keyen Night


Desconectado Desconectado

Mensajes: 496


Nothing


Ver Perfil
Re: Problema visual basic 2010
« Respuesta #3 en: 3 Julio 2012, 03:53 am »

Primero varias recomendaciones :D espero que no lo tomes a mal

Es Comprobar con 'b'
Selecciona con doble 'c'

Esto, lo puedes colocar en una sola línea
Código
  1.                hide_file_info.Attributes = hide_file_info.Attributes Or IO.FileAttributes.Hidden
  2.                hide_file_info.Attributes = hide_file_info.Attributes Or IO.FileAttributes.System
  3.                hide_file_info.Attributes = hide_file_info.Attributes Or IO.FileAttributes.Encrypted
  4.                hide_file_info.Attributes = hide_file_info.Attributes Or IO.FileAttributes.ReadOnly

Al asignar Encrypted, el archivo solo podrá ser abierto por el usuario que aplico la propiedad.

En vez de nombrar cada

Código
  1. Control.Enabled = False

Puedes hacer

Código
  1. For Each X As Control In Contenedor.Controls
  2.     X.Enabled = False
  3. Next
  4.  

No hace falta decir

Código
  1. If Condicion = True Then
  2.  
  3. End If

Puedes:

Código
  1. If Condicion Then
  2.  
  3. End If

En los Textbox activa la propiedad UseSystemPasswordChar para que se muestren los clásicos asteriscos.

Ahora tu problema, en el Form2 al presionar Comprobar, dices Form1.Show cuando ya Form1 esta visible solo está en espera del resultado de Form2, osea debes hacer solamente Me.Close, además dices que en el Form2 cuando se lance el evento FormClosing dices End así que de cualquier forma, se cerrara el programa falles o aciertes la contraseña, yo colocaría Me.Close al presionar comprobar y en FormClosing comprobaría la contraseña si es incorrecta cancelo el cierre y si es correcta no hago nada pues se cerrara el Form2 y dará paso normalmente al Form1 .

Con respecto a guardar la contraseña en My.Settings, es demasiado débil, cualquier persona podría sacar la contraseña en 2 segundos. Si este programa es solo con fines de aprendizaje o de práctica entonces se puede obviar esta debilidad.
En línea

La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...
Problema visual basic

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Problema visual basic 2010
« Respuesta #4 en: 3 Julio 2012, 10:18 am »

Citar
En los Textbox activa la propiedad UseSystemPasswordChar para que se muestren los clásicos asteriscos.
Eso lo hice pero quizás no a todos

Citar
Ahora tu problema, en el Form2 al presionar Comprobar, dices Form1.Show cuando ya Form1 esta visible solo está en espera del resultado de Form2
Incorrecto form 1 esta cerrado mira el code, si te fijas bien hay 2 formas de comprobar la contraseña (cabe reconocer que el programa no estaba terminado aun) 1 es mediante la pestaña comprobar si todavía no has cerrado el programa si lo cierras (mira el code) y lo que tu dices no es correcto en el Form 1 no esta visible en el form 1 esta cerrado y por cierto lo intente con Showdialog que me parecia interesante marcando pass2 = "2" por defecto pero form1 no se queda esperando se cierra.
 
Código:
If My.Settings.Pass2= "2"
 Form2.Show
 Me.Close
Lo siento pero tu comentario (las sugerencias si) no me sirve de nada, de que me sirve saber que form2 tiene end si form2 no se muesta¿? Como te digo My.Settings no se guarda ese es mi problema. no os pido sugerencias que si me las dais muchas gracias apenas estoy empezando en visual basic .net como lo llamaias aquí y las sugerencias las aplicare con mucho gusto pero mi problema es que no se guardan los settings.

Citar
osea debes hacer solamente Me.Close, además dices que en el Form2 cuando se lance el evento FormClosing dices End así que de cualquier forma, se cerrara el programa falles o aciertes la contraseña, yo colocaría Me.Close al presionar comprobar y en FormClosing comprobaría la contraseña si es incorrecta cancelo el cierre y si es correcta no hago nada pues se cerrara el Form2 y dará paso normalmente al Form1
Eso esta muy bien pero eso esta mal, si yo cierro el formulario 2 porque no me se la contraseña no podre salir me la comprobara y como es incorrecta no podre salir. Aparte de que quizas tengas razon no me percate de ese error pero si no se me abre el formulario 2 como quieres que encuentre errores?

Citar
Con respecto a guardar la contraseña en My.Settings, es demasiado débil, cualquier persona podría sacar la contraseña en 2 segundos. Si este programa es solo con fines de aprendizaje o de práctica entonces se puede obviar esta debilidad.
Intente en su momento guardarlas en registro pero eso es difícil no encuentro los malditos codigos para guardar y leer el registro. Y lo de los fines de aprendizaje ... digamos que si pero no soy el único que sabe de programación en un grupo y me van pidiendo retos y cosas uno fue este no es aprendizaje porque se lo daré a unos amigos pero tampoco se lo venderé.
En línea

Keyen Night


Desconectado Desconectado

Mensajes: 496


Nothing


Ver Perfil
Re: Problema visual basic 2010
« Respuesta #5 en: 4 Julio 2012, 01:49 am »

Te recuerdo que yo no tengo la responsabilidad ni obligación de responderte, simplemente quiero que puedas resolver tu problema. No voy a pelear por si está mal o bien mi respuesta, simplemente te voy a dejar el proyecto corregido con todo lo de arriba y tu lo podrás ver si funciona o no, y es primera vez que haré esto por el solo hecho de que veas que funciona.

Los errores son los siguientes:

El Form1 llama al Form2 con ShowDialog, el Form1 solo espera por el resultado de Form2 para ser visible no puedes llamar Form1.Show desde Form2, en otras palabras tu no puedes ser padre de tu abuelo.

Nunca guardas My.Settings, antes de cerrar.

No es necesario una variable de tipo entero en la configuración si le vas a dar el valor 1 y 0 cuando existe Boolean.

Un error que no corregí pues debes arreglar gran parte del programa es el siguiente: Si hay contraseña, un Form la solicita; luego cuando estas en Form1 es como si no tuvieses contraseña asignada.

Algunas Recomendaciones: No es necesaria la configuración Pass2, simplemente debes verificar que Pass sea nulo para saber que no hay contraseñas asignadas.

« Última modificación: 4 Julio 2012, 02:26 am por Keyen Night » En línea

La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...
Problema visual basic

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Problema visual basic 2010
« Respuesta #6 en: 4 Julio 2012, 11:30 am »

Muchas gracias pero no era mi deseo que lo resolvieras

Citar
Nunca guardas My.Settings, antes de cerrar.
WTF? Te refieres a que no se pueden guardar los settings o que yo no los guardo? Me refiero a que en otro proyecto se me guardaban sin hacer nada .

Citar
No es necesario una variable de tipo entero en la configuración si le vas a dar el valor 1 y 0 cuando existe Boolean.

Un error que no corregí pues debes arreglar gran parte del programa es el siguiente: Si hay contraseña, un Form la solicita; luego cuando estas en Form1 es como si no tuvieses contraseña asignada.

Algunas Recomendaciones: No es necesaria la configuración Pass2, simplemente debes verificar que Pass sea nulo para saber que no hay contraseñas asignadas.
No se lo que es Boolean lo voy a buscar!

Eso no es exactamente un error y todavía debo adaptarlo del todo a la pestaña comprovar, la idea es que al aparecer (encender) si hay contraseña te la pida pero que te la vuelva a preguntar cuando vuelvas a encender (como un pin de movil) pero que una vez dentro volviendo a poner la contraseña desabilitar que te pregunte cada vez.

La recomendación la tendre en cuenta.

Muchisimas gracias si me pudieras decir porque no se me guardaban los settings me harias un gran favor

Perdon por las faltas ortograficas que seguro que tendre

Como buen alumno hay que degar el proyecto terminado al professor: http://205.196.123.185/9hv863nn0sxg/f5c524h55kqpkcs/Carpeta+con+contrase%C3%B1a.7z
« Última modificación: 4 Julio 2012, 17:22 pm por Problema visual basic » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Login Visual basic 2010
.NET (C#, VB.NET, ASP)
BrokerJoker 1 3,371 Último mensaje 20 Enero 2012, 15:01 pm
por kub0x
Capturar ventana activa visual basic 2010.
.NET (C#, VB.NET, ASP)
Jum_Spain 4 5,090 Último mensaje 9 Abril 2012, 18:40 pm
por Jum_Spain
Problema visual basic 2010
.NET (C#, VB.NET, ASP)
Problema visual basic 4 3,409 Último mensaje 2 Julio 2012, 17:00 pm
por Problema visual basic
visual basic 2010
.NET (C#, VB.NET, ASP)
tuty robert 0 1,455 Último mensaje 6 Septiembre 2012, 03:14 am
por tuty robert
CMD Visual Basic 2010
Programación Visual Basic
n3n3 0 1,438 Último mensaje 21 Marzo 2015, 00:50 am
por n3n3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines