vb6.0 tips

33
Programación PROGRAMACION Centro de Capacitación EducArte 1/33

Transcript of vb6.0 tips

Page 1: vb6.0 tips

Programación

PROGRAMACION

Centro de Capacitación EducArte 1/33

Page 2: vb6.0 tips

Programación INTRODUCIR CODIGO ............................................................................ 4 PROPIEDADES GENERICAS DE LOS OBJETOS ................................................. 5

Modificar el Valor de las propiedades ..................................................... 6 FORMULARIOS ................................................................................. 7

Para descargar un formulario ............................................................ 7 Agregar Nuevos Formularios .............................................................. 7

Agregar Menues A Nuestro Formulario ....................................................... 8 CONTROLES INTRÍNSECOS ...................................................................... 9

ETIQUETAS ..................................................................................... 9 CUADROS DE TEXTO .......................................................................... 9 MARCOS ........................................................................................ 9 BOTONES DE COMANDO ...................................................................... 9 CASILLAS DE VERIFICACION ................................................................ 10 BOTONES DE OPCION ........................................................................ 10 LISTAS Y LISTAS DESPLEGABLES ........................................................... 10 BARRAS DE DESPLAZAMIENTO .............................................................. 10 TIMER .......................................................................................... 10 DIBUJOS ....................................................................................... 11 LINEAS ......................................................................................... 11 OBJETO PICTURE ............................................................................ 11 OBJETO IMAGEN ............................................................................. 11 UNIDAD DE DISCO ............................................................................ 11 LISTA DE DIRECTORIO ....................................................................... 11 LISTA DE ARCHIVOS ......................................................................... 12

Agregar Componentes ......................................................................... 12 OBJETO COMMON DIALOG .................................................................. 13

Para disponer de el deberá agregar el componente ............................... 13 EL OBJETO ADO .............................................................................. 15 ENLAZAR OBJETOS AL CONTROL ADO ................................................... 16

PROPIEDADES IMPORTANTES DEL RECORDSET ADO .................................. 16 Conexión DATA ENVIRONMENT ............................................................ 17 RECONOCIENDO LOS EVENTOS DEL MOUSE ............................................. 19 RECONOCIENDO LOS EVENTOS DEL TECLADO ........................................... 19

TABLAS DE CODIGOS DE TECLAS ....................................................... 20 AGREGAR MENUES EMERGENTES .......................................................... 22 ORDENES DE ENTRADA Y SALIDA DE DATOS .............................................. 22

MSGBOX .................................................................................... 22 INPUTBOX .................................................................................. 22

EL OBJETO CLIPBOARD (PARA COPIAR Y PEGAR) ....................................... 23 DEFINICIÓN DE VARIABLES .................................................................. 24 ALCANCE DE LAS VARIABLES...............................................................24OPTION EXPLICIT ...........................................................................24Tipos de Variables ........................................................................... 25 FUNCIONES DE CONVERSION DE TIPOS ................................................... 26 OTRAS FUNCIONES UTILES PARA RECORDAR ............................................. 26 ESTRUCTURAS DE CONTROL ............................................................... 27

ESTRUCTURAS DE DESICION ............................................................. 27 ESTRUCTURAS DE REPETICION .......................................................... 27

PROCEDIMIENTOS ........................................................................... 28 FUNCIONES .................................................................................. 28 IMPRIMIR ...................................................................................... 29

Centro de Capacitación EducArte 2/33

Page 3: vb6.0 tips

Programación Usar el método PrintForm ............................................................... 29 Usar el Objeto Printer ................................................................... 29

INCLUIR COMENTARIOS ..................................................................... 30 GUIA SQL ...................................................................................... 31

PARA SELECCIONAR TODOS LOS CAMPOS DE UNA TABLA Y TODOS SUS REGISTROS ................................................................................. 32 PARA SELECCIONAR ALGUNOS CAMPOS DE UNA TABLA ............................. 32 PARA SELECCIONAR REGISTROS QUE CUMPLAN UNA CONDICION .................. 32 SELECCIONAR REGISTROS QUE ESTEN ENTRE DOS VALORES ........................ 32 SELECCIONAR REGISTROS PARECIDOS A .. ............................................ 32 SELECCIONAR REGISTROS QUE INCLUYAN A .......................................... 32 SELECCIONAR REGISTROS ORDENADOS ASCENDENTEMENTE ........................ 32 SELECCIONAR REGISTROS ORDENADOS DESCENDENTEMENTE ...................... 32 SUMAR UN CAMPO DADO ................................................................. 33 MAXIMO VALOR DE UN CAMPO DADO ................................................... 33 MINIMO VALOR DE UN CAMPO DADO ................................................... 33 PROMEDIO DE UN CAMPO DADO ........................................................ 33 CONTAR LA CANTIDAD DE REGISTROS DE UNA TABLA ............................... 33 SELECCIONAR LOS PRIMEROS n REGISTROS .......................................... 33 SELECCIONAR LOS DIFERENTES ......................................................... 33 AGRUPAR POR y SUMAR POR ............................................................ 33

Centro de Capacitación EducArte 3/33

Page 4: vb6.0 tips

Posición del formulario

Propiedades del Objeto

Explorador de Proyectos

herramientas

Formulario

Programación

Visual Basic

INTRODUCIR CODIGOAl hacer doble clic sobre un objeto determinado, se abrirá la siguiente ventana.La idea es colocar el código entre el

Private Sub objeto_evento

End Sub

Esto significa que el código se ejecutara cuando se dispare el evento de dicho objeto, en la muestra, cuando realicemos clic en el Botón de Comando.Si desea que se ejecute en otro evento, puede cambiarlo en la lista desplegable colocada en la parte superior derecha.

Centro de Capacitación EducArte 4/33

Page 5: vb6.0 tips

Programación Cada objeto tiene sus propios eventos

PROPIEDADES GENERICAS DE LOS OBJETOSCasi todos los objetos poseen una serie de propiedades las cuales enumeramos en forma genérica .

PROPIEDAD VALORES DESCRIPCIONVisible TRUE/FALSE Muestra o oculta el objetoEnabled TRUE/FALSE Hace que el objeto este disponible o noBackColor Color del objetoForeColor Color de la FuenteTop 0..9000 Distancia desde arriba al objetoLeft 0..12000 Distancia desde la izquierda al objetoHeight 0..9000 alto del objetoWidth 0..12000 ancho del objetoTooltiptext texto es el texto que se muestra al apuntarle

al objetoTabStop True/False indica si al pulsar el Tabulador es

posible lograr el enfoque a este objetoTabIndex 0,1,2, etc. es el orden que intercambiaran el

enfoque con el TabuladorMousePointer 1..99 da diferentes opciones de formas del

puntero, cuando lo enfocamos con el mouse

MouseIcon Me permite usar un icono personalizado si elegí _MousePointer=99

Aclaración Grafica sobre las propiedades de posición.

El ancho de un formulario maximizado es de 12000 y el alto es de 9000, pensando en una definición de pantalla de 800 * 600

Aclaración sobre las propiedades vinculadas a los colores:

Centro de Capacitación EducArte 5/33

Page 6: vb6.0 tips

Programación Ud. puede usar algunas constantes tales como: vbblack, vbred,

vbgreen, vbyellow, vbblue, vbmagenta,, vbcyan, vbwhiteo sea que seria valido: form1.backcolor= vbRed

también puede colocar el valor hexadecimal correspondiente al color

o sea que seria valido: form1.backcolor= &H000000FF&también puede usar la función RGB

o sea que seria valido: form1.backcolor= RGB(a,b,c)SIENDO A, B, Y C valores de 0..255 y cada uno representa la cantidad de ROJO, VERDE Y AZUL respectivamente

Modificar el Valor de las propiedades

Ud. puede modificar los valores de las diferentes propiedades en TIEMPO DE DISEÑO o sea mientras esta diseñando el programa, cambiando las mismas señalando el objeto y modificando el valor en la ventana de las propiedades. También las puede modificar en TIEMPO DE EJECUCION, o sea mediante código, que se ejecutara o no de acuerdo a lo que realice el usuario. Para esto deberá colocar el siguiente códigoobjeto.propiedad=valorobserve que el editor lo va ayudando, dado que una vez que escribe el nombre del objeto y digita el punto, aparecerán las propiedades disponibles, cuando tenga la propiedad que desea seleccionada, pulse la tecla TAB

Centro de Capacitación EducArte 6/33

Page 7: vb6.0 tips

Programación

FORMULARIOSForm (Frm)Caption: es el mensaje que mostrara en la barra de tituloWindows State : define como iniciara (Normal, Maximizado, Minimizado)Border Style: nos da opciones referente a si el formulario podrá cambiar la dimensión por parte del usuario, en tiempo de ejecuciónKeyPrevious : hace que el formulario cheque en primera instancia los eventos del mouse

Para llamar un formulario desde otroNombreformulario.Show ó Nombreformulario.Show VBMODAL , esta ultima variante no permite minimizar al formulario, lo que lo hace especialmente útil cuando requerimos que el usuario ingrese un dato, como una contraseña por ejemplo. pues hasta que no la ingresa y acepte no puede pasar a otro formulario

Para descargar un formulario

Unload NombredelFormulario UnLoad me

Establecer un formulario de inicioSi su proyecto tiene mas de un formulario Ud. Puede pulsar el botón derecho en el explorador de proyectos y acceder a las PROPIEDADES del proyecto, ahí tiene la posibilidad de cambiar el formulario de inicio

Agregar Nuevos FormulariosPulse el botón derecho en el explorador de proyectos y acceda a Formularios, observe que le permite agregar uno nuevo, o uno basado en una plantilla, lo que significa formularios muy comunes que ya están construidos y que Ud. puede tomarlos de modelo y modificar lo que crea conveniente

Centro de Capacitación EducArte 7/33

Page 8: vb6.0 tips

Programación

Agregar Menues A Nuestro Formulario

Si pulsa el botón derecho sobre un formulario, puede acceder al EDITOR DE MENUES, que le permite crear los mismos, el cuadro de dialogo es similar al siguiente

Debe colocar Caption y Name, puede definir Teclas de acceso rápido (ShortCut) a cada opción, puede activar o no chequeado, visible y disponible.Por ultimo con las flechas de esa ficha define el orden y los niveles

Nota: Si en el caption coloca un guión (– ) y coloca cualquier nombre, creara una línea separadora de menues

Centro de Capacitación EducArte 8/33

Page 9: vb6.0 tips

Programación

CONTROLES INTRÍNSECOSETIQUETAS

Label (Lbl) Caption: es el texto que mostraraAlignment : establece la alineaciónBackStyle : permite la opcion opaco y

trasparente CUADROS DE TEXTO

Text (Txt)Text : es el texto que mostraraMultiline: True /False, permite mas de una líneaFont : cambia el tipo de fuenteMaxlenght (máximo de caracteres)Password chart use * para que tenga una apariencia de

contraseñaLocked: True/False : bloque el objeto

MARCOSFrame (Fra)

Es especialmente útil como contenedor de objetos, permitiendo por ejemplo dejar visibles, a un grupo de objetos a la vez, dejando visible simplemente al marco.Caption: es el texto que mostraraAparence y BorderStyle,

son dos opciones para modificar su presentación

BOTONES DE COMANDOCommand (Cmd)

CaptionStyle (Grafico o Standard)

si esta Grafico habilita las opciones, tales como backcolor,Picture, etc.

Picture es la imagen que mostraraDefault (true para ser el botón que reaccionaria si

pulsáramos la tecla ENTER)Cancel (true para ser el botón que reaccionaria si

pulsáramos la tecla ESC)usar & nombre para activar con botón mediante ALT + letra

Centro de Capacitación EducArte 9/33

Page 10: vb6.0 tips

Programación

CASILLAS DE VERIFICACIONCheck (Chk)

CaptionValue (Nochequeado 0, Chequeado 1, Gris 2)Style (Grafical, Standard)

En estilo grafico se comporta como el botón de Negrita de Word

BOTONES DE OPCIONOption(Opt)

Solo es posible tildar un botón de opción a la vez, salvo que los mismos estén agrupados en marcos diferentesCaptionValue (True, False)Style (Grafical, Standard)

En estilo grafico se comporta como los botones de Alineación de Word

LISTAS Y LISTAS DESPLEGABLESCombo (Cbo) y List (Lst)

List (Ingresar las opciones en tiempo de diseño con Ctrl + Enter Text

ListIndex: elemento seleccionado (comenzando por el elemento CERO)

ListCount: cantidad de elementosAddItem “texto “ agrega un elemento a la listaClear borra toda la listaRemouveItem nro elimina un elemento en particular

BARRAS DE DESPLAZAMIENTOHscroll (HSb) y Vscroll (VSb)

Value: es el valor que tiene la barra en este momento

Max (32767 por omisión)Min (Cero por omisión)

TIMERTimer (Tmr)

Enabled (True/False)Interval (ingresarlo en milésimas, o sea 1000 es UN

SEGUNDO)

Centro de Capacitación EducArte 10/33

Page 11: vb6.0 tips

Programación

DIBUJOSShape (Shp)

BackStyle (Trasparente o solido)

Sólido habilita backcolor

Shape (Rectángulo, Circulo, Etc.)

Es la figura que desea

LINEASLine

X1 (coordenada horiz.. de inicio)X2 (coordenada horiz.. de fin)Y1 (coordenada vertical de inicio)Y2 (coordenada vertical de fin)BorderWidth establece el grosor de la línea, por omisión

es 1

OBJETO PICTUREPicture (Pic)

Sirve para Contener otros objetos o por supuesto para mostrar una imagenAsí se establece o se quita una imagen.Picture =LoadPicture (app.path + “\ …) ó.Picture =LoadPicture

OBJETO IMAGENImage(Img)

Se establece o se quita de la misma forma que el objeto PicturePictureStrech (True/False) me permite que la imagen se ajuste al marco del objetoUNIDAD DE DISCO

DriveList (drv).drive = “C:\”

LISTA DE DIRECTORIODirList (dir)

.Path = "C:\"

Centro de Capacitación EducArte 11/33

Page 12: vb6.0 tips

Programación

LISTA DE ARCHIVOSFileList (fil)

.Path = DirList.PathPattern = “ * .bmp” (por ejemplo)

Agregar ComponentesUd. Puede disponer de otros objetos, que no aparecen inicialmente en un proyecto.Para agregar un nuevo componente, vaya al Menú Proyecto Componentes, se encontrara con la siguiente ficha, en la misma Ud. Debe tildar el componente que le interesa agregar

Centro de Capacitación EducArte 12/33

Page 13: vb6.0 tips

Programación

OBJETO COMMON DIALOGCommond Dialod (Cd)

Para disponer de el deberá agregar el componente El mismo nos permite abrir los cuadros de diálogos del sistema, en la muestra vemos el de color, por ejemplo

.Showopen

.Showsave

.Showcolor (poner flags CDLCCRGBINIT)

.ShowFont (poner flags cdlcfscreenfonts o cdlcfsprintfont o cdlcfboth ).ShowPrinter

ejemploCommonDialog1.Flags = cdlCCRGBInitCommonDialog1.ShowColor

SLIDER MAX MINVALUE

PROGRESS BARMAXORIENTACIONSCROLLING

La idea es colocar en un timer con la orden : progressbar=progressbar + 1 para que la barra avance

UPDOWNmaxMINVALUEINCREMENT

. ORIENTACION

DTPICKER1 y MONTHVIEWEs un combo que despliega un almanaquemindatemaxdatevaluestarofweekFORMAT

STATUSBAR

Centro de Capacitación EducArte 13/33

Page 14: vb6.0 tips

Programación Agrega una barra de estado a nuestro formulario, Ud. puede con el botón

derecho – propiedades, agregarle paneles ( o sea dividirla en sectores) y escribir en ellos

mediante código seriaStatusBar1.Panels(1) = "Esto es una prueba”

MASKEDBOXEs basicamente un cuadro de texto, que nos permite ingresar

números con mascaras del tipo 99/99/99999.999.999-9estos ejemplos son validos

SysInfoEs un control no visible en tiempo de ejecucionme da datos del sistema tales como tipo de sistema operativo, tipo de

corriente, etcACSTATUS

0 El sistema no está utilizando alimentación AC.

1 El sistema está utilizando alimentación AC.

255 El estado de la alimentación AC es desconocido

BATTERYSTATUS

1 La carga de la batería es alta.

2 La carga de la batería es baja.

4 La carga de la batería es crítica.

8 La batería se está cargando.

128 El sistema no tiene batería.

255 El estado de carga de la batería es desconocido.

OSPLATFORM

0 Win32s

1 Windows 95

2 Windows NT

OSVERSIONDevuelve la versión del sistema operativo

WorkAreaHeightDevuelve el alto del escritorio

WorkAreaWdthDevuelve el ancho del escritorio

Centro de Capacitación EducArte 14/33

Page 15: vb6.0 tips

Programación

SSTABEs un control de fichas, en las propiedades del mismo puedetabcaptionorientation stylecomo propiedades mas importantes

TOOLBAREn las propiedades podremos insertar botones

INDEXCAPTIONVALUEpara reconocer que botón pulso colocamos el código en el evento click de la barraPrivate Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)MsgBox Button ' ESTE CODIGO DEVUELVE EL CAPTION DEL BOTONEnd Sub

imagelist (se carga de imagenes)

listview (muestra las imagenes de la listaListView1.Picture = ImageList1.ListImages(Combo1.listindex + 1).Picture

EL OBJETO ADO

Es el que nos permite enlazarnos a una base de datos, para configurarlo debe pulsar el Botón derecho sobre el y acceder a las propiedades, vera el siguiente cuadro de dialogo

Si luego pulsa el botón generar le aparecerá el siguiente cuadro

Centro de Capacitación EducArte 15/33

Page 16: vb6.0 tips

Elija TABLA o TEXT

si Eligio tabla, selecciónela

si Eligio TEXT, escriba la instrucción SQL(la veremos mas adelante)

Programación Elija Microsoft Jet 4.0, pulse siguiente y le permitirá localizar la BASE ACCESS a la cual nos pretendemos conectar.

una vez conectados busque la ficha ORIGEN DE LOS REGISTROS

ENLAZAR OBJETOS AL CONTROL ADOUd. puede enlazar muchos objetos directamente a los datos de una tabla, utilizando las propiedadesDATASOURCE y DATAMEMBER de dichos objetosAdemás puede agregar componentes especiales tales como DATAGRID, DATALIST, DATACOMBO etc, pensados para esos propósitos

PROPIEDADES IMPORTANTES DEL RECORDSET ADO

Adodc1.Recordset.AddNew agrega un registro en blancoAdodc1.Recordset.Deleted elimina el registro actualAdodc1.Recordset.Field(i) accede al campo i del registro

actualAdodc1.Recordset.UpdateBatch grabaAdodc1.Recordset.MoveFirst va al primer registroAdodc1.Recordset.MoveLast va al ultimo registroAdodc1.Recordset.MovePrevious

va al próximo registro

Adodc1.Recordset.MoveNext va al siguiente registroAdodc1.Recordset.EOF devuelve TRUE si estamos en el finAdodc1.Recordset.BOF devuelve TRUE si estamos en el

Centro de Capacitación EducArte 16/33

Page 17: vb6.0 tips

Programación inicio Buscar:

Buscar Adodc1.Recordset.Find ("nombre_campo" + "=" + valor)

Filtrar: Adodc1.Recordset.Filter = (“nombre_campo” + "=" + valor)

Ordenar: Adodc1.Recordset.Sort = "nombre_campo"

Conexión DATA ENVIRONMENTOtra forma de conectarse es agregando una conexión Data Environment, la diferencia fundamental es que la conexión no depende de un formulario, como es el caso de el objeto ADO, por lo que estableciendo una conexión puedo acceder a ella desde cualquier formulario, procedimiento ó modulo

Para agregar una conexión de este tipo, pulse el botón derecho en el explorador de proyectos, acceda a Agregar – Data Environment

Se encontrara con una pantalla como la siguiente

DataEnvironment: agrupa la totalidad de las conexiones a diferentes tablas.(nota: por practicidad coloque la propiedad name como DEConnection1: representa una conexión a una BASE DE DATOS AccessPor lo que hay que especificar cual es, para ello, pulse el botón derecho sobre la misma y acceda a propiedades,

Centro de Capacitación EducArte 17/33

Page 18: vb6.0 tips

Programación deberá seguir idéntico procedimiento que el explicado con el objeto ADO.Por un tema de practicidad llaméele a la conexión CN Por ultimo debemos definir el acceso a las diferentes Tablas de la base de datos, para ello pulse el botón derecho sobre la conexión (cn) y acceda a Agregar Comando. Cada comando que agreguemos se identificara con una tabla, como configurarlo?, pulse el botón derecho sobre el comando, acceda a las propiedades y siga los mismos pasos explicados para el objeto ADO.

A partir de ahora suponiendo que el comando le llamo CLIENTES, por ejemplo, entonces podrá, aplicar las mismas propiedades que las enumeradas con el objeto ado, pero, la sintaxis será la siguiente:

De.rsClientes.propiedad

Nota: observe que se anexa RS, al nombre definido por nosotros, ese RS significa RECORDSET

También puede enlazar objetos de un formulario de la misma forma que lo hacíamos antes, colocando DE en la propiedad DATASOURCE y Clientes en DATAMEMBER

Otro aspecto importante, es que si un formulario tiene objetos enlazados, no es necesario abrir la conexión, dado que se abre automáticamenteSin embargo si no es ese el caso debemos abrirla y cerrarla, generalmente:

En el evento load del formularioDe.rsClientes.Open

En el evento Unload del formularioDe.rsClientes.Close

Centro de Capacitación EducArte 18/33

Page 19: vb6.0 tips

Programación

RECONOCIENDO LOS EVENTOS DEL MOUSE

Existen 3 eventos vinculados, ellos sonMouse Down – ocurre cuando es presionado cualquier botón del mouseMouse Up – ocurre cuando el usuario suelta el botón del mouseMouseMove – ocurre cuando se mueve el mouse

Estos eventos usan los siguientes argumentosbutton – indica que botón pulso

1-izquierdo2-derecho4-central

shift - estado de las teclas Mayúscula, Ctrl y ALT1-Mayúscula presionado2-Ctrl presionado4-Alt presionado3-Mayúscula + Control presionado5- Mayúscula + ALT presionado6- Ctrl + ALT presionado7- Ctrl + ALT + MAYUSCULA presionado

x, y – coordenadas de ubicación del puntero

con estas aclaraciones, veamos un ejemplo simple que envía un mensaje a pantalla indicando en que posición se encuentra el puntero, en caso de pulsar el botón secundario del mouse

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If button=2 then

msgbox “Pulso el botón derecho en la posición:” + str(x) +” / “+str(y) end ifEnd Sub

RECONOCIENDO LOS EVENTOS DEL TECLADO

Centro de Capacitación EducArte 19/33

Page 20: vb6.0 tips

Programación Existen 3 eventos vinculados, ellos sonKeyPress – ocurre cuando es presionar una tecla correspondiente a un código ASCII

Private Sub Form_KeyPress(KeyAscii As Integer)If keyAScci=13 then

KeyAScii=0End If

End SubComo se observa maneja la variable KeyAscii, la cual se corresponde con el código Ascii de la tecla pulsada.

El ejemplo anula la acción de pulsar la tecla ENTER (código =13) dado que si pulsamos la tecla 13 asigna a keyAscii el valor CERO

KeyDown – ocurre al presionar cualquier tecla

KeyUp – ocurre al soltar cualquier tecla

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)

End SubObserve que EL EVENTO KeyDown, al igual que el evento KeyDown, utiliza los parametros, keycode y shift tiene los mismas posibilidades que la variable Shift de los eventos del mouse

TABLAS DE CODIGOS DE TECLAS Constante Valor Descripción

vbKeyLButton 1 Botón primario del mouse

vbKeyRButton 2 Botón secundario del mouse

vbKeyCancel 3 Tecla CANCEL

vbKeyMButton 4 Botón central del mouse

vbKeyBack 8 Tecla RETROCESO

vbKeyTab 9 Tecla TAB

vbKeyClear 12 Tecla SUPR

vbKeyReturn 13 Tecla ENTRAR

vbKeyShift 16 Tecla MAYÚS

vbKeyControl 17 Tecla CTRL

Centro de Capacitación EducArte 20/33

Page 21: vb6.0 tips

Programación

vbKeyCapital 20 Tecla BLOQ MAYÚS

vbKeyEscape 27 Tecla ESC

vbKeySpace 32 Tecla BARRA ESPACIADORA

vbKeyPageUp 33 Tecla RE PÁG

vbKeyPageDown 34 Tecla AV PÁG

vbKeyEnd 35 Tecla FIN

vbKeyHome 36 Tecla INICIO

vbKeyLeft 37 Tecla FLECHA IZQUIERDA

vbKeyUp 38 Tecla FLECHA ARRIBA

vbKeyRight 39 Tecla FLECHA DERECHA

vbKeyDown 40 Tecla FLECHA ABAJO

vbKeyPrint 42 Tecla IMPRIMIR PANTALLA

vbKeyInsert 45 Tecla INS

vbKeyDelete 46 Tecla SUPR

vbKeyNumlock 144 Tecla BLOQ NUM

Desde KeyA hasta KeyZ son iguales a sus equivalentes ASCII: 'A' hasta 'Z'

Constante Valor Descripción

vbKeyA 65 Tecla A

vbKeyZ 90 Tecla Z

Desde Key0 hasta Key9 son iguales a sus equivalentes ASCII: '0' hasta '9'

Constante Valor Descripción

vbKey0 48 Tecla 0

vbKey9 57 Tecla 9

Teclas del teclado numérico

Constante Valor Descripción

vbKeyNumpad0 96 Tecla 0

vbKeyNumpad9 105 Tecla 9

vbKeyMultiply 106 Tecla SIGNO DE MULTIPLICACIÓN (*)

vbKeyAdd 107 Tecla SIGNO MÁS (+)

Centro de Capacitación EducArte 21/33

Page 22: vb6.0 tips

Programación

vbKeySeparator 108 Tecla INTRO (teclado numérico)

vbKeySubtract 109 Tecla SIGNO MENOS (-)

vbKeyDecimal 110 Tecla PUNTO DECIMAL (.)

vbKeyDivide 111 Tecla SIGNO DE DIVISIÓN (/)

Teclas de función

Constante Valor Descripción

vbKeyF1 112 Tecla F1

vbKeyF16 127 Tecla F16

AGREGAR MENUES EMERGENTES

para agregar menú emergente a un objeto determinado, (lo que significa, que el menú aparecerá cuando pulsemos el botón derecho sobre ese objeto), Usted debe

crear el menú con el editor de menuessi no desea que dicho menú aparezca entre los menues

principales del sistemas, simplemente defínalo VISIBLE = FALSEAgregue código a el evento mouseDown del objeto en cuestión,

por ejemplo así:

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 2 Then PopupMenu nombremenu End IfEnd Sub

ORDENES DE ENTRADA Y SALIDA DE DATOS

MSGBOXSintaxis

MSGBOX (“mensaje”)

Esta orden me permite enviar mensajes a pantalla

INPUTBOXSintaxis

Centro de Capacitación EducArte 22/33

Page 23: vb6.0 tips

Programación Variable = INPUTBOX (“mensaje”, Titulo Ventana”)

La idea es que puedo capturar en la variable lo que responda el usuario

EL OBJETO CLIPBOARD (PARA COPIAR Y PEGAR)Con este objeto, podemos manejar el portapales de Windows, es decir copiar y pegar cosas, dentro de mi aplicación, o hacia otra aplicaciónes decir, podemos cargar el portapapeles con el contenido de un cuadro de texto, abrir Word, pulsar el botón derecho y pegar dicho texto.

CLIPBOARD.CLEAR (previo a cargarlo hay que borrar lo que tenia)

CLIPBOARD.SETTEXT “ UN TEXTO” (para cargarlo)

TEXT1 = CLIPBOARD. GETTEXT (para pegarlo en el cuadro de texto TEXT1 )

Centro de Capacitación EducArte 23/33

Page 24: vb6.0 tips

Programación

DEFINICIÓN DE VARIABLESFormas de declararlas:DIM nombre_variable AS tipo_de_variablePUBLIC nombre_variable AS tipo_de_variablePRIVATE nombre_variable AS tipo_de_variable

ALCANCE DE LAS VARIABLESRecuerde que varia el alcance de la variable de acuerdo a donde la define por ejemplo en las DECLARACIONES GENERALES y será Global a el formulario o en un procedimiento y tendría un alcance menor

OPTION EXPLICIT Si se coloca esta orden en las DECLARACIONES GENERALES, obliga a definir todas las variables previo a utilizarlos, es decir:option explicitdim a as integera=5(seria correcto)

dim a as integera=5(también seria correcto)

a=5(seria correcto, aunque no recomendable)

option explicita=5(seria incorrecto y daría un error)

Centro de Capacitación EducArte 24/33

Page 25: vb6.0 tips

Programación

Tipos de Variables

tipo de dato

cuanto ocupa valores que puede tomar

Byte 1 byte 0 a 255

Boolean 2 bytes True o False

Integer 2 bytes -32,768 a 32,767

Long(entero largo)

4 bytes -2,147,483,648 a 2,147,483,647

Single(coma flotante/ precisión simple)

4 bytes -3,402823E38 a –1,401298E-45 para valores negativos; 1,401298E-45 a 3,402823E38 para valores positivos

Double(coma flotante/ precisión doble)

8 bytes -1,79769313486232E308 a -4,94065645841247E-324 para valores negativos; 4,94065645841247E-324 a 1,79769313486232E308 para valores positivos

Currency(entero a escala)

8 bytes -922.337.203.685.477,5808 a 922.337.203.685.477,5807

Decimal 14 bytes +/-79.228.162.514.264.337.593.543.950.335 sin punto decimal; +/-7,9228162514264337593543950335 con 28 posiciones a la derecha del signo decimal; el número más pequeño distinto de cero es +/-0,0000000000000000000000000001

Date 8 bytes 1 de enero de 100 a 31 de diciembre de 9999

String(longitud fija)

Longitud de la cadena

Desde 1 a 65.400 aproximadamente

Variant(con números)

16 bytes Cualquier valor numérico hasta el intervalo de un tipo Double

Centro de Capacitación EducArte 25/33

Page 26: vb6.0 tips

Programación

FUNCIONES DE CONVERSION DE TIPOS

CBool(expresión)

CByte(expresión)

CCur(expresión)

CDate(expresión)

CDbl(expresión)

CDec(expresión)

CInt(expresión)

CLng(expresión)

CSng(expresión)

CStr(expresión)

CVar(expresión)

OTRAS FUNCIONES UTILES PARA RECORDARASC(“A”) devuelve el código del carácter ascii del carácter A RGB(rojo, verde, azul) variando de 0 a 255 cada colorSTR(numero) convierte el numero a textoInStr([inicio, string1, string2) - Busca( desde, en donde, que)Len(texto) – devuelve el largo del textoUCASE(texto) – convierte a mayúsculasLCASE(texto) – convierte a minúsculasLeft(string, length)Val(expresión) -devuelve el valor numérico de la expresiónSQR(numero) -devuelve la raíz cuadradaSIN(numero) -devuelve el seno del numeroCOS(numero) -devuelve el coseno del numero

Centro de Capacitación EducArte 26/33

Page 27: vb6.0 tips

Programación

ESTRUCTURAS DE CONTROL

ESTRUCTURAS DE DESICIONLas estructuras de decisión, permiten bifurcar en dos o mas

opciones la ejecución del código.Existen dos estructuras básicas, ellas son:1)IF condicion THEN

(sentencias)ELSE

(sentencias)ENDIF

2)SELECT CASE condición

CASE valor1 de la condición(sentencias)

CASE valor2 de la condición(sentencias)

END SELECT

ESTRUCTURAS DE REPETICIONLas estructuras de repetición, permiten ejecutar varias veces una

misma tareas, existen dos estructuras fundamentales1) La Estructura DO (que posee algunas variantes), esta estructura permite repetir un grupo de sentencias mientras se cumpla una condición dada. En el 1er caso evalúa la condición al principio y si se cumple ejecuta las sentencias hasta que se deje de cumplir, en el segundo caso primero ejecuta las sentencias y luego evalúa la condición. Esto hace que la diferencia es que la variante 2 asegura que por lo menos una vez se ejecutaran las sentencias DO WHILE condición

(sentencias)LOOP

DO(sentencias)

LOOP WHILE condicion

2) En el caso de la estructura FOR, esta pensada para utilizarla si sabemos a priori cuantas veces queremos que se ejecute el código.La palabra STEP es opcional, ella especifica si la variable i, se ira incrementando de 1 en 1 o lo hará de n en n

For i=0 to n STEP n(sentencias)

Centro de Capacitación EducArte 27/33

Page 28: vb6.0 tips

Programación NEXT

PROCEDIMIENTOS Los procedimientos son especialmente útiles para colocar código, que representen rutinas que crea que las voy a necesitar llamar desde diferentes puntos del programa. Evitando escribir el mismo código varias veces, lo que ayuda a darle mas legibilidad al programa, y mas fácil al momento de corregir esa rutina, dado que debo hacerlo en un solo lugar

PRIVATE SUB nombre_proc (argumentos)(sentencias)

END SUB

Se los llama mediante la orden: CALL nombre_proc(argumentos)

FUNCIONES El criterio de las funciones es similar a el de los procedimientos,

pero la diferencia fundamental radica en que las funciones devuelven un valor:

PRIVATE FUNCTION Nombre_Function (argumentos) AS TIPO(sentencias)nombre_function = ........

END SUBcomo se observa en el cabezal de la función aparece AS TIPO y se refiere al tipo de dato que devuelve la función

Veamos un ejemplo:FUNCTION cuadrado (a as integer) as integer

cuadrado= a * aend Function

la función ahí escrita calcula el cuadrado de un numero, tiene un parámetro “a”, lo que significa que para llamar a la función debo pasarle ese parámetro, por ejemplo:label1.caption = cuadrado(4)esto hará que la etiqueta LABEL1 muestre el valor 16o sea que para llamar una función, debo escribir:

Centro de Capacitación EducArte 28/33

Page 29: vb6.0 tips

Programación Nombre_Funcion(argumentos)

IMPRIMIR

Usar el método PrintForm

Este método envía una imagen del formulario especificado a la Impresora, lo que significa que obtendrá en la impresora una imagen idéntica al formulario que especifique

sintaxis:

nombreFormulario.PrinForm

Nota: si omite el nombre del formulario, entonces se imprimirá el formulario actual.

Si el formulario posee gráficos, estos solo se imprimen si la propiedad AutoRedraw del formulario es TRUE

Usar el Objeto Printer

Printer.Print “texto a imprimir”Printer.PrintQuality = 300 es un numero correspondiente a la calidad de la impresora en el ejemplo 300 ppp.Print.ScaleLeft se refiere a el margen izquierdoPrint.ScaleTop se refiere a el margen superiorPrint.zoom=100 por defecto es 100%Print.CurrentX posición en eje XPrint.CurrentY posición en eje Y, o sea en que línea va a imprimirPrint.EndDoc envía todo lo cargado a la impresoraPrint.NewPage hace el salto de pagina

Veamos un Ejemplo:De.RsClientes.MoveFirsth ‘va al primer clientePrinter. CurrentX=20 ‘define imprimir en columna 20Printer.CurrentY=5 ‘define imprimir en fila5DO WHILE NOT De.RsClientes.EOF() ‘mientras haya clientes

Printer. Print De.RsClientes.Field(1) ‘imprimir el campo 1Printer.CurrentY=Printer.CurrentY+1 ‘avanzar de lineaDe.RsClientes.MoveNext ‘avanzar cliente

LOOP ‘repetir

Centro de Capacitación EducArte 29/33

Page 30: vb6.0 tips

Programación Print.EndDoc ‘imprimir todoINCLUIR COMENTARIOS

Tengo dos formas de incluir comentarios con el fin de clarificar la “intención” del códigouna de ellas es escribir al principio de la línea la orden REM seguida de un espacio en blanco y a continuación puedo escribir lo que deseeejemplo:REM esto es un comentario que visual me permite incluir

La otra forma es colocar una comilla simple al finalizar cualquier orden escritaEjemplo

Do While NOT De.RsClientes.Eof() ' este comentario también es validoEs importante incluir comentarios para clarificar el código, Ud. mismo lo agradecerá a la hora de hacer modificaciones

Centro de Capacitación EducArte 30/33

Page 31: vb6.0 tips

Elija TEXT

escriba la instrucción SQLtipo SELECT * From Clientes

Programación

GUIA SQL

Se establece una conexión SQL, tanto sea a un objeto ADO o una conexión Data

Para establecer dicha conexión le recomendamos ver Objeto Ado, en este mismo manual, la idea es configurar el objeto ADO ó configurar el Data environment como ya fue explicado pero cuando nos enfrenemos a la siguiente ficha:

Si la conexión es SQL, nos permite incluir CONSULTAS SQL a nuestro código, lo que nos dará grandes posibilidades en cuanto al manejo de los datos Existe muchas sentencias SQL posibles, para incluirlas a su codigo debera colocar las siguientes ordenes:1) si es un ADO

Adodc1.RecordSource = sentencia sqlAdodc1.Refresh

2) si es un DATA ENVIRONMENT

DE.Commands("NombreTabla").CommandText = sentencia sqlUnload Form1Form1.Show

suponemos que en el Unload del Form1, esta la orden NombreTabla.Close, de no ser así inclúyala

Centro de Capacitación EducArte 31/33

Page 32: vb6.0 tips

Programación PARA SELECCIONAR TODOS LOS CAMPOS DE UNA TABLA Y TODOS SUS REGISTROS

“SELECT * FROM nombre_de_la_tabla”

PARA SELECCIONAR ALGUNOS CAMPOS DE UNA TABLA"SELECT campo1,campo2 FROM nombre_de_la_tabla "

PARA SELECCIONAR REGISTROS QUE CUMPLAN UNA CONDICION"SELECT * FROM nombre_de_la_tabla WHERE CONDICION"

Ejemplos:-Condición sobre campos numéricos, en este caso incluyendo el operador OR, también es valido AND"SELECT * FROM nombre_de_la_tabla WHERE ID=32 OR ID=42"

-Condición sobre campos Memo, observe que debe incluir los signos de % adelante y atras del valor buscado"SELECT * FROM nombre_de_la_tabla WHERE HISTORIAL = '%OFFICE%'"

-Condición sobre campos TEXTO, observe que debe incluir los signos de ' (comilla simple y recta) adelante y atrás del valor buscado"SELECT * FROM nombre_de_la_tabla WHERE NOMBRE = 'JUAN'"

-Condición sobre campos FECHA, observe que debe incluir los signos de # adelante y atrás del valor buscadoSELECT * FROM nombre_de_la_tabla WHERE NACIMIENTO = #01/01/1980#"

SELECCIONAR REGISTROS QUE ESTEN ENTRE DOS VALORES"SELECT * FROM nombre_de_la_tabla WHERE campo_n BETWEEN 30 AND 60"

SELECCIONAR REGISTROS PARECIDOS A .."SELECT * FROM nombre_de_la_tabla WHERE campo_n LIKE 'L*' "observe que son validos los comodines * y ?

SELECCIONAR REGISTROS QUE INCLUYAN A"SELECT * FROM nombre_de_la_tabla WHERE campo_n IN('OFFICE','JUNIOR')"

SELECCIONAR REGISTROS ORDENADOS ASCENDENTEMENTE"SELECT * FROM nombre_de_la_tabla ORDER BY campo_n "

SELECCIONAR REGISTROS ORDENADOS DESCENDENTEMENTE"SELECT * FROM nombre_de_la_tabla ORDER BY campo_n DESC"

Centro de Capacitación EducArte 32/33

Page 33: vb6.0 tips

Programación SUMAR UN CAMPO DADO"SELECT SUM(NombreCampo) FROM nombre_de_la_tabla "

MAXIMO VALOR DE UN CAMPO DADO"SELECT MAX(NombreCampo) FROM nombre_de_la_tabla "

MINIMO VALOR DE UN CAMPO DADO"SELECT MIN(NombreCampo) FROM nombre_de_la_tabla "

PROMEDIO DE UN CAMPO DADO"SELECT AVG(NombreCampo) FROM nombre_de_la_tabla "

CONTAR LA CANTIDAD DE REGISTROS DE UNA TABLA"SELECT COUNT(*) FROM nombre_de_la_tabla "

SELECCIONAR LOS PRIMEROS n REGISTROS

"SELECT TOP n CAMPO1,CAMPO2 FROM nombre_de_la_tabla ORDER BY campox

SELECCIONAR LOS DIFERENTESSELECT DISTINCT campo1, campo2 FROM nombre_de_la_tabla

AGRUPAR POR y SUMAR PORSELECT campox,sum(campoy) FROM nombre_de_la_tabla GROUP BY campox

Ejemplo: agrupar a los clientes por Zona y sumar el campo saldo de dichos clientes

Centro de Capacitación EducArte 33/33