jueves, 7 de junio de 2012

Suavizando los bordes de un formulario

Hola gente, hacia tiempo que no escribía y pido perdón por ello.

En esta publicación de hoy veremos como suavizar los bordes de un formulario (suavizar es redondear).

Tengo que avisar que usaremos las mates para esto, concreta mente, para fijar puntos en el plano.

Empezamos:

Primero llamamos el evento PAINT ; esto quiere decir que cuando el formulario se pinta o se re dimensiona, se llama este evento.

Ahora pensemos un poco... para redondear las esquinas debemos poner círculos, pero no enteros, sino que en cuartos (90º).

Algo así:

Para crear estos círculos (o partes) se utiliza el comando AddPie, que "pie" en ingles es tarta, y si lo piensas es como si cortáramos la tarta de cumpleaños... jajaja.


Este es el código, como veis creamos "mypath" que no es mas que una variable que nos permite almacenar coordenadas, rectángulos, pie's... de todo.

"ancho" y "alto" no son mas que el ancho y alto del formulario, que lo podemos substituir por un numero, o , como hago yo lo obtengo asi:

ancho = me.width
y
alto = me.heigth

"div" tan solo es el tamaño del que haremos la circunferencia.

El comando Cint sirve para redondear (numéricamente)

ahora solo tenemos que poner:

Me.region = new region (mypath)

"Region" es un comando que indica la región que ocupa el formulario.

y listo super fácil y practico.

Hasta otra

martes, 17 de abril de 2012

Continuamos Simon dice (II)

En la otra publicacion nos quedamos con la generacion de numeros aleatorios y como guardarlos en matrices.

Ahora seguimos:

En la barra de menu, creamos "Iniciar" o "Jugar" y su respectivo evento.


Podemos ver el evento Click de nuestro menu.

Tambien vemos Application.DoEvents() que no es mas que un comando que obliga al ordenador a ejecutar todo lo que tiene pendiente antes de ejecutar este bloque;
Es decir, si tenia que realizar una suma, pero no lo habia hecho todavia, este comando, le obligara a realizar esa tarea antes de que pueda seguir.

Vemos en las siguientes lineas que hacemos referencia a diferentes variables que hemos creado antes, como por ejemplo indice que le damos el valor de -1.

Mas abajo hacemos un bucle For que contara desde 0 hasta el valor que contenga max_vuelta_num, que como es logico, ira aumentando de uno en uno, a medida que acertemos en el juego.

domingo, 4 de marzo de 2012

Hola gente siento haber dejado de lado tanto tiempo esto... pero he empezado con el trabajo, y no me da mucho tiempo, pero aunque sea con el telefono lo actualizare apartir de mañana ok?

Pues hasta entonces os dejo...
Adeuuu

viernes, 24 de febrero de 2012

Continuamos Simon dice

Bueno... despues del evento Paint nos dedicaremos a programar el evento Load.

Evento LOAD
En el evento Load podriamos crear la serie que seguira Simon.
Por ejemplo 1,1,2,3,2,1,1,4, etc...


Hemos creado una variable serie pero, no es una variable normal, una una matriz
Que es esto? facil
Imaginaos un portal de una casa, cuando accedes tienes varias puertas verdad? el 1º 1ª, el 1º 2ª, el 2º 1ª etc....
Pues una matriz puede guardar datos de este modo.

Como creamos una matriz?
igual que una variable, pero con un parentesis que indicara el numero de elementos que podra guardar.

Veis el parentesis?
Esta en blanco, quiere decir que no tiene limite de elementos.

Y ahora el metodo Crear_serie()

Primero fijaos que es una Function por lo tanto significa que devolvera un valor, en este caso Integer() como veis tiene un parentesis, lo que quiere decir que es una matriz.

La sentencia For x = 0 to 24 quiere deicr que se repetira de 0 a 24 veces el proceso que este entre este y Next


Al final del codigo vemos como retorna Serie, que no es otra cosa que, con el metodo Next proporcionar numeros aleatorios entre 1 y 5 este ultimo excluido.

jueves, 16 de febrero de 2012

Seguimos con el ejemplo de Simon Dice...

Hola a tod@s, primero disculparme, por el tiempo que he tardado, pero se me han juntando muchos que aceres en el hogar...

Primero voy a colgar el código y lo analizaremos, linea a linea o por bloques, según convenga...

https://rapidshare.com/files/3484771082/ejmplo_simon_dice.zip

El código que he colgado, no es el definitivo, hay que seguir trabajándolo, pero para un ejemplo esta perfecto.

También lo iremos copiando aqui, poco a poco para ir trabajando con el.

Mi recomendación es, que lo descarguéis, le peguéis un repaso, y continuemos.

Empezamos:

Esta es como podria quedar la ventana de Simon, los recuadros con puntos intermintentes son  Picturebox, esto es un objeto que permite insertar imagenes dentro suyo.

Aqui tenemos 2 objetos nuevos:
ImageList y MenuStrip.


ImageList sirve, para almecenar referencias a unas imagenes, previamente guardadas y asi poder usar imagenes, sin tener que trabajar con ellas, sino que con unas referencias a ellas.

MenuStrip es un control que nos premite crear menus de una forma muy facil.

Ahora, que hemos puestos los controles Picturebox les cambiamos el nombre y, por ejemplo les podemos llamar "picturebox_sup_iz" o algo que los diferencie.

EL EVENTO PAINT
Este evento ocurre el primero de todos, es cuando la ventana se dibuja, y que tiene que ocurrir cuando se dibuja la ventana???
Que nuestros Picturebox tienen que contener una imagen, sino no cargaran. (existen metodos para obligar a cargar las imagenes, pero si las cosas se pueden hacer bien... mejor no???).


Como podeis ver es muy facil cargar una imagen con ImageList.
Simplemente tenemos que acceder a la propiedad Image de Picturebox y decirle que es "=" a la imagen 0, 1, 2, 3, 4, 5 ... del ImageList.

Aqui no acaba... me tengo que ir en unas horas habra mas.
Hasta ahora

martes, 14 de febrero de 2012

Nuevo ejemplo: Un juego

Hola a tod@s debido al tremendo éxito mundial que tengo (esto es ironía) vamos a seguir aprendiendo, pero esta vez, sera un juego lo que programaremos, en este caso "Simon dice"

Lo primero que haremos sera explicar como funciona el juego, para quien no lo sepa:

tenemos 4 botones de distintos colores, (o sonidos depende de la versión), y Simon (la maquina) iluminara uno de estos, tu debes seguirlo, y, ahora en vez de uno serán dos, y después tres, y así sucesivamente

Aquí una imagen típica de Simon dice:


Aqui os dejo unas imagenes que sumularan los botones de Simon (no soy muy bueno dijando en paint...)
https://rapidshare.com/files/3920059925/imagenes_simon.rar




martes, 7 de febrero de 2012

Tranquilos...

Hola a tod@s estoy trabajando en el proximo ejemplo os pido un par de dias
os puedo decir que el proximo ejemplo es un juego. (para amenizar un poco las cosas)

lunes, 6 de febrero de 2012

Colocar una alarma a el reloj ejemplo

Hola a tod@s!
Empezamos rapidamente!
El otro dia hicimos un reloj, ahora le vamos a poner una alarma.
Terminos o controles que veremos:

  • Groupbox (control)
  • Datetimepiker (control)
  • Msgbox (orden)
  • Radiobutton (control)
Veamos uno por uno:
Groupbox: no es mas que un control que encierra otros.
Datetimepiker: Es un Textbox pero con la caracteristica que solo se pueden escribir fechas u horas.
Msgbox: Sirve para crear ventanas con mensajes emergentes en el programa.
Radiobutton: Es el tipico boton redondo que nos da eleccion de eligir A o B pero nunca los dos a la vez.

Primero ponemos los controles asi:


No hace falta que lo pongais igual, es orientativo. Y ahora el codigo:


Como podeis ver primero creamos una variable de tipo Date que la llamo "alarma" (puede contener fecha y hora)
En el evento Load tenemos lo que hicimos el otro dia, mas una sentencia IF que dice que si el radiobuton_apagado esta señalado (checked) inhabilite el boton guardar y la seleccion de tiempo.

En el evento Tick vemos lo del otro dia mas una nueva sentencia que compara la variable "alarma" con el tiempo real, en caso de coincidencia, ejecuta Msgbox con un mensaje de alarma.

Los otros dos eventos de radiobutton son Checkedchanged y ocurre cuando un boton se marca o se desmarca.
Entonces en uno ponemos que se inhabiliten el boton guardar y la caja de texto de la alarma.
Y en el otro justo lo contrario, que se habilite todo.

El evento Click del boton cerrar creo que no hace falta comenterlo.

Y por ultimo el evento Click de boton guardar, lo unico que hace es darle un valor a "alarma" para que se pueda comparar despues, y esconder el formulario para que no meleste (Hide)

Creo que ha quedado bastante claro, si hace falta repetiremos el post con mas explicaciones.

Adeu.

jueves, 2 de febrero de 2012

Ejemplo de reloj digital

Hola a tod@s
Empezamos!!!

Para hacer un reloj, que creeis que necesitamos?

un control label
Y usaremos la funcion TimeofDay


Primero, cambiamos el tamaño del form para que quede bien y despues colocamos la label en medio del form.
en form1, cambiamos la propiedad Controlbox a false, no hace falta explicar que es, lo vereis inmediatamente.
en las propiedades de label1 cambiamos Font, y modificamos el tamaño, para que quede bien, por ejemplo 16.

Algo asi:
Ahora, vamos y creamos el evento Load, os acordais como, verdad? sino haced doble click en form1 (es el evento por defecto)

Ahora, asignamos el valor TimeofDay a label1.text como?
Asi

Super sencillo, probamos arrancamos la aplicacion.(F5 o el play que hay arriba)

Veremos que marca la hora, pero no se mueve... necesitamos actualizarlo... pero como?? sencillo
con el control Timer.


Arrastramos el control al form, y se creara en la parte inferior timer1.

Hacemos doble click en timer1, y entraremos en el evento tick


Que es el evento Tick? pues facil el nombre lo dice, Tick es el intervalo con el que hara las cosas, esto va acompañado de la propiedad interval.

Ejemplo:

interval = 1000
quiere decir que cada 1 seg (1000 milesimas) hara el evento tick.
Pues entonces es facil, solo tengo que colocar el codigo del evento Load en el evento Tick
Y quedara asi:


Cambiamos la propiedad interval de Timer1 y la ponemos a 1000

Lo probamos...

Y vemos que no pasa nada...

Ahhh, se nos olvidaba poner en marcha Timer1...


En el evento load tambien hemos de poner "me.timer1.start" y asi lo arrancamos.

Probarlo ahora, eureka, esta vivo!!!!
ajjaja funciona.

Creo que no es necesario que cuelge el codigo, pero si alguien lo quiere que lo diga. ok?
Pues hasta la proxima amigos.


martes, 31 de enero de 2012

Resumen, valoracion y nuevo ejemplo.

Hola a tod@s!
Bueno esta entrada de hoy sera cortita, y meramente informativa.

Queria que supierais lo que vamos hacer y como.
Luego os pedire que valories mis aportaciones, y como lo llevais vostros.
Para acabar emepezaremos un nuevo ejemplo.

Empezamos:
Desde ahora iremos avanzando de ejemplo en ejemplo (seran pequeños), que luego podremos usar dentro de otras aplicaciones, y veremos codigos y tambien interfaces (lo que vemos en el VB)
He recibido unos mails quejandose de que no soy muy tecnico, en cuanto a las palabras tecnicas se refiere...
Y aqui voy a contestar:

Prefiero que en vez de decir "es un controlador de eventos" digas "es un evento", pero que sepas de lo que estas hablando, es como si empiezo a hablar de antimateria del septimo cuadrante de la bioesfera neptuniana... queda muy chulo...pero no tengo ni idea de que significa.
Esto es un blog hecho por mi, y lo intento explicar de una manera que yo creo que se entiende, y no quiero liar a la gente con palabra que a veces no tienen nada que ver con lo que son.

Bueno dicho esto, me gustaria por favor que comentarais algo, no me envieis mails, dejad el comentario, (me hara mas ilusion, jajajajaja) de lo que os parece de momento el blog.
Y que hagais una reflexion y os valoreis a vosotros mismos.

Para acabar por hoy, explicare que ejemplo haremos, y deciros que si un dia no puedo publicar algo, tranquilos, que no lo he dejado tirado, simplemente soy padre, y hay veces que no puedes eludir esa responsabilidad.

Ha lo que ibamos:
El ejemplo sera un reloj:
Sera primero un reloj digital y luego un reloj analogo.
Veremos como usar el control Timer y como dibujar objetos y moverlos.
ok? pues hasta mañana gente.

Adeu.

domingo, 29 de enero de 2012

Tercer paso: Programando la calculadora

Bueno gente, sin mas dilacion, empezamos programando.

En el bloque anterior creamos 3 variables, programamos los botones +, -, X, y / para que su evento click guardara en la variable elemento1 el numero que tenemos en el textbox_operandos.

Hasta ahora tendriamos algo asi:


Las variables publicas y para los botones numericos.


Los eventos de los botones (suma, resta, division y multiplicacion)

Perfecto, seguimos

Vereis que hay una variable en los textos de la que no hemos hablado, "accion", no os preocupeis, ahora hablaremos de ella.

Para continuar necesitamos seguir pensando como una calculadora:
Despues de pulsar, por ejemplo, la tecla "+" que hacemos????
"metemos" datos. Ok.
Cuando los memorizamos?
Y
Cuando damos el resultado?
Y
Como sabe el programa si tiene que sumar o restar?

Todas las respuestas son: Cuando le demos al boton "="

direis...WTF ???
vamos hacer una cosa: pongo el codigo primero y lo analizais y despues lo explico ok?


Explicacion paso a paso

En la linea 1:
Creamos una variable integer(numero entero, sin decimales) que se llama largo_elemento1
y que como su nombre indica, su valor numerico es = a la longitud del numero que haya en la variable "elemento1"
Por ejemplo si se guardo el numero 1111 en "elemento1", entonces "largo_elemento1"sera 4.

En la linea 2:
Convertimos a double el segundo numero con el que trabajaremos, usando convert.
Le damos valor a "elemeto2", como????
Cogemos toda la cadena de caracteres(es decir, todas los numeros que tiene textbox_operandos) y le restamos lo que media el otro numero (elemento1) con "largo_elemento1"
Imaginaos:

Tenemos:
1111+232

Y en la programacion que pasaria?
tendriamos que "largo_elemento1" seria = 4, pero si os fijais en la linea 1 pone al final "+1" entonces no seria 4, sino 5

Le quitamos 5 caracteres a lo que tenemos arriba, que queda?

232

Asi es como obtenemos es segundo elemento, y todo lo hacemos con substring, que nospermite cortar cadenas a nuestro antojo.

En el bloque de lineas 3:
Aqui usamos "accion", os acordais de los condicionales IF?
Si revisamos el evento click del boton "+" veremos que tambien asignamos el valor "suma" a la variable "accion", supongo que ahora le veis el sentido.

lo que decimos es :

    Si la      accion      =     "suma"    entonces   resultado es = a elemento1 + elemento2

     IF         accion     =     "suma"       Then      resultado     =  elemento1  +  elemento2

se entiende no?

En la linea 4:
Lo unico que hacemos es cambiar la propiedad "text" de textbox_operandos por el valor de resulatado.

Y hoy para acabar me gustaria que pensarais en como podriamos hacer un tecla para borrar el ultimo digito y otra que lo borrara todo.

Voy a colgar el ejemplo que hemos hecho por si quereis verlo.
https://rapidshare.com/files/4175240570/Calculadora-ejemplo_By_Franc.rar

Nos vemos mañana.

sábado, 28 de enero de 2012

Segundo paso: Aplicacion Calculadora

Bueno gente, supongo que ya habéis hecho todo lo de ayer, pero por si acaso, vamos hacer un resumen, o como se dice aquí en Barcelona, "cinc centims".


Creamos 15 botones y un textbox, a cada uno de ellos le dimos un nombre en particular:
a los botones que indica numero, lo indicábamos con el nombre "Button_1", "Button_2", etc. Y en concreto a la textbox la llamamos "Textbox_operandos".

También hicimos una sub dentro del evento click de cada botón numérico, para que al pulsarlo se escribiera el numero deseado en la "textbox_operandos"

También aprendimos a modificar la propiedad text de un objeto en ejecución.(Ejecución quiere decir cuando VB ya no tiene el control de nuestro programa, sino que el mismo se administra.)

Bueno, pues si hicimos todo esto, y lo tenemos claro, aquí va la segunda parte, y poner atención que van haber un par de cosas difíciles de explicar

!!Comenzamos¡¡

Antes de programar, pensemos un poco.

Como hacemos en la calculadora para "meter" datos ???
pulsamos los botones... ok.
Después???
Pulsamos "+" o "X" o "/" o "-". ok.
Después???
"Metemos mas datos...ok.
Después???
Le damos a "=" y tenemos el resultado.

Vale estos son los pasos que sigue la calculadora.

Vemos y suponemos que la calculadora tiene una memoria, para guardar por lo menos dos variables de números.
Os acordáis de que es una variable no?
Bueno pues vamos decir un par de cositas de como crear variables.
Se crean con DIM y con PUBLIC
Por ejemplo:
DIM "mi_variable" as String
PUBLIC "mi_otra_variable" as Double


En los dos casos estamos creando variables (una es de tipo "letras" - String y la otra de tipo "numérico" con decimal - Double)
Lo único que cambia es la privacidad de la variable, que quiere decir esto????
Fácil, si yo creo una variable con DIM, esa variable solo la podre usar en el bloque que la haya creado, me explico:

Si yo creo la dim
DIM numeros as String
En la SUB "x", solo podre usar esa variable dentro de la sub "x"
En cambio si hago esto:
PUBLIC numeros_publicos as String
La podre usar en cualquier sub, function o parte del proyecto.

Entonces, aclarado este asunto, seguimos
Ahora, pensemos: metemos números con los botones, verdad?
pero...
Que pasa o que tiene que pasar cuando pulso el botón "+" o  cualquiera...????
Pues como en la calculadora, tenemos que guardar datos.
como y cuando?
Lo mas fácil es decir cuando, y es cuando pulsemos + o - o cualquier de estas.
Y como, pues creamos una variable numérica y guardamos es numero, para después usarlo.

Esto aplicado a la programación como podría hacerse? En el evento click de "+", por ejemplo.
Pero primero hay que crear las variable numéricas, 3 en concreto, una para el primer numero, otra para el segundo y otra para el resultado.

Seria algo así:


entonces en la sub del evento click del boton "+" seria:


Fijaos que el elemento1 lo habíamos definido como Double(numero con decimal) y textbox_operandos.text no es Double sino String (cadena de caracteres "letras") y como sabéis las letras no se pueden sumar ni restar, entonces, como algún momento comentamos los convertimos con la orden Convert.
De momento no hagáis caso a la variable acción, ya lo explicaremos mañana.

Así que hasta mañana.

Quiero pedir que me digais si se entiende lo que estamos explicando o se esta haciendo muy complicado.
Gracias.





viernes, 27 de enero de 2012

Primer ejemplo: Calculadora

Hola a tod@s, vamos a ir directos al grano: un ejemplo, mas en concreto, una calculadora.
Pero antes una cosita que debemos de saber:

Variables.
Una variable es como una caja, que esta vacía y puede contener cosas, pueden ser números, letras, objetos, controles, etc.
Si yo creo una variable numérica-
Dim mi_variable as integer 
no puede contener mas que objetos "integer", que significa números enteros (sin decimales)
Existen muchos tipos de variables, por ejemplo:
String (texto)
Integer (números enteros)
Double (números con decimal)
Boolean (interruptor)

Seguramente, boolean, os sonara a chino, pero tranquilos, que es super sencillo, este tipo de variables solo puede tener dos valores:

  • True
  • False
Es como un interruptor, o encendido, o apagado.


Estas son unas pocas variables, existen muchas mas, pero en este ejemplo usaremos estas.
También, que sepáis, que se pueden convertir de un tipo a otro con la orden "convert"
No os abruméis ahora lo veremos, muy poco a poco. Ok??


Sentencia IF
Estas "sentencias"(partes de código) son condicionales, es decir:


IF "una_accion_o_evento_existe" = TRUE THEN
"ejecuta_accion_determinada"
END IF

esto interpretado para nosotros sera:

Si "una_accion_o_evento_existe" es verdad entonces
"ejecuta_accion_determinada"
fin del bloque

Ahora lo veréis, un poco confuso, pero tranquilos en el ejemplo desaparecerán todas vuestras dudas.
Fijaros que toda sentencia IF tiene su THEN y su END IF.


Pues después de esta breve introducción, seguimos con el ejemplo.

1. Abrimos VB y creamos un nuevo proyecto:

Yo llamare al nuevo proyecto "Calculadora-ejemplo", si lo queréis llamar de otra forma, hacerlo, pero no lo recomiendo.
Una vez creado el proyecto, nos saldrá la ventana, que desde ya, lo llamaremos "Form1". Tal como podéis ver, VB por defecto también lo llama así.


Si hacemos un click en el form1, y observamos las propiedades, podemos ver, entre otras, estas:


Text: es el texto que muestra la cabecera del form1
Startposition: indica donde se localizara la ventana de form1 cuando se cree
Size: indica el tamaño de form1
Opacity: indica el grado de transparencia de form1
minimizebox: permite o no minimizar form1
maximizebox: permite o no maximizar form1

Bueno, ahora nos dirigimos al panel de controles:

Y colocamos en form1:
15 objetos button
1 textbox

Mas o menos de esta forma:


Fijaos, que yo, ya he modificado algunas propiedades de form1, como por ejemplo: Text, Size o Showicon, y que de los botones he cambiado la propiedad Text, por el numero que corresponde. Y a su vez he cambiado la propiedad Name de cada botón para identificarlos, por ejemplo al botón con el numero 1 le llamo "button_1"... y así para todos.

Ahora pulsamos F5, para arrancar nuestra aplicación.

Perfecto, pero aunque pulsemos botones no pasa nada... exceptuando el de cerrar (X)

Y ahora como hacemos para que funcione???
Ahora lo vamos a ver, pero primero repasemos un momento los conceptos

EVENTO
SUB
VARIABLES


Si lo tenéis claro seguimos, sino, es mejor que le deis un repason por encima para tenerlo fresco.

Siguiendo hacemos lo siguiente:
Vamos, por ejemplo al botón "1".
Picamos, la ventana de propiedades el botón del rayo (al menos para mi lo es)


Y obtendremos una lista de los eventos, que el botón puede provocar, algo así como esto:


Buscamos el evento "Click" y hacemos doble click.
Nos saldrá, la ventana para escribir código, y mas concretamente dentro de una sub, y mas concretamente una sub, del boton1 que se acciona con el evento Click.

Bueno, ahora pensemos.... Que queremos que pase cuando pulsamos el botón 1????
Pues en la textbox (que la he llamado Textbox_operandos) se escriba el valor "1" no?

Ala, pos vamos a intentar escribirlo en código...

primero, el ordenador debe saber sobre que objeto vamos a hacer algo, en este caso "textbox_operandos"
y modificaremos su propiedad Text y le asignaremos "1"

Seria algo así


El carácter "+=" quiere decir que la propiedad Text de textbox_operandos es igual a lo que contenga + "1"

Probemos, F5 y pulsemos el botón 1

Funciona!!!! perfecto ahora tenemos que hacerlo para todos los números.

Y hasta aquí hemos llegado hoy. ok?
mañana mas y mejor jejejej

Adeu


jueves, 26 de enero de 2012

Conociendo un poquito mas VB 2010

Hola de nuevo a tod@s, supongo que la curiosidad os pudo y ya habéis estado trasteando los controles verdad??
Bueno quería hacer una especificación sobre los objetos (supongo que os acordáis de lo que es un objeto), bueno, pues si os fijáis en la parte izquierda, veréis muchos objetos que se pueden poner en el formulario (form) estos objetos en realidad tienen nombre compuesto, y su nombre es "objeto control", pero nosotros los llamaremos simplemente controles, ok?¿


Aquí, en la imagen, vemos los controles, mas normales que tenemos predefinidos.
No vamos a ver las propiedades de todos, por que seria muy, pero muy largo, ademas de repetitivo, sabéis que es lo único que cambia realmente en los controles???

Exacto, los eventos que pueden provocar.
Solo comentaremos algunos, el resto los iremos viendo

Control Button ------> principalmente evento click
Control Checkbox --> principalmente evento Check_state_change
Control Textbox ----> principalmente evento Text_changed

Estos son unos poco que son los que necesitamos para nuestro primer ejemplo.
Tambien que quede claro, que, los controles pueden provocar muchos eventos, yo, solo he puesto uno de cada uno.

A si, antes de empezar con el ejemplo, explicaros que son las "bibliotecas de recursos", que verdaderamente no es otra cosa, que una forma para saber de que objeto o control estamos hablando o programando.

Me explico:
Si yo me quiero referir a ti, te digo : Eh "tu"
ok, pero como se lo digo a un control??? para eso esta la biblioteca, vale se entiende, pero mejor con un ejemplo.

Si yo me tuviera que referir a ti, como si fueras un objeto o un control podría ser así:

Humanos.Familias.Familia_Sole.Hijos.Francisco

Os fijáis? va de algo genérico a cada vez algo mas concreto. Y el punto es el separador entre ellos.

Os preguntareis, pero me tengo que acordar de toda la biblioteca???? jajajaja, que va, ni por asomo te la podría aprender, VB tiene un asistente de código, y cada vez que pulsas una letra te indica que parte de la biblioteca coincide con ese texto escrito.

Probad, poner en el evento load, que creamos ayer, y escribir una letra cualquiera, el recuadro que os salga a continuación es la biblioteca que coincide con esos criterios.
Se que ahora os parece difícil, pero de verdad es muy fácil.


Fijaos en la parte que he rodeado, es la explicación de lo que hace la instrucción señalada.

Bueno y hasta aquí os dejo, eso si, con un problemilla para que os entretengáis.
Pensad en como podríamos desarollar una calculadora, y, que cosas (funciones) podría hacer.

No hace falta que os diga que curioseéis el VB por vuestra cuenta, así,  lo tendreis mas por la mano y os invito a comentar vuestras ideas o curiosidades.

Adeu.

miércoles, 25 de enero de 2012

Conociendo Visual Basic

Hola a todos, en la explicación de hoy empezaremos a ver el programa de Visual Basic.

Pero antes, las posibles soluciones del problema de ayer.
Un objeto texto puede tener, entre otras, pueden ser el tamaño del texto , el tipo de fuente, cuantas palabras tiene el texto o cuanto bits contiene.

La diferencia entre propiedad y evento? son varias, algunas son:
Una propiedad tiene un valor, es decir "tamaño de texto" -> 16
Un evento no tiene valor.

Una propiedad no "ocurre" siempre esta hay (segundo plano).
Un evento no existe hasta que "ocurre" y nuevamente desaparece.

Bueno ahora a lo que nos interesa, empezamos a trabajar con VB.
Cuando lo instalemos, y lo pongamos en marcha por primera vez nos aparecerá una ventana como esta:


No os preocupéis, la primera vez, tarda un poco.
Después de esta ventana, nos saldrá otra, para elegir el tipo de configuración con la que queremos trabajar, nosotros elegiremos esta:

"configuración de desarrollo de Visaual Basic"

Nuevamente se quedara unos instantes "pensando", y después de esto, tendremos una nueva pantalla:


Esta sera la pantalla, que a partir de ahora veremos siempre que arranquemos el VB.
Ahora vamos a la parte izquierda y presionamos "nuevo proyecto" y tendremos una nueva ventana


Seleccionamos , en la parte izquierda "Visual basic" y en la parte central "Aplicación de Windows Forms"
y abajo el nombre de la aplicación.
Ahora tenemos una pantalla con una ventana pequeña en medio, que si os fijáis, podemos cambiar el tamaño.
Esa ventana y todas las otras ventanas se llaman "Form" (de formulario)

Recomiendo que miréis la pestaña de "propiedades" de la derecha, y así os vayáis familiarizando con las propiedades del form.

Vamos a hacer una prueba, hacemos doble click encima del form.
Vemos como nos sale una pantalla con un código



Vamos a analizar nuestro primer código, prestar atención.
Fijémonos que es una sub.
y a continuación (subrayado) veis "Handles MyBase.Load" que es esto??
Os acordáis de los eventos?, pues esto nos indica que esta sub arrancar(se pondrá en marcha) cuando ocurra el evento "Load"(que es carga)
En resumen ahora estamos programando una sub que se iniciara cuando el formulario se cargue.
Fácil no?

Pues ala, os dejo que investiguéis un poco la propiedades y los objetos que podéis poner en el formulario.
Hasta mañana.

Adeu.


martes, 24 de enero de 2012

Programacion muy basica

Hola de nuevo, hoy vamosa explicar una cosita muy breve, pero antes la solucion del problema anterior:

-Efectivamente estaba mal escrito, eso no podia ser una sub, por que devolvia un valor, por lo tanto, tendria que ser una function.

Bueno, al tema, lo que vamos a explicar hoy es que es un "objeto".
Empezemos por el principio, en VB se programa asi : P.O.O.
que quiere decir que es PROGRAMACION ORIENTADA a OBJETOS.

Y... que es un objeto?

pues un objeto es  una botella de agua, un vaso, los cubiertos, cosas que todos conocemos, pero tenemos que tener en cuenta que por ejemplo un boton tambien es un objeto o un texto, se entiende no?

Ahora analizemos un objeto cotidiano, por ejemplo una botella de agua.
 Tiene ciertas propiedades verdad?
Que entendemos por propiedades? , por ejemplo su altura, su grosor, el material del que esta hecha, ... un sin fin de cosas
Pues un objeto (referiendonos, ahora si, a la informatica) tambien tiene propiedades, que cuales son? pues eso depende del objeto
Por ejemplo un "objeto" boton que propiedades creeis que puede tener?
Entre otras:

  • tamaño
  • texto del boton
  • nombre del boton (me refiero al nombre que le daremos para diferenciar un boton de otro, por ejemplo una prodria ser "boton_acep" y otro "boton_cancel")
  • fuente del texto
Y estas son solo unas pocas, existen un monton de propiedades, e incluso podemos crearlas nosotros mismos, dentro de estas propiedades tambien estan los famosos eventos, que no se pueden clasificar como propiedades, por eso decidi explicarlo primero.

Hasta aqui doy por concluido la clase de teoria, pero eso si poco a poco tendremos que ir viendo teoria, por que sin teoria no hay practica, jejeje.

Y para acabar intentar decirme algunas propiedades de un objeto  "TEXTO" (es decir un texto), y en que se diferencia un evento de una propiedad.

Adeu.




lunes, 23 de enero de 2012

Link de la descarga

Hola a tod@s, estoy colgando el Visual Studio Basic 2010, lo que va muy lento subiendo.
Os informare de como va el asunto y gracias a todos por las visitas.

Aquí tenemos el primer link
https://rapidshare.com/files/1243973955/es_visual_studio_2010.part1.rar

Aqui tenemos el segundo link
https://rapidshare.com/files/297027708/es_visual_studio_2010.part2.rar

Aqui tenemos el ultimo  link
https://rapidshare.com/files/959567163/es_visual_studio_2010.part3.rar

Si teneis problemas o no sabeis como hacer para instalarlo solo decirlo
Gracias
Adeu.


Otro pasito: La teoria.

Hola de nuevo a tod@s, ahora vamos a aprender nuevos conceptos sobre la programación, que nos sera de vital importancia, tengamos en cuenta que esta es la parte teórica, es muy poca pero hemos de tratar de entenderla muy bien, creo que no hace falta decir que si surgiera alguna duda no tenéis mas que decirlo en un comentario, bueno pues empezamos.

Palabras clave que trabajaremos:

  1. Código
  2. Evento
  3. Sub
  4. Function
  5. Return

CÓDIGO es lo que escribimos para que el ordenador sepa que queremos hacer, es decir:
Cuando programamos, escribimos código

Una cosa muy importante de la programación son los llamados "EVENTOS" 

Y que es un evento????

Pues la respuesta es muy simple: cuando hacemos una acción (dentro de nuestro programa), eso desencadena un evento "x", por ejemplo:
la acción de hacer clic en un botón (nuevamente de nuestro programa) desencadena el evento "me_han_echo_clic" o "el_nombre_de_evento_que_se_me_ocurra" y el programa hará lo que hayamos programado, se entiende no?

Bueno pues ahora nosotros programaremos sobre ese evento ("me_han_echo_clic") y le mandaremos, por ejemplo cerrar la ventana o guardar un archivo.

También existen lo que se llaman "SUB's" .

Y que es esto???

También es muy fácil, os explico:

El código, que ya veréis que es muy fácil de escribir, debe estar en algún lado localizado para que la maquina, el procesador, el programa, etc sepa donde esta, por ejemplo:


Veis lo que esta subrayado verdad?(sub y end sub) pues entre esas dos palabras clave debe contenerse el código del evento que queramos, que hay muchos (abrirse una ventana, cerrarla, cambiar el tamaño de algo, hacer clic, hacer doble clic, arrastrar algo en la ventana y una infinidad)


Bueno pues también existe un grupo especial de SUB, se llaman FUNCTION  es lo mismo, simplemente que devuelve un valor numérico, alfanumerico(letras) o otros tipos, me explico

Yo hago una sub y le pido mediante código que sume dos números, la sub los hará pero nunca lo sabremos el resultado obtenido

Pero por que????

 porque la sub no puede devolverte el valor obtenido, tendriamos que hacer una function 




Si os fijáis he señalado RETURN, que no es mas que una palabra clave que, le pide al programa que nos devuelva el valor, este caso "ruta"

(fijaos que todas la palabras clave salen de color azul, no lo veis por que lo he subrayado, pero function, return y end function están en azul tambien.)

Recordemos que obligatoriamente cada function tiene de devolver un valor(numerico, un dibujo, unas letras etc) si no estubiera, Visual basic nos daria un error diciendo que una function "nombre x" no devuelve ningun valor, y esto se consigue con la palabra clave return.
Vamos a poner un ejemplo:
Estamos haciendo un programa, en concreto una calculadora, y, necesitamos que al presionar el boton "="
nos de la suma de unos valores
En este caso necesitamos una function para que, no solo calcule el resultado, sino que tambien nos lo devuelva y podramos trabajar con el resultado, modificarlo o destruirlo...

Y ahora para terminar unas preguntas para que penséis un poquito:

es correcto este fragmento de codigo?

SUB mi_propia_sub

'aqui escribimos el codigo

Return numeros
END SUB

La respuesta en la proxima publicacion
Hasta la proxima.


Primer paso: Que necesito


Los primeros pasos
Hola a todos me llamo Francisco, pero mis amigos me llaman Franc, y como de ahora en adelante nos podemos considerar amigos, pues llamarme Franc, ok?


Bueno, para empezar a programar necesitamos un entorno de desarrollo, que no es mas que un programa que permite diseñar, crear y modificar programas, que en este caso es Visual Studio Basic 2010, que empezaremos a usar para familiarizarnos con el lo mas pronto posible.


El que no pueda conseguir el programa, que deje un comentario y le pasare un link de uno en periodo de prueba.

Seguidamente, otra cosa, muy importante que necesitamos es una idea, una idea de que queremos hacer, si ya la tenemos pensada, nos ahorraremos mucho trabajo.


Por ejemplo, yo lo que quiero es un programa que controle los gastos mensuales, y poder hacer estadísticas o lo que se me ocurra.
Entonces que hacemos cogemos una libreta y escribimos acciones, acciones que queremos que nuestro programa haga.


Por ejemplo: "abrir ventana de ingresos" o "cerrar todas las ventanas" o tambien "Guardar gastos" ...


Este tipo de tarea para mi es el mas pesado, por que se trata de organizar un poco las ideas y eso a veces es complicado.
Una vez acabado tenemos que clasificar las acciones en grupos, imaginate que sera el menu del programa, bueno y de hecho esa es la idea.

Aqui dejo una imagen de lo que hize yo en su momento...

 Esto es orientativo, no quiere decir que lo tengais que hacer asi. Eso si el ejemplo que haremos sera con estas acciones.

Pues entonces hasta aqui se queda la cosa, mañana mas y empezar a pensar en las acciones que quereis para vuestro programa.
Franc