Вы находитесь на странице: 1из 13

1 C.P.

FERNANDO BERNAL MENDOZA


CONTROLES DE VISUAL BASIC 6.0
1. Controles intrnsecos
Estos controles se encuentran dentro del archivo ejecutable de Visual Basic. Los controles intrnsecos estn
siempre incluidos en el cuadro de herramientas, no como los controles Activex, que se pueden quitar o
agregar al cuadro de herramientas. A continuacin una lista de controles intrnsecos.
Nombre de control

Nombre de clase Descripcin

Casilla de
verificacin

CheckBox

Presenta una opcin de tipoVerdadero o


Falso.

Cuadro combinado

ComboBox

Cambina un cuadro de texto y un cuadro de


lista.

Botn de comando
Datos

CommandButton Ejecuta un comando o una accin cuando el


usuario hace clic en l.
Data

Permite conectar una base de datos


existente y presentar informacin en ella en
los formularios.

Cuadro de lista de
directorios

DirListBox

Presenta directorios y rutas de acceso.

Cuadro de lista de
archivos

FileListBox

Presenta una lista de archivos.

Cuadro de lista de
unidades

DriveListBox

Marco

Frame

Presenta una lista de unidades de disco


validas.
Proporciona un contenedor visual y
funcional para los controles.

HScrollBar y
VScrollBar

Permite que un usuario agregue barras de


desplazamiento a controles que no las
tienen de forma automtica.

Imagen

Image

Presenta mapas de bits, iconos o


metarchivos de Windows, archivos JPEG o
GIF, y acta como un botn de comando
cuando se hace clic en l.

Etiqueta

Label

Presenta texto con el cual el usuario no


puede interactuar ni modificar.

Lnea

Line

Agrega un segmento de lnea recta a un


formulario.

ListBox

Presenta una lista de elementos entre los


que el usuario puede elegir.

Contenedor OLE

OLE

Incrusta datos en una aplicacin de Visual


Basic.

Botn de opcin

OptionButton

El control OptionButton, como parte de un


grupo de opciones con otros botones de
opcin. Presenta varias opciones entre las
ue el usuario slo puede elegir una.

Barras de
desplazamiento
horizontal y vertical

Cuadro de lista

Cuadro de imgen

Picturebox

Presenta mapas de bits, conos o


metarchivos de Windows y otros tipos de
archivos graficos compatibles. Tambin
presenta texto o acta como contenedor
visual para otros controles..

2 C.P. FERNANDO BERNAL MENDOZA

Forma

Cuadro de texto
Cronmetro

Shape

TextBox
Timer

Agrega un rectngulo, un cuadrado, una


elipse o un circulo a un formulario, marco o
cuadro de imagen.
Proporciona una rea para escribir o
presentar texto.
Ejecuta eventos peridicos a intervalos de
tiempo especficado.

2. Controles ActiveX
Son aquellos controles que existen como archivos independientes con extensin nombre de archivo .ocx.
Entre stos se incluyen los controles disponibles en todas las ediciones de Visual Basic (controles cuadrcula,
cuadro combinado y lista enlazados a datos y varios ms) y los que slo estn disponibles en la Edicin
Profesional y la Edicin Empresarial (como Listview, Toolbar, Animation y Tabbed Dialog). A estos tambin se
suman los controles Activex de otros fabricantes.
Nombre de
control

Nombre de
clase

Control de
datos ADO

ADODC

Descripcin
Crea una conexin a una base de datos de datos
mediane ADO. Asignable a la
propiedad DataSource de otros controles, como el
control DataGrid.

Dialogo comn CommonDialog Proporciona un conjunto de cuadros de dilogo


estndar para operaciones como abrir y guardar
archivos, establecer opciones de impresin y
seleccionar colores y fuentes.
Cuadro
combinado
enlazado a
datos

DataGrid

Proporciona las mayoras de las opciones del


control ComboBox estndar, as como mayor
capacidad de acceso a datos.

Cuadrcula
Apex enlazada
a datos

DataGrid

Control con apariencia de una hoja de clculo


vinculado aun orign de datos como un control de
datos ADO. Es posible la lectura y la modificacin
del recordset.

Cuadro de lista
enlazado a
datos.

DataList

Proporciona la mayora de de las caractersticas del


control ListBox estndar, asi como mayor capacidad
de acceso a datos.

MSFlexGrid

Control con apariencia de hoja de clculo de slo


lectura que se puede vincular al diseador de
entorno de datos para mostrar recordset jerrquicos

FlexGrid de
Microsoft

3. Objetos insertables
Como un objeto Worksheet de Microsoft Excel que contienen la lista de los empleados de su empresa, o un
objeto Calendar de Microsoft Project que contiene la informacin del calendario de un proyecto. Puesto que
estos objetos se pueden agregar al cuadro de herramientas, se les considera controles.
Convenciones de nomenclatura de los controles

3 C.P. FERNANDO BERNAL MENDOZA


Cuando crea un objeto (un formulario o un control) por primera vez, Visual Basic establece su
propiedad Name a un valor predeterminado. Por ejemplo, todos los botones de comando tienen la
propiedad Name establecida inicialmente a Commandn, donde n es 1, 2, 3 y as sucesivamente. Visual Basci
llama al primer botn de comando de un formulario Command1, al segundo Command2 y al tercero
Command3.
Puede mantener los nombres predeterminados; sin embargo, cuando tiene varios controles del mismo tipo, es
ms lgico modificar las propiedades Name para que sean algo ms descriptivas. Como puede ser dificil
distinguir entre el botn Command1 de miForm y el botn Command1 de SubForm, la convencin de
nomenclatura es recomendable, especialmente cuando una aplicacin se compone de varios mdulos de
formulario, mdulos estndar y mdulos de clase.
Puede usar un prefijo para describir la clase, seguido de un nombre descriptivo del control. El uso de
convencin de nombres hace que el cdigo sea ms autodescriptivo y agrupa objetos similares
alfabticamente en el cuadro de lista Objeto. Por ejemplo:
chkSoloLectura
Los nombres de los formularios y los controles:

Deben empezar por una letra


Slo deben contener letras, nmeros y el carcter de subrayado (_); no se permiten signos de
puntuacin ni espacios en blanco.
No pueden tener una longitud mayor de 40 caracteres.

Valores de los controles


Todos los controles tienen una propiedad que se puede usar para almacenar u obtener valores mediante una
referencia al control, sin mencionar el nombre de la propiedad.
Este se denomina valor del control y normalmente es la propiedad ms importante o la ms frecuentemente
utilizada del control.
Cuando quiera hacer una referencia a la propiedad de un control que es el valor de dicho control, puede
hacerlo sin especificar el nombre de la propiedad. Por ejemplo, esta lnea de cdigo establece la
propiedad Text de un cuadro de texto.
Text1 = "Este texto se asigna a la propiedad Text de Text1"
En este ejemplo, la propiedad Caption de Label1 se establece a la propiedad FileName de File1 cuando el
usuario hace clic en un archivo del cuadro de lista de archivos:
Private File1_Click()
Label1 = File1
End Sub
En la tabla siguiente se enumeran las propiedades consideradas como valor de control.
Control

Valor

CheckBox

Value

ComboBox

Text

CommandButton

Value

CommonDialog

Action

Data

Caption

4 C.P. FERNANDO BERNAL MENDOZA

DataCombo

Text

DataGrid

Text

DataList

Text

DirListBox

Path

DriveListBox

Drive

FileListBox

FileName

FlexGrid

Text

Frame

Caption

HScrollBar

Value

Image

Picture

Label

Caption

Line

Visible

ListBox

Text

OptionButton

Value

PictureBox

Picture

Shape

Shape

TextBox

Text

Timer

Enabled

VScrollBar

Value

Matrices de controles
Una matriz de controles en un grupo de controles que comparten el mismo nombre y el mismo tipo. Tambin
comparten los mismos procedimientos de evento. Las matrices de controles tienen al menos un elemento y
pueden crecer hasta contener tantos elementos como permitan los recursos y la memoria del sistema; su
tamao dependen tambin de la memoria y de los recursos de Windows requeridos por cada control. El ndice
mximo que puede usar en una matriz de controles es 32 767. Los elementos de una misma matriz de
controles tienen sus propio valor de propiedades. Entre los mas usados estn los controles de men y las
agrupaciones de botones de opcin.
Por qu usar matrices de controles?
Al agregar controles mediante matrices de controles se utilizan menos recursos que si simplemente se
agregan al formulario mltiples controles del mismo tipo en tiempo de diseo. Las matrices de controles
tambin son tiles cuando quiere que varios controles compartan cdigo. Por ejemplo, si crea tres botones de
opcin como una matriz de controles, se ejecuta el mismo cdigo independiente del botn en el que haga clic.
Si desea crear una instancia nueva de un control en tiempo de ejecucin, dicho control tiene que ser miembro
de una matriz de controles. En una matriz, los nuevos elementos heredan los procedimientos de evento
comunes de toda la matriz.
Mediante el mecanismo de las matrices de controles, cada nuevo control hereda los procedimientos de
eventos comunes escritos para la matriz. Por ejemplo, si el formulario tiene varios cuadros de texto que
reciben valores de fechas, puede definir una matriz de controles para que todos los cuadros de texto
compartan el mismo cdigo de validacin.

5 C.P. FERNANDO BERNAL MENDOZA


Cuando crea una matriz de controles los valores de la propiedad Index de dicho control se agrega al momento
de agregar los elementos de la matriz. Es la propiedad Index la que distingue cada elemento de otro dentro de
la matriz de controles.
Cuando un elementos de la matriz reconoce un evento, Visual Basic llama a un procedimiento de evento
comn y pasa el argumento (el valor de la propiedad Index) para identificar qu control reconoce realmente el
evento. Por ejemplo:
Private Opciones_Click (Index as Integer)
Select Case
Case 0
... instrucciones para el primer elemento
Case 1
... instrucciones para el segundo elemento
End Select
End Sub
Agregar, eliminar un elemento de una matriz de controles en tiempo de ejecucin
Puede agregar o quitar controles de una matriz de controles en tiempo de ejecucin mediante las
instrucciones Load y Unload. sin embargo, el control que va a agregar tiene que ser un elemento de una
matriz de controles existente. Debe crear un control en tiempo de diseo con la propiedad Index establecida
en la mayor parte de los casos a 0.
Despus, en tiempo de ejecucin, utilice la siguiente sintaxis:
Load objeto(indice%)
Unload objeto(indice%)
Donde:
objeto: Nombre del control que va a agregar o eliminar de la matriz de controles.
indice%: El valor de ndice del control dentro de la matriz.
Puede utilizar Unload para quitar cualquier control creado con Load. Sin embargo, no puede usar Unload para
quitar controles creados en tiempo de diseo, independientemente de si forman parte o no de una matriz de
controles.
Ejemplo:
En este ejemplo se permite al usuario agregar controles que cambian el color de fondo de la ventana. Agrege
un formulario y despes dibuje dos botones de opciones y dos botones de comando, como se ilustra en la
tabla siguiente:
Objeto

Propiedad

Valor

Form1

Caption

Ejemplo de matriz de controles

Option1

Name

optButton

Index

Name

optButton

Index

Name

cmdAgregar

Caption

&Agregar

Name

cmdEliminar

Caption

&Eliminar

Option2

Primer botn de comando

Segundo botn de comando

6 C.P. FERNANDO BERNAL MENDOZA

Ahora copie el siguiente cdigo y ejecute el proyecto para ver como funciona:
Option Explicit
Dim MaxID As Integer
Private Sub cmdAgregar_Click()
MaxID = optButton.Count - 1 'Establece el total de botones existentes
If MaxID > 3 Then Exit Sub
'Slo se permiten 5 botones
MaxID = MaxID + 1
Load optButton(MaxID)
optButton(0).SetFocus

'Crea un nuevo control


'Enfoque al primer botn

'Colocar el nuevo control debajo del ltimo control


optButton(MaxID).Left = optButton(MaxID - 1).Left
optButton(MaxID).Top = optButton(MaxID - 1).Top + _
optButton(MaxID - 1).Height + 100
optButton(MaxID).Visible = True 'Mostrar el nuevo control
'Texto en el nuevo botn
optButton(MaxID).Caption = "Opcin " & MaxID + 1
End Sub
Private Sub cmdEliminar_Click()
If MaxID <= 1 Then Exit Sub 'No podr eliminar los dos primeros botones
Unload optButton(MaxID)

'Elimina el ltimo botn

MaxID = MaxID - 1

'Establece el recuento de botones

optButton(0).SetFocus
'Reestablece la seleccin del botn
End Sub
Private Sub optButton_Click(Index As Integer)
Form1.BackColor = QBColor(Index + 1)
End Sub

Qu son las convenciones de codificacin?


Las convenciones de codificacin son pautas de programacin que no estn enfocadas a la lgica del
programa, sino a su estructura y apariencia fsica. Facilitan la lectura, comprensin y mantenimiento de
codificacin:
La razn principal de usar convenciones de cdigo es estandarizar la estructura y estilo de codificacin de una
aplicacin, de forma que el autor y otras personas puedan leer y entender el cdigo fcilmente.
Las convenciones de codificacin correctas dan como resultado un cdigo fuente preciso, legible y sin
ambigedad, que es coherente con otras convenciones del lenguaje y lo ms intuitivo posible. El objetivo es
hacer que el programa sea fcil de leer y de entender sin obstruir la creatividad natural del programador con
imposiciones excesivas y restricciones arbitrarias.
Dependiendo del proyecto y de las necesidades especificas de la organizacin, quiz desee ampliar estas
instrucciones para que incluyan elementos adicionales.

7 C.P. FERNANDO BERNAL MENDOZA


Convenciones de nombres de objetos
Los objetos deben llevar con un prefijo coherente que facilite la identificacin de l tipo de objeto. A
continuacin una lista de convenciones recomendadas para algunos de los objetos permitidos por Visual
Basic.
Prefijos sugeridos para controles
Control

Descripcin

Prefijo Ejemplo

HScrollBar

Barra de desplazamiento
horizontal

hsb

hsbVolumen

HScrollBar

Barra de desplazamiento
horizontal ligera

lwhsb

lwhsbVolumen

FlatScrollBar

Barra de desplazamiento lisa

fsb

fsbMover

VScrollBar

Barra de desplazamiento vertical

vsb

vsbIndice

VScrollBar

Barra de desplazamiento vertical


ligera

lwvsb

lwvsbAnio

SatusBar

Barra de estado

sta

staFechaHora

ToolBar

Barra de herramientas

tlb

tlbAcciones

ProgressBar

Barra de progreso

prg

prgCargarArchivo

Botn animado

ani

anibuzon

CommandButton Botn de comando ligero

lwcmd

lwcmdQuitar

MaskEdBox

Botn de nmero

spn

spnPaginas

OptionButton

Botn de opcin

opt

optGenero

OptionButton

Botn de opcin ligero

lwopt

lwoptNivelEntrada

CommandButton Botones de comando

cmd

cmdSalir

CheckBox

Casilla de verificacin

chk

chkSoloLectura

CheckBox

Casilla de verificacin ligera

lwchk

lwchkGuardar

MSComm

Comunicaciones

com

comFax

OLE

Contenedor OLE

ole

oleHojaCalculo

Control (se usa en procedimiento


cuando el tipo especifico es
ctr
desconocido)

ctrActual

Slider

Control deslizante

sld

sldEscala

Timer

Cronmetro

tmr

tmrAlarma

Grid

Cuadrcula

grd

grdPrecios

DBGrid

Cuadrcula de datos

dgd

dgdTitulos

DataGrid

Cuadrcula enlazada a datos

dbgrd

dbgrdResultadosConsulta

MS FlexGrid

Cuadrcula MS Flex

msg

msgClientes

DataCombo

Cuadro combinado de datos

dbc

dbcAutor

ImageCombo

Cuadro combinado de imagen

imgcbo imgcboProducto

ComboBox

Cuadro combinado ligero

lwcbo

lwcboAleman

ComboBox

Cuadro combinado, cuadro de


lista desplegable

cbo

cboIngles

8 C.P. FERNANDO BERNAL MENDOZA

PictureBox

Cuadro de imagen

pic

picVGA

ListBox

Cuadro de lista

lst

lstCodigos

FileListBox

Cuadro de lista de archivos

fil

filOrigen

DirListBox

Cuadro de lista de directorios

dir

dirSource

DriveListBox

Cuadro de lista de unidades

drv

drvDestino

DataList

Cuadro de lista enlazada a datos dblst

dblstTipoTrabajo

ListBox

Cuadro de lista ligero

lwlst

lwlstCentroCostos

TextBox

Cuadro de texto

txt

txtApellido

TextBox

Cuadro de texto ligero

lwtxt

lwtxtCalle

Data

Datos

dat

datBiblio

Adodc

Datos ADO

ado

adoBiblio

MSRDC

Datos remotos

rd

rdTitulos

CommonDialog

Datos comn

dlg

dlgAbrirArchivo

Label

Etiqueta

lbl

lblMensajeAyuda

TabStrip

Fichas

tab

tabOpciones

MSHFlexGrid

Hierarchical Flexgrid

flex

flexPedidos

Shape

Forma

shp

shpCirculo

Form

Formulario

frm

frmEntrada

Gauge

Gauge

gau

gauEstado

Grfico

gra

graGanancias

Image

Imagen

img

imgIcono

SysInfo

Informacin del sistema

sys

sysMonitor

Line

Lnea

lin

linVerticial

DBList

Lista de datos

dbl

dblEditor

ImageList

Lista de imgenes

ils

ilsTodosIconos

Frame

Marco

fra

fraIdioma

Frame

Marco ligero

lwfra

lwfraOpcionesGuardar

MMControl

MCI

mci

mciVideo

MAPIMessages

Mensaje MAPI

mpm

mpmEnviarMensaje

Menu

Men

mnu

mnuAbrirArchivo

MSChart

MS Chart

ch

chVentasPorRegion

SSTab

MS Tab

mst

mstPrimero

Panel3D

Panel 3D

pnl

pnlGrupo

PictureClip

Picture Clip

clp

clpBarraHerramientas

DataRepeater

Repetidor de datos

drp

drpUbicacion

RichTextBox

RichTextBox

rtf

rtfInforme

DTPiker

Selector de fecha

dtp

dtpEditado

MAPI

Sesin MAPI

mps

mpsSesion

UpDown

UpDown

upd

updDireccion

9 C.P. FERNANDO BERNAL MENDOZA

TreeView

Visor de rbol

tre

treOrganizacion

ListView

Visor de lista

lvw

lvwEncabezados

Calendar

Vista de mes

mvw

mvwPeriodo

Prefijos sugeridos para los objetos de acceso de datos (DAO)


Objeto de base de datos

Prefijo

Ejemplo

Base de datos

db

dbCuentas

Campo

fld

fldDireccion

Conjunto de registros

rec

recPrevision

Contenedor

con

conInformes

Definicin de consulta

qry

qryVentasporRegistro

Definicin de Tabla

tbd

tbdClientes

Documento

doc

docInformeVenta

Espacio de Trabajo

wsp

wspMio

Grupo

grp

grpFinanzas

Indice

idx

idxEdad

Motor de base de datos

dbe

dbeJet

Parmetro

prm

prmCodigoTarea

Relacin

rel

relDeptDeEmpleados

Usuario

usr

usrNuevo

Ejemplo:
Dim dbBiblio As Database
Dim recEditoresMAD As Recordset, strInstrucSQL As String
Const DB_READONLY = 4

'Abre la base de datos


Set dbBiblio = OpenDataBase("BIBLIO.MDB")
'Establece el texto para la instruccin SQL.
strInstrucSQL = "SELECT * FROM Editores WHERE Estado= 'MAD' "
' Crea el nuevo objeto Recordset
Set recEditoresMAD = db.OpenRecordset (strInstrucSQL, dbSoloLectura)

Prefijos sugeridos para menus

10 C.P. FERNANDO BERNAL MENDOZA

Secuencia del ttulo del men

Nombre del controlador del men

ArchivoAbrir

mnuArchivoAbrir

ArchivoEnviarCorreo

mnuArchivoEnviarCorreo

ArchivoEnviarFax

mnuArchivoEnviarFax

Formato Carcter

mnuFormatoCaracter

Ayuda Contenido

mnuAyudaContenido

Convenciones de nombres de constantes y variables


En una aplicacin de Visual Basic, las variables globales se deben usar slo cuando no exista ninguna otra
forma cmoda de compartir datos entre formularios. Cuando haya que usar variables globales, es conveniente
declararlas todas en un nico mdulo agrupadas por funciones y dar al mdulo un nombre significativo que
indique su finalidad, como Public.bas.
Una prctica de codificacin correcta es escribir cdigo modular siempre que sea posible. Por ejemplo, si la
aplicacin muestra un cuadro de dilogo, coloque todos los controles y el cdigo necesario para ejecutar la
tarea del dilogo en un nico formulario.
Esto ayuda a tener el cdigo de la aplicacin organizado en componentes tiles y minimiza la sobrecarga en
tiempo de ejecucin.
A excepcin de las variables globales (que no se deberan pasar), los procedimientos y funciones deben
operar slo sobre los objetos que se le pasan. Las variables globales que se usan en los procedimientos
deben estar identificadas en la seccin Declaraciones al principio del procedimiento. Adems, los argumentos
se deben pasar a los procedimientos Sub y Function mediante By Val, a menos que sea necesario
explcitamente cambiar el valor del argumento que se pasa.
Prefijos del mbito de variables
En ocasiones se desarrollan proyectos de un tamao considerable por lo que es necesario tener el control
para reconocer rpidamente el alcance de las variables que se emplean. Para esto tambin se pueden utilizar
prefijos.
Alcance

Prefijo

Ejemplo

Descripcin

Global

gstrNombreUsuario

Global + String + Variable

Nivel mdulo

mblnProgresoDelCalculo

Modulo + Doble presicin +


Variable

Local del
procedimiento

Ninguno dblVelocidad

Doble presicin + Variable

Variables
Declarar todas las variables ahorra tiempo de programacin porque reduce el nmero de errores debidos a
erratas (por ejemplo, aNombreUsuarioTmp a sNombreUsuarioTmp a sNombreUsuarioTemp).
Las variables que utilice deben incluir un prefijo para indicar el tipo de dato, esto permite identificar el alcance
de la variable.

11 C.P. FERNANDO BERNAL MENDOZA

Tipo de dato

Prefijo

Ejemplo

Boolean

bln

blnEncontrado

Byte

byt

bytDatosImagen

Objeto Collection

col

colWidgets

Currency

cur

curIngresos

Date (Time)

dtm

dtmInicio

Double

dbl

dblTolerancia

Error

err

errNumDeOrden

Integer

int

intCantidad

Long

lng

lngDistancia

Object

obj

objActivo

Single

sng

sngMedia

String

str

strNombreF

Tipo definido por el usuario

udt

udtEmpleado

Variant

vnt

vntCheckSum

Convenciones de codificacin estructurada


Adems de las convenciones de nombres, las convenciones de codificacin estructurada, como comentarios
al cdigo y sangras coherentes, pueden mejorar considerablemente la legibilidad del cdigo.
Convenciones de comentarios al cdigo
Todos los procedimientos y funciones deben comenzar con un comentario breve que describa las
caractersticas funcionales del procedimiento (que hace). Esta descripcin no debe mostrar detalles de
implementacin (como lo hace), porque a veces cambian con el tiempo, dando como resultado un trabajo
innecesario de mantenimiento de los comentarios o, lo que es peor, comentarios errneos. El propio cdigo y
los comentarios de lneas necesarias describirn la implementacin.
Los argumentos que se pasan a un procedimiento se deben describir cuando sus funciones no sean obvias y
cuando el procedimiento espera que los argumentos estn en un intervalo especfico. Tambin hay que
describir, al principio de cada procedimiento, los valores devueltos de funciones y las variables globales que
modifica el procedimiento en especial los modificados a travs de argumentos de referencias.
Los bloques de comentario de encabezado del procedimiento deben incluir los siguientes encabezados de
seccin:
Encabezado de
seccin

Descripcin del comentario

Finalidad

Lo que hace el procedimiento (no cmo lo hace)

Premisas

Lista de cada variable externa, control, archivo abierto o cualquier


otro elemento que no sea obvio.

Efectos

Lista de cada variable externa, control o archivo afectado y el


efecto que tiene (slo si no es obvio).

Entradas

Todos los argumentos que puedan no ser obvios. Los argumentos


se escriben en una lnea aparte con comentarios de lnea.

12 C.P. FERNANDO BERNAL MENDOZA

Resultados

Explicacin de los valores devueltos por las funciones.

Tenga presente lo siguientes puntos:

Cada declaracin de variable importante debe incluir un comentario de lnea que describa el uso de
la variable que se est declarando.
Las variables, controles y procedimientos deben tener un nombre bastante claro para que los
comentarios de lnea slo sean necesarios en los detalles de implementacin complejos.
Al principio del mdulo.bas que contiene las declaraciones de constantes genricas de Visual Basic
del proyecto, debe incluir un resumen que describa la aplicacin enumerando los principales objetos
de datos, procedimientos, algoritmos, cuadros de dilogo, base de datos y dependencias del sistema.
Algunas veces puede ser til un pseudocdigo que describa el algoritmo.

Dar formato al cdigo

Los bloques anidados estndar, separados por tabuladores, deben llevar una sangra de cuatro
espacios (predeterminado).
El comentario del esquema funcional de un procedimiento debe llevar una sangra de un espacio.
Las instrucciones de nivel superior que siguen al comentario del esquema deben llevar una sangra
de un tabulador, con cada bloque anidado separado por una sangra de un tabulador adicional.

Ejemplo:
'***********************************************************
' Finalidad: Ubica el primer caso encontrado de un usuario especificado
' en la matriz ListaUsuario.
' Entradas:
' strListaUsuario(): lista de usuarios para buscar.
' strUsuarioDest: Nombre del usuario buscado.
' Resultados: Indice del primer caso de strUsuarioDest encontrado
' en la matriz strListaUsuario().
' Si no se encuentra el usuario de destino se devueleve -1.
'***********************************************************
Funtion intFindUser (strListaUsuario() As String, strUsuarioDest As String) As Integer
Dim i As Integer ' Contador de bucle.
Dim blnFound As Integer ' Indicador de destino encontrado.
intFindUser= -1 ' Por defecto el usuario no a sido encontrado
i=0
While i <= Ubound(strListaUsuario() And Not blnFound
If strListaUsuario(i) = strUsuarioDest Then
blnFound = True
intFindUser = i
End If
Wend
End Function
Agrupacin de constantes
Las variables y constantes definidas se deben agrupar por funciones en lugar de dividirlas en rea aisladas o
archivos especiales. Las constantes genricas de Visual Basic se deben agrupar en un nico mdulo para
separarlas de las declaraciones especficas de la aplicacin.

13 C.P. FERNANDO BERNAL MENDOZA


Operadores & y +
Es una buena practica usar siempre el operador & para unir cadenas y el operador + cuando se utilicen
valores numricos. El uso del operador + para concatenar puede causar problemas cuando se opera sobre
dos variablesVariant. Por ejemplo:
vntVar1 = "10,01"
vntVar2 = 11
vntResult = vntVar1 + vntVar2 ' vntResult = 21,01
vntResult = vntVar1 & vntVar2 ' vntResult = 10,011
Crear cadenas para MsgBox, InputBox y consultas SQL
Cuando est creando una cadena larga, use el carcter de subrayado de continuacin de lnea para crear
mltiples lneas de cdigo, de forma que pueda leer o depurar la cadena fcilmente. Esta tcnica es
especialmente til cuando se muestra un cuadro de mensaje (MsgBox) o un cuadro de entrada (InputBox), o
cuando se crea una cadena SQL.
Ejemplo:
Dim Msg As String
Msg="Este es un cuadro de mensajes." _
& " El texto est separado en" _
& " varias lneas de cdigo en el cdigo fuente," _
& " lo que facilita al programador la tarea de leer y depurar."
MsgBox Msg
Dim CTA as String
CTA = "SELECT * " _
& " FROM Titulo" _
& " WHERE [Fecha de publicacion] > 1988"

Вам также может понравиться