miércoles, 24 de abril de 2013

SUMA DOS NUMEROS VB

 

Buen día jovenes esta es la tarea ya corriendo del programa que les deje, saludos, y comenten sus dudas, abajo el codigo.


Utilice los siguientes objetos:
  • Text1.text
  • Text2.text
  • Command1
En el evento Click de Command1, introduje el siguiente código:

MsgBox "La suma es: " & Val(Text1.Text) + Val(Text2.Text), vbOKOnly + vbInformation, "Suma"

OBJETOS EN VB


Para Visual Basic un Objeto es una combinación de código y datos que pueden ser tratados y controlados como una unidad. Command buttons y otros controles en una forma son objetos. Cada forma en un Proyecto Visual Basic es un objeto separado. 

Los objetos pueden contener otros objetos, por ejemplo una forma puede contener Command buttons. 

Se dice que los objetos están encapsulados porque contienen su propio código y sus propios datos, para facilitar su corrección o adecuación. 

Los objetos Visual Basic tienen propiedades, métodos y eventos.

Cada objeto de Visual Basic se define mediante una clase, donde una clase es una plantilla, en la cual se definen las características y comportamiento del objeto.
Cuando se crea un objeto se crea una copia o instancia identica de la Clase del objeto. La instancia de la clase es el objeto al que hará referencia la aplicación. 

Una vez creado un objeto es posible cambiar sus propiedades, las propiedades son los datos de un objeto, los procedimientos que operan sobre el objeto se conocen como métodos. Un evento es una acción reconocida por un objeto y es posible escribir código especifico que responda al evento. 

Es posible agregar un método a un objeto, por ejemplo un Formulario simplemente agregando un procedimiento declarado como público en el módulo del formulario. 

Public Sub nombreProcedimiento()
   instrucciones
End Sub

Para llamar al nuevo método del formulario podria escribir:

 nombreFormulario.nombreProcedimiento

De la misma manera que es posible agregar un método es posible agregar una propiedad declarando una variable pública en el módulo del formulario: 

 Public nombreVariable as Integer

Usar Variables de Objetos
Una variable puede hacer una referencia a un objeto: 

 Dim nombreVariable as Clase
 set nombreVariable = objeto ' asignar un objeto a una variable tipo objeto

Se utiliza la instrucción Set para que una variable de objeto haga referencia a un objeto. 


 Dim nombreVariable as New nombreObjeto 'Variable de tipo objeto
 
New se utiliza para crear un nuevo objeto definido por su clase. Se recomienda utilizar New con la instrucción Set. 

 Dim nombreVariable as nombreObjeto 'Variable genérica

Cada objeto utiliza memoria y recursos del sistema, por lo que es conveniente y recomendable liberar los recursos cuando no necesite usar más el objeto.
  • Emplee Unload para descargar un formulario o control de la memoria
  • Emplee Nothing para liberar recursos utilizados por una variable de objeto
De igual manera se acompaña la asignacion del valor Nothing a una variable de objeto con la instrucción Set.

Nombres de Objetos
Cuando un objeto es creado se le asigna un nombre por default basado en su tipo, por ejemplo Form1, Command2, Text3, etc. 

Es recomendable cambiar de inmediato este nombre por defecto por un nombre descriptivo que índique el proposito del control, una de las razones es que el código asociado al objeto se compone del nombre del objeto, si cambia el nombre del objeto después de escribir el código el código pierde su asociación.

Estándares para los Nombres de Objetos
A fin de aplicar mejores criterios de programación se recomienda el uso de convenciones para nombrar a sus variables, objetos, controles, formas, etc. Por ello la siguiente lista proporciona prefijos para los nombres:
ObjetoPrefijo
Check boxchk
Combo boxcbo
Command buttoncmd
Datadat
Directory list boxdir
Drive list boxdrv
File list boxfil
Formfrm
Framefra
Gridgrd
Horizontal scroll barhsb
Imageimg
Labellbl
Linelin
List boxlst
Menumnu
OLEole
Option buttonopt
Picture boxpic
Shapeshp
Text boxtxt
Timertxt
Vertical scroll barvsb

Una vez establecidos los prefijos a emplear la convención es establecer un estándar de programación en el cual los nombres se componen de un prefijo seguido de un nombre descriptivo que al leerlo se entienda su naturaleza o propósito, ejemplo: 

txtNombreEmpleado

Control de Objetos
Para controlar un objeto se utilizan sus propiedades, métodos y eventos. Las propiedades son los dato del objeto, configuración y atributos. Los métodos son procedimientos que operan un objeto o que el objeto realiza sobre los datos. Los eventos son activados cuando algún aspecto del objeto ha cambiado.

Propiedades
Las propiedades (Text, Caption, Name) definen la apariencia y comportamiento de objetos.
Es posible establecer el valor de la mayoría de las propiedades en tiempo de diseño a través de la Ventana de propiedades (Window Properties) o en tiempo de ejecución a través del código  

  txtNombreWebSite = "informatica-a-full.blogspot.com". 

Las propiedades que no se pueden establecer en tiempo de diseño se establecen en tiempo de ejecución.

Constantes Visual Basic
Algunas propiedades contienen valores especificos los cuales son definidos a través de Constantes Visual Basic, por ejemplo los valores válidos para la propiedad Value del control CheckBox son constantes Visual Basic o su valor correspondiente, una constante Visual Basic tiene el prefijo vb:
ConstanteValorDescripción
vbUnchecked0Cleared
vbChecked1Selected
vbGrayed2Unavailable

Por lo que la asignación de valores a la propiedad Value de un CheckBox puede ser de dos formas:
  1. Asignar su valor correspondiente: chkEncendido.Value = 1
  2. Asignar la constante correspondiente: chkEncendido.Value = vbChecked

Método
Un método causa que un objeto realice una acción o tarea, los métodos generalmente son acciones que se desean realizar.

Sintaxis para invocar un método:
Object.Method arg1,arg2,...

Sintaxis para obtener el valor que regresa un método:
nombre_Variable = Object.Method(arg1,arg2,...)

Evento
Un evento es una acción reconocida por una forma o control, los eventos son activados cuando algún aspecto de un objeto cambia.

QUE ES VB6.0


Microsoft Visual Basic 6.0 es un entorno de programación basado en el lenguaje Visual Basic (VB) el cual, a su vez, desciende del Basic original.
El Visual Basic es, en escencia, un dialecto de Basic con mejoras importantes. El VB fué desarrollado pensando en crear un entorno de programación gráfico que fuera rápido de usar y a la vez sencillo de aprender. Está pensado tanto para principaintes como para programadores expertos, gracias a las cualidades que ya mencioné.

La versión 6 de VB fué la última que incorporó un motor basado en Win32, ya que después de esta versión se cambió el motor por un FrameWork y con esto cambió su nombre a .Net

Se discute mucho sobre si VB es un lenguaje orientado a eventos o a objetos. La realidad es que VB representa un híbrido entre ambos tipos. Ha heredado su orientación a eventos del antiguo lenguaje BASIC, pero incorpora también ciertas cualidades del lenguaje orientado a objetos, ya que la creación de sus interfaces gráficas se encuentra cimentada en esto. En versiones posteriores de VB se ha dado un uso mayor de la orientación a objetos.

miércoles, 2 de enero de 2013

PROCEDIMIENTO PARA PARQUEO (ORACLE)




create or replace procedure park(lv_dia number,lv_mes number,lv_anio number)
is
    cursor cr
is
--Este es el cursor
    select * from parkeo
--entrada es el campo de la tabla, (ddmmyyyy) eso es el formato de fecha
        where to_char(entrada,'ddmmyyyy')  like '%'||(to_char(decode(lv_dia,0,null,
--el decode funciona como que fuera un if, esto me sirbe para el query, ejemplo si la fecha que se manda
--como parametro es 1/1/2012, entonces lo que hace es esto 01/01/2012, podes darte cuenta que le pone
--un cero adelante del dia y del mes, esto lo hice así pq el like no funciona si lo dejo así 1/1/2012
                                                                            1, '0'||lv_dia,
                                                                            2, '0'||lv_dia,
                                                                            4, '0'||lv_dia,
                                                                            5, '0'||lv_dia,
                                                                            6, '0'||lv_dia,
                                                                            7, '0'||lv_dia,
                                                                            8, '0'||lv_dia,
                                                                            9, '0'||lv_dia,                            
                                                                                    lv_dia))
                                                   ||to_char(decode(lv_mes,0,null,
                                                                           1, '0'||lv_mes,
                                                                           2, '0'||lv_mes,
                                                                           3, '0'||lv_mes,
                                                                           4, '0'||lv_mes,
                                                                           5, '0'||lv_mes,
                                                                           6, '0'||lv_mes,
                                                                           7, '0'||lv_mes,
                                                                           8, '0'||lv_mes,
                                                                           9, '0'||lv_mes,                                                                                                        
                                                                                   lv_mes))                                                                                
                                                   ||TO_CHAR(lv_anio)||'%');
mreg cr%rowtype;
contador number:= 1;
existencia number:=0;

begin
--vacio la tabla park2, que es donde pongo el conteo
    delete PARK2 ;
    open cr;
        loop fetch cr into mreg;
        exit when cr%notfound;
            --aqui obtengo la hora de la fecha de entrada
            contador:= to_number(to_char(mreg.entrada, 'HH24'));
            --aqui digo que si la hora de entrada es menor que la hora de salida, entonces
    --que haga el insert o el update, depende del if
    --ejemplo: si ya tengo un carro ingresado a de 1:00 - 2:00 (esto es en el campo rango), entonces    
               hace el update
    --sino se va a la parte del insert
    --cualquiera de las variantes le agrega uno al contador.
while contador <= to_number(to_char(mreg.salida, 'HH24'))          
            loop
                select count(*) into existencia                
                from park2
                where rango = contador||':00 - '||contador||':59';
                if ( existencia = 0 ) then
    --insert
                    insert into PARK2  values (contador||':00 - '||contador||':59',1);
                    COMMIT;
                else
                    --update
                    update park2 set cuenta = (select cuenta + 1 from park2
                           where rango = contador||':00 - '||contador||':59')
                    where rango = contador||':00 - '||contador||':59';
                    COMMIT;
                end if ;            
                contador:= contador + 1;              
            end loop;
        end loop;
    close cr;
end;

Que tal compañero, aquí te dejo el code para el parqueo! Saludos y suerte en el exa.!