Autor
|
Tema: para los que quieren iniciarse en VB.net (Leído 65,592 veces)
|
Free-Knowledgend
Desconectado
Mensajes: 371
Pablo-Mitico
|
puede que para muchos sea una estupidez, pero asi empezamos todos, enga aqui os dejo el primer ejercicio que hice en VB.net explicadito ---------------------------------------------------------------------- el ejercicio consiste en hacer un cuadrado (un panel) con un grupos de 4 botones a la izquierda (los botones seran labels). En el grupo de botones, pondremos colores. Para ello seleccionamos uno de los labels y miramos en la ventana propiedad de la esquina inferior derecha, y bsucamos la propiedad Text, donde escribimos un color para cada uno de los 4 botones del grupo. nota: si queremos podemos cambiar otras propiedades de los botones (labels) como la fuente, centrarlos... etc ----------------------------------------------------------------------- bueno ahora pasamos a la parte dificil de todos los programas que es el codigo... aqui es donde escribimos todos los eventos, condiciones y efectos que le ocurriran a nuestro programa código:para ir a la ventana de código, pulsamos F7, para volver a la de diseño, pulsamos Shift + F7 para ello, debemos iniciar los efectos con eventos escribimos private sub el nombre de diseño del objeto que queremos tratar (que podemso ver y modificar en la ventana propiedades habien seleccionado el objeto, en la propiedad Design name a continuacion escribimos un guion bajo y el evento (podemso ver la lista de eventos haciendo click derecho y "Complete word") tambien se puede hacer haciendo doble lick en la ventana de sieño en un opbjeto, esto nos llevara a la ventana de codigo y nos escribira directamente el evento Click en el objeto que hemos clickeado IMPORTANTE: tras haber escritos todos los efectos de ese eevento, tenemso que escribir End Sub para termianr el evento ahora vamos a crear los efectos... para modificar una propiedad de un objeto, escribimos tras el evento que lo condiciona su nombre de diseño, un punto y la propiedad que queremos modificarle. de esta forma, podemos cambiar cualqueir propiadad del objeto, por ejemplo, el color del fondo (Backcolor que sera la propiedad que utilizemos con los botones (labels) de colores bien empezamos, azemos doble click en el label yen la ventana de codigo escribimos "Panel1.Backcolor =" para asignarle una valor a esta propiedad, escribimos un color. para ver los colores que podemso seleccionar, vamos a view --> other windows --> object browser --> system drawing --> system drawing --> y miramso el color que nos gusta entre las opcioens que nos dan (entre las opciones con el icono de propiedad ) de este modo vamos aplicando a los eventos de click encada boton (label) cambiando el valor de la propeidad back color en el codigo, nos dara algo asi Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click Panel1.BackColor = System.Drawing.Color.Red End Sub
Private Sub Label2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label2.Click Panel1.BackColor = System.Drawing.Color.Blue End Sub
Private Sub Label3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label3.Click Panel1.BackColor = System.Drawing.Color.Yellow End Sub
Private Sub Label4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label4.Click Panel1.BackColor = System.Drawing.Color.Green End Sub End Class
para verificar si esta bien escrito, podemso darle a F5 y nos hara una especie de "vista previa" de loq eu daria el problema bueno si alguein encuentra algo mal explicado o mal hecho que lo diga que yo todavia soy muy newbie en el tema bueno suerte y saludos P.D: al principio lo iba a acer con cambios de posicioens tambien, pero se me fue al luz a la mitad de la explicacion y lo termianre otro dia para los que quieran investigar os tendria que dar algo asi
|
|
« Última modificación: 23 Febrero 2005, 00:23 am por WarCry »
|
En línea
|
Lo que diferencia a un hacker de un lammer es la falta de honor y de dignidad de éste último
|
|
|
Free-Knowledgend
Desconectado
Mensajes: 371
Pablo-Mitico
|
|
|
« Última modificación: 4 Marzo 2005, 07:28 am por WarCry »
|
En línea
|
Lo que diferencia a un hacker de un lammer es la falta de honor y de dignidad de éste último
|
|
|
Free-Knowledgend
Desconectado
Mensajes: 371
Pablo-Mitico
|
bien continuo el ejercicio que habia comenzado con cambios de posicion en el panel: primero en diseño, creamos un groupbox con 4 labels en su interior, uno con el text arriba, otro con abajo, otro con izquierda y otro con derecha. estos labels moveran el cuadrado hacia el lado correspondiente, peor no lo dejaran en una posicion fija, es decir, al clickear arriba no iran siempre a una posicion "y" sino que iran mas arriba de la posicion "y" actual.... jdoer que mal me explico, estos es desesperante xD... bueno, en el codigo lo explico mas detalladamente -------------------------------------------- Codigo[/u] bien ahora tenemos por un lado un panel al que podemos cambiar el color y por otro cuatro botones, ahora tenemos que configurar dichos botonees para que cambein la posicion del panel. tal y como lo hemso hecho con los colores, haremso doble lick en el label con el text arriba para acceder a su codigo con el evento Label1_Click la propiedad que establece la y maxima del panel es la propiedad Panel1. Toppara mover hacia arriba o hacia abajo, tenemso que modificar entonces el valor de esta propiedad, asi que debajo del evento escribimos " Panel1.Top =" el valor que le asignaremos a este objeto tenemso que elegirlo nosotros. para ello pasar a la pantalla de diseño (shift + F/) y seleccionar el panel. en la pantalla de propiedades podemos ver la propiedad location. acemos doble click y nos saldran dos numeros x e y. apuntamos el numero y en un bloc de notas. ahora desplazamos el panel un poco hacia arriba, con cuidado de no moverlo horizontalmente. volvemso a mirar su y y lo apuntamos de nuevo. lo siguiente sera restar el segundo valor de y al primero y obtendremos un valor (que llamaremsoa partir de ahora y' que obligatoriamente sera negativo. nos apuntamso este numero, ponemos de nuevo el panel en el valor de y que tenia al principio y pasamos a la pantalla de codigo (F7) ahora, al lado de le asignamso el siguiente valor a la propiedad TopPanel1.Top = Panel1.Top + * (* es igual al numero obtenido anteriormente, con lo cual en realidad nos tendria que dar una resta al ser este numero negativo. este valro de la propiedad lo que ara es bajar el valor actual de y haciendo asi que el panrel suba con respecto a su posicion anterior hacemos el mismo procedimiento con el label abajo, solo que esta vez cogemos el opuesto de y', o sea, un numero positivo ( |y'|para moverlo hacia la izquierda o hacia la derecha, solo tenemos que modificar el valor de la propiedad .Left del objeto de la misma manera que hemso modificado el valor de la propiedad .Top y sustituyendo todos los valores y por los valores de x Private Sub ComboBox1_Selected() If ComboBox1.SelectedItem = "D:\" Then TreeView1.Nodes.Add("D:\") End If End Sub
Private Sub Arriba_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Arriba.Click Panel1.Top = Panel1.Top - 45 End Sub
Private Sub Abajo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Abajo.Click Panel1.Top = Panel1.Top + 45 End Sub
Private Sub Izquierda_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Izquierda.Click Panel1.Left = Panel1.left - 90 End Sub
Private Sub Derecha_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Derecha.Click Panel1.Left = Panel.Left + 90 End Sub
----------------------------------------------------- el proximo finde si recuerdo como se hacia pongo uan cosilla de un termometro que nos da temperaturas en ºCelsius y Farenheit P.D: ya se me explico bastante mal, si alguien no me ha entendido algo que lo postee un saludo
|
|
« Última modificación: 8 Abril 2005, 22:54 pm por Pablo_Mitico »
|
En línea
|
Lo que diferencia a un hacker de un lammer es la falta de honor y de dignidad de éste último
|
|
|
Free-Knowledgend
Desconectado
Mensajes: 371
Pablo-Mitico
|
|
|
« Última modificación: 8 Abril 2005, 23:28 pm por Pablo_Mitico »
|
En línea
|
Lo que diferencia a un hacker de un lammer es la falta de honor y de dignidad de éste último
|
|
|
Free-Knowledgend
Desconectado
Mensajes: 371
Pablo-Mitico
|
perdon por la tardanza, peor no eh tenido mucho tiempo ahiva: Código:Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Button1.Enabled = False
If TextBox1.TextLength < 4 Then MsgBox("Rellena los campos correctamente(el nombre de usuario debe de ser de al menos 4 carácteres)") Textbox1.text = Nothing End If
If TextBox2.TextLength < 6 Then MsgBox("Rellena los campos correctamente(el password debe ser de al menos 6 carácteres") End If
If Not TextBox1.TextLength < 4 And Not TextBox2.TextLength < 6 Then Button1.Enable = False GroupBox2.Visible = True Label6.Visible = True Label5.Visible = True TextBox1.ReadOnly = True TextBox2.ReadOnly = True End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
If TextBox1.TextLength < 4 Then MsgBox("Rellena los campos correctamente(el nombre de usuario debe de ser de al menos 4 carácteres)") End If
If Not TextBox2.Text = TextBox3.Text Then MsgBox("La contraseña no es válida") Label6.Text = Val(Label6.Text) - 1 End If
If TextBox2.Text = TextBox3.Text Then MsgBox("Has ingresado") Close() End If
If Val(Label6.Text) = 0 Then MsgBox("Por motivos de seguridad, no podras volver a logearte hasta pasadas 24 horas") Close() End If
End Sub
End Class
como podeis observar el codigo es muy corto y muy simple os voy a hacer uan descripcion de los objetos que lo componen sepradamente y del codigo que se les atribuye en el programa - un primer groupbox, donde el "usuario" tendra que introducir su password y su nombre de usuario. en su interior
- colocad 1 label con el text "Usuario" al lado del cual pondreis un textbox para introducirlo, con una maxlength de 8 (esto quiere decir que solo podran introducirse 8 carácteres en este campo). el nombre de usuario tendra que tener entre 4 y 8 caracters. Bien, el maximo de 8 caracteres ya lo tenemos definido con la propiedad maxlength, pero, como hacemso para poner un kminimo de caracteres? bien, de esto se ocupara esta parte del codigo:
If TextBox1.TextLength < 4 Then MsgBox("Rellena los campos correctamente(el nombre de usuario debe de ser de al menos 4 carácteres)") Textbox1.text = Nothing End If
el evento que en este codigo, el evento que lo desencadenara sera button1_click1)ponemos una condicion, que se introduce siempre por If, tras lo cual ponemos la condicion, en este caso es textbox1.textlength < 4, es decir que hay menos de 4 caracteres en el textbox1 al pulsar el botton 1. Tras poner la, o las condiciones (podemos poner varias uniendolas con la palabra And, de manera a que si no se cumple una de ellas la condicion no sera valida, escribimos Then,que significa entonces..., que dara paso a lso efectos que queramos poner. CUando acabemos de poner todos los efectos de nuestra condicion, le daremso fin escribiendo End If al final de esta (todo esto sale semi automaticamente, pero conviene que lo sepais los efectos de esta condicion seran los siuientes: - Por una parte, se enviara un mensaje explicativo al "usuario" en el que se le explica los errores que ha cometido MsgBox("Rellena los campos correctamente(el nombre de usuario debe de ser de al menos 4 carácteres)")
- Al mismo tiempo, vaciamos de caracteres el textbox1: Nota: el valor nothing tambien puede escribirse mas simplemente habriendo y cerrando comillas ""2)si los datos han sido rellenados correctamente, al logearnos, seria una estupidez dejar a nuestro usuario cambiar el nombre de usuario o la contraseña introducidos anteriormente, asi que lo bloquearemos, cambiando el atributo de la propiedad Read Only (solo lectura) de False a True If Not TextBox1.TextLength < 4 And Not TextBox2.TextLength < 6 Then TextBox1.ReadOnly = True End If
- Luego, en el mismo GroupBox1, colocad otro label con la palabra password y al lado un textbox al que, siguiendo las instruccioans y el codigo que he puesto para usuario, forzareis a que el numero de caracteres este entre 4 y 6.De la misma manera, queremos que las letras introduccidas en este campo no aparezcan, y aparezcan en su lugar asteriscos, asi que buscamos la propiedad PasswordChar, es decir, el caracter del password, o sea el caracter que aparecera en lugar de las letras y le pones un valor de *, podreis comprobar que cuando escribis en este campo, solo pareceran asteriscos. Como anteriormente con el nombre de usuario, este campo sera bloqueado (propeidad Read Only si los datos son correctos al clickear en Log in
If Not TextBox1.TextLength < 4 And Not TextBox2.TextLength < 6 Then TextBox2.ReadOnly = True End If
- Un boton login, que sera el desencadenador de todos los efectos anteriores, y que sera bloqueado si los datos introducidos son correctos, de la siguiente forma
If Not TextBox1.TextLength < 4 And Not TextBox2.TextLength < 6 Then Button1.enable = false End If
La propiedad Enable indica si el objeto esta activado o no (false significa descativado y true activado) - un segundo groupbox, donde el "usuario" confirmara su password volviendo a introducirlo.
1) para hacerlo mas real, haremos que al principio este grupbox no este visible, asi que desde el principio le ponemos el valor False a la propiedad Visible del GroupBox. Al volver invisible al groupbox, volveremos tambien invisibles a todo lo que hemos colocado en su interior 2) si los datos son introducidos correctamente, se mostrara el groupbox2, cambiando el valor de su propiedad Visible a True If Not TextBox1.TextLength < 4 And Not TextBox2.TextLength < 6 Then GroupBox2.Visible = True End If
- en este groupbox introducimos un label password y un textbox para escribirlo exactamente igual que los hemos introducido en el anterior groupbox.
- ponemso tambien un boton con un text "confirmar". Al hacer click con sete boton, queremso que el programa verficique si es el mismo password introducido anteriormente y nos salga un mensaje ed que hemos ingresado si es asi.
If TextBox2.Text = TextBox3.Text Then MsgBox("Has ingresado") Close() End If
El efecto Close() cierra la ventana del programa. - por ultimo, agregamos 2 labels a la derecha, uno con el etxt "intentos reastantes..." y otro con el text 3, ambos invisibles desde el principil peor se volveran visibles al clickear en login con unos datos correctos, al igual que el groupbox2
1) Cada vez que introdzcamso un password erroneo en la confirmacion, se nos restara un intento en el label de la izquierda: If Not TextBox2.Text = TextBox3.Text Then MsgBox("La contraseña no es válida") Label6.Text = Val(Label6.Text) - 1 End If
La palabra Not delante de una condicion, exprime que si no se cumple la condicion se relaize el efecto. Si El password no es el mismo, un mensaje con el texto "La contraseña no es valida", sera enviado. El comando Val() coge la valor algébrica de un texto, en este caso del label6 (numero de intetos restantes) 2)Si los intentos restantes llegan a 0, se cerrara la ventana por motivos de seguridad, ya que podria ser que alguien estubiera probando adviinar la contraseña de un usuario: If Val(Label6.Text) = 0 Then MsgBox("Por motivos de seguridad, no podras volver a logearte hasta pasadas 24 horas") Close() End If
Espero haberma expresado bien, si no entendeis algo postearlo, he intentado hacerlo lo mejor posible. saludos y suerte
|
|
« Última modificación: 30 Abril 2005, 10:47 am por Pablo_Mitico »
|
En línea
|
Lo que diferencia a un hacker de un lammer es la falta de honor y de dignidad de éste último
|
|
|
el_galan_real
Desconectado
Mensajes: 4
|
Hola! Saludos! Gracias por hacer un manual como este ya que he intentado aprender vb desde hace ya mucho tiempo y no lo había logrado pero con esos ejercicios es seguro que lo logro. Saludos!
|
|
|
En línea
|
|
|
|
JuszR
Desconectado
Mensajes: 2.866
Programming & RI
|
El ejemplo del login es muy bueno.
|
|
« Última modificación: 10 Junio 2006, 02:01 am por X.Cyclop »
|
En línea
|
- No programming language is perfect. There is not even a single best language; there are only languages well suited or perhaps poorly suited for particular purposes. [Herbert Mayer]
|
|
|
T_O_N_N_Y
|
Muy buenos los ejercicios Lo único que no consigo hacer añadir una etiqueta para centrar en los ejercicios primeros, utilizo este código: indep.Left = (Screen.PrimaryScreen.WorkingArea.Width) \ 2 indep.Top = (Screen.PrimaryScreen.WorkingArea.Height) \ 2
A ver si me podéis decir cómo centrarlo, porque llevo intentándolo un ratillo y no encuentro la forma PD: "indep" es la etiqueta que se mueve. La del ejercicio Gracias
|
|
|
En línea
|
|
|
|
Darvein
|
gracias man , esta super esa guia muchas gracias!
|
|
|
En línea
|
¿Ilusión o realidad?
|
|
|
el_chavo
Desconectado
Mensajes: 14
|
wow me encantaria aprender hacer crakmes muchas gracias man
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Montar laboratorio para iniciarse
Hacking Wireless
|
malospelosmalon
|
1
|
5,003
|
25 Julio 2011, 12:59 pm
por Saberuneko
|
|
|
LibreCAD, un programa sencillo para iniciarse en el mundo del CAD
Software
|
wolfbcn
|
0
|
3,139
|
13 Enero 2012, 21:29 pm
por wolfbcn
|
|
|
¿ Que recomiendan para iniciarse en el tema ?
Bugs y Exploits
|
lucaslopez0000
|
2
|
4,072
|
21 Enero 2013, 04:33 am
por ameise_1987
|
|
|
Los mejores drones baratos para iniciarse
Noticias
|
wolfbcn
|
0
|
1,347
|
14 Septiembre 2015, 20:55 pm
por wolfbcn
|
|
|
Las 5 mejores impresoras 3D baratas para iniciarse
Noticias
|
wolfbcn
|
0
|
1,567
|
5 Enero 2017, 15:38 pm
por wolfbcn
|
|