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"