CONCEPTOS DE PROGRAMACIÓN COMANDO DIM Declara variables y designa espacio de almacenamiento EJEMPLOS: ' Se declaran dos variables como Variant Dim AnyValue, MyValue ' Se declara explícitamente una variable de tipo entero Dim Number As Integer COMANDO DIM Declaración múltiple de variables en una misma línea. Nótese que la variable AnotherVar es de tipo Variant porque su tipo se ha omitido. Dim AnotherVar, Choice As Boolean, BirthDate As Date DayArray es un array de Variants con 51 elementos indexados de 0 a 50, si se asume que Option Base se establece en 0 por el módulo actual Dim DayArray(50) COMANDO DIM Matrix es un array bidimensional de enteros Dim Matrix(3, 4) As Integer MyMatrix es un array tri-dimensional de dobles con límites explícitos Dim MyMatrix(1 To 5, 4 To 9, 3 To 5) As Double BirthDay es un array de fechas con índices de 1 a 10 Dim BirthDay(1 To 10) As Date TIPOS DE DATOS TIPO DE DATO Byte DESCRIPCIÓN RANGO Dato binario 1-byte 0 a 255 Integer Entero 2-byte – 32,768 to 32,767 Long Entero 4-byte – 2,147,483,648 to 2,147,483,647 Single Número real 4-byte – 3.402823E38 to – 1.401298E – 45 Double Número real 8-byte Currency Número con punto decimal fijo 8-byte String Cadena de caracteres – 1.79769313486231E308 to – 4.94065645841247E – 324 – 922,337,203,685,477.5808 to 922,337,203,685,477.5807 Cero a mil millones de caracteres Variant Boolean Puede ser date/time, boolean, número real, entero, cadena u objeto. 16-byte. Más 1-byte por cada caracter de una cadena 2-byte True o False, 0,1,Verdadero o falso, Si, no Date Fecha/hora 8-byte 1/enero/100 al 31/dic/9999 Object 4-byte Referencia a un objeto COMANDO PUBLIC Tiene la misma función que el comando DIM, más la propiedad de hacer la variable definida disponibles en todos los procedimientos y módulos de la aplicación. PROCEDIMIENTO SUB Declara el nombre, argumentos y código que conforma el cuerpo de un subprocedimiento. Un subprocedimiento es una secuencia de comandos ejecutados como unidad. El nombre del procedimiento siempre se define a nivel de módulo. Todo el código ejecutable debe estar dentro de un procedimiento. EJEMPLO DE SUB ‘Definición del subprocedimiento ‘ El procedimiento tiene dos argumentos Sub SubComputeArea(Length, TheWidth) Dim Area As Double ' Se declara una variable local If Length = 0 Or TheWidth = 0 Then ' Si alguno de los argumentos es ‘igual a cero Exit Sub ' Termina la Sub inediatamente End If Area = Length * TheWidth ' Calcula el área de un rectángulo Debug.Print Area ' Imprime el área en la ventana de Debug End Sub PROCEDIMIENTO FUNCTION Declara el nombre, argumentos y código que conforma el cuerpo de un procedimiento function EJEMPLO DEL PROCEDIMIENTO FUNCTION ' La siguiente función definida por el usuario obtiene la raíz cuadrada del ‘ argumento que se especifica Function CalculateSquareRoot(NumberArg As Double) As Double If NumberArg < 0 Then ‘Evalúa el argumento Exit Function ' Regresa al procedimiento que llamó a la función Else CalculateSquareRoot = Sqr(NumberArg) ' Obtiene la raíz cuadrada End If End Function CONSTANTES Las constantes representan cantidades matemáticas o de fecha Const conPi = 3.14159265358979 Public Const conMaxPlanets As Integer = 9 Const conReleaseDate = #1/1/95# EXPRESIONES Se crean expresiones cuando se combinan constantes con variables 2.3 * suma ASIGNACIÓN DE VALORES A LAS VARIABLES A las variables se les asigna valores con el símbolo “=“ Contador=0 Contador=contador + 1 CONDICIONALES Son las estructuras de programación que cambian la dirección de ejecución de comandos con base en una condición. Una condición es una expresión boolean, que puede ser falsa o verdadera. Cuando la condición es verdadera, el programa se dirije a una sección del programa, cuando es falsa, entonces se ejecuta otra sección del programa. CONDICIONALES IF, THEN, ELSE Dim Number, Digits, MyString Number = 53 ' Inicia la variable If Number < 10 Then Digits = 1 ElseIf Number < 100 Then ' La condición se evalúa si es verdadera Digits = 2 Else Digits = 3 End If ' Asigna un valor a la variable MyString If Digits = 1 Then MyString = "One" Else MyString = "More than one" CONDICIONALES SELECT, END SELECT SELECT CASE grado CASE IS <=5 PRINT “kinder” CASE 6 TO 11 PRINT “primaria” CASE 12 TO 14 PRINT “secundaria” CASE ELSE PRINT “preparatoria o profesional” END SELECT COMANDOS ITERATIVOS DO-LOOP