básico visual | |
---|---|
clase de idioma | Procedural , Orientado a objetos , Orientado a componentes , Orientado a eventos |
tipo de ejecución | Compilado , Interpretado |
Apareció en | 1991 |
Desarrollador | microsoft |
extensión de archivo | .bas, .cls, .frm, .vbp, .vbg |
Liberar | Visual Basic 6.0 (1998 ) |
sistema de tipos | Escritura estática , Escritura fuerte , Escritura dinámica |
Implementaciones principales | estudio visual de microsoft |
Dialectos | Visual Basic para Aplicaciones , Visual Basic Script |
sido influenciado | QuickBasic , BÁSICO |
influenciado | Visual Basic .NET , REALbasic , Gambas , Xojo , Basic4ppc |
Sitio web | msdn.microsoft.com/ru-RU/vstudio/ms788229.aspx |
Archivos multimedia en Wikimedia Commons |
Microsoft Visual Basic es un lenguaje de programación y un entorno de desarrollo de software integrado desarrollado por Microsoft Corporation . El lenguaje Visual Basic heredó el espíritu, el estilo y en parte la sintaxis de su antecesor, el lenguaje BASIC , que tiene muchos dialectos. Al mismo tiempo, Visual Basic combina procedimientos y elementos de lenguajes de programación orientados a objetos y orientados a componentes . El IDE de VB incluye herramientas para el diseño de interfaz de usuario visual, un editor de código con IntelliSense y resaltado de sintaxis, y herramientas para depurar aplicaciones.
Visual Basic también es una buena herramienta para el desarrollo rápido (RAD) de aplicaciones de bases de datos para sistemas operativos de la familia Microsoft Windows . Muchos componentes listos para usar suministrados con el entorno están diseñados para ayudar al programador a comenzar de inmediato a desarrollar la lógica comercial de una aplicación comercial, sin desviar su atención a escribir código para iniciar el programa, suscribirse a eventos y otros mecanismos que VB implementa automáticamente.
Visual Basic fue reconocido por primera vez por desarrolladores serios después del lanzamiento de la versión 3. El reconocimiento final como una herramienta de programación completa para Windows llegó con el lanzamiento de la versión 5. La versión VB6, que es parte de Microsoft Visual Studio 6.0, se ha convertido en un producto verdaderamente maduro y rico en características.
Fecha de lanzamiento | Versión | Descripción |
---|---|---|
mayo de 1991 | 1.0 | Visual Basic 1.0 para Microsoft Windows . La sintaxis QBasic se tomó como base del lenguaje , y la innovación, que luego trajo gran popularidad al lenguaje, fue el principio de comunicación entre el lenguaje y la interfaz gráfica. Este principio fue desarrollado por Alan Cooper ( Alan Cooper ) e implementado en el prototipo Tripod (también conocido como Ruby ) |
septiembre de 1992 | 1.0 | Visual Basic 1.0 bajo DOS . No era totalmente compatible con la versión de Windows de VB, ya que era la próxima versión de QuickBASIC y se ejecutaba en modo de texto de pantalla. Es interesante notar que el paquete incluía una utilidad especial que convertía proyectos de esta versión en proyectos de Visual Basic 1.0 para Windows. Hizo que el código fuera lo más compatible posible con la versión de Windows, convirtió los formularios (aunque el resultado no fue satisfactorio debido a las diferencias en el modo de texto y gráficos) y también proporcionó comentarios en el código con sugerencias para seguir mejorando. |
noviembre de 1992 | 2.0 | Visual Basic 2.0. El entorno de desarrollo se volvió más fácil de usar y funcionó más rápido. La ventana Propiedades se ha movido a una lista separada. Resaltado de código fuente añadido . |
1993 | 3.0 | Visual Basic 3.0 se lanzó en las ediciones Standard y Professional. Además, se ha agregado al paquete un motor para trabajar con bases de datos de Access . |
agosto de 1995 | 4.0 | Visual Basic 4.0 era una versión que podía crear aplicaciones de Windows de 32 y 16 bits. Además, se hizo posible escribir clases en VB, y Visual Basic finalmente se convirtió en un compilador completo , lo que aumentó significativamente la velocidad de ejecución del programa. Se agregó soporte para controles OLE (OCX), reemplazando los antiguos controles VBX |
febrero de 1997 | 5.0 | Visual Basic 5.0: a partir de esta versión, se hizo posible, junto con las aplicaciones convencionales, desarrollar sus propios componentes COM . Al compilar dicho componente en un archivo OCX y entregarlo, fue posible proporcionar su objeto de control no solo al usuario final , sino también a otros desarrolladores, después de lo cual pudieron integrar este objeto en sus aplicaciones. El entorno integrado incluye compiladores P-Code y Native . Las aplicaciones son ejecutadas por una nueva máquina virtual implementada en la librería dinámica MSVBVM50.DLL. También en el primer trimestre de este año, Microsoft lanzará un producto en una edición especial de Visual Basic 5 Control Creation Edition (VB5CCE), que se especializa solo en el diseño de controles ActiveX . |
Mediados de 1998 | 6.0 | Visual Basic 6.0 : funcionamiento optimizado de la máquina virtual y movido a MSVBVM60.dll. Rendimiento mejorado del compilador nativo. Se agregaron nuevas funciones para trabajar con cadenas y matrices. Esta versión del lenguaje es la última en la línea de VB clásico. Microsoft cambió la política de lenguaje para la familia Basic y en lugar de desarrollar Visual Basic, se creó un lenguaje completamente nuevo, Visual Basic .NET . |
2002 | 7.0 | Primera versión de Visual Basic .NET . La característica más importante es que el código está completamente administrado por .NET Framework Common Language Runtime . Compatibilidad con versiones anteriores rotas con Visual Basic clásico (congelado como VB6). |
abril de 2003 | 7.1 | Microsoft ha actualizado Visual Basic .NET, optimizado el compilador. Publicado con la versión actualizada de .NET Framework 1.1. |
2005 | 8.0 | Incluido con Visual Studio 2005 . Requiere .NET Framework 2.0. Después del lanzamiento de Visual Basic .NET 2003, Microsoft eliminó el prefijo ".NET" del nombre del producto y la próxima versión se llama Visual Basic 2005. |
2008 | 9.0 | Incluido con Visual Studio 2008 . Requiere .NET Framework 3.5 |
2010 | 10.0 | Incluido con Visual Studio 2010 . Requiere .NET Framework 4 |
2012 | 11.0 | Incluido con Visual Studio 2012 . Requiere .NET Framework 4.5 |
2013 | 12.0 | Incluido con Visual Studio 2013 . Requiere .NET Framework 4.5.1 |
2015 | 14.0 (no lanzado como 13.0) | Incluido con Visual Studio 2015 . .NET Framework actualizado a la versión 4.6 |
2017 | 15.0 | Incluido con Visual Studio 2017 . |
Después del lanzamiento de la versión 6.0 de Visual Basic, los desarrolladores de Microsoft cambiaron significativamente la dirección del desarrollo de esta tecnología. Visual Basic .NET no te permite programar a la antigua, porque en realidad es un lenguaje completamente diferente, al igual que cualquier otro lenguaje de programación para la plataforma .NET . La individualidad del lenguaje, así como sus ventajas (simplicidad, velocidad de creación de programas, facilidad de uso de componentes listos para usar), cuando se usa en el entorno .NET, no son tan importantes como antes: todo se centra en las capacidades. de la propia plataforma .NET, en sus bibliotecas de clases. Por el momento (junio de 2015), tenemos que hablar de Visual Basic, como de las versiones clásicas del lenguaje 4.0 - 6.0, sus dialectos: Visual Basic for Applications (VBA) y Visual Basic Scripting Edition (VBScript) y el lenguaje para la plataforma .NET - Visual Basic .NET
En marzo de 2020, Microsoft declaró que admitiría Visual Basic en la plataforma unificada .NET 5.0, pero que ya no agregaría nuevas funciones ni evolucionaría el lenguaje [1] [2] .
Las variables en Visual Basic se declaran con un operador Dim, seguido del nombre, luego la palabra clave Asy luego el tipo de variable. Si se omite el tipo, la palabra clave Asno se especifica y la variable se declara como Variant. Si no especifica una construcción Option Expliciten la sección de declaración, no se requiere una declaración explícita de variables y se crearán automáticamente en el primer uso. Este comportamiento puede llevar a una disminución en la velocidad de ejecución del programa, ya que las variables no declaradas serán de tipo Variant, así como a errores lógicos asociados al ingreso incorrecto del nombre de una variable existente o al riesgo de conflictos en la aplicación cuando el alcance de la variable no está del todo claro.
Dim strMessage As String 'declaración de una variable de tipo de carácter Dim iProductCount As Integer 'declaración de una variable de tipo entero Dim dt70YearsOfVictory As Date 'declaración de una variable para almacenar fecha y hora Dim otherValue ' tipo no especificado, variable de tipo Variant Public Sub Main () strMessage = "¡Hola mundo!" iProductCount = 125 dt70YearsOfVictory = # 5/9/2015 2:00:00 p . m . # ' fecha 9 de mayo de 2015 2:00:00 p . m . otherValue = 12.5 ' tipo de variable Variante, subtipo Doble. otherValue = "Wikipedia" ' tipo de variable Variante, subtipo Cadena. final subTabla de tipos básicos de Visual Basic 6.0
Nombre | Tamaño de tipo | Tipo de datos Descripción |
---|---|---|
bytes | 1 byte | Byte. Diseñado para almacenar números enteros de 0 a 255. Si a una variable de este tipo se le asigna un valor que va más allá de estos límites, Visual Basic generará un error en tiempo de ejecución. |
Entero | 2 bytes | Entero. Diseñado para almacenar números enteros en el rango − 32 768 a 32 767 . Sufijo para la designación de tipo "%". |
Largo | 4 bytes | Entero largo. Diseñado para almacenar números enteros en el rango − 2 147 483 648 a 2 147 483 647 . Sufijo para la designación de tipo "&". |
Único | 4 bytes | Punto flotante de precisión simple. Rango - 3.402823E38 a - 1.401298E−45 para valores negativos; 1.401298E −45 a 3.402823E38 para valores positivos. El sufijo para la designación de tipo "!" |
Doble | 8 bytes | Punto flotante de doble precisión. Las variables de este tipo le permiten almacenar números de hasta 16 dígitos y hasta 300 caracteres. El rango de valores varía de -1.80E+308 a 1.80E+308. El sufijo es "#". Los cálculos con él son aproximados, ya que se utiliza la representación binaria del número según el estándar IEEE 754 . |
Decimal | 16 bytes | Entero escalado. Este tipo utiliza la representación decimal de los números. Los cálculos con él, así como con el tipo Moneda, son exactos. El rango de valores es de -7.92E+28 a 7.92E+28. No puede declarar directamente una variable de tipo Decimal. Solo se puede usar como un subtipo de Variant, y una variable se puede convertir a ese tipo usando la función de conversión CDec. |
booleano | 2 bytes | El tipo de datos booleano puede almacenar solo dos valores: verdadero o falso, verdadero o falso. Un valor verdadero en VB corresponde a un número entero −1, y un valor falso es igual a 0, y con la conversión de tipos implícita, cualquier valor numérico que no sea cero se trata como verdadero. Este comportamiento hace posible el uso de los operadores lógicos AND, OR, NOT, XORno solo para álgebra booleana, sino también para operaciones bit a bit. [3] |
Cuerda | 10 + 2*N bytes | Cadena de longitud variable. Diseñado para almacenar información de cadenas (caracteres). La cadena en sí se almacena en codificación Unicode , por lo que cada carácter se codifica con 2 bytes. Si observa el tipo desde el interior, se utilizan 4 bytes adicionales para almacenar un puntero a la cadena, 4 bytes para el tamaño de la cadena y la cadena en sí termina con caracteres nulos (otros 2 bytes). Por lo tanto, el tamaño máximo de fila puede ser de hasta 2 GB. Sufijo como "$". |
Cadena*N | 2*N bytes | Una cadena de longitud constante. Al igual que el tipo String, almacena datos de caracteres, excepto que el tamaño de los datos es fijo y se especifica cuando se declara la variable. Si el valor de la cadena es demasiado grande, se trunca al tamaño requerido. Si la cadena es más pequeña de lo requerido, entonces el tamaño se iguala agregando un carácter de espacio. Cabe señalar que las cadenas y matrices fijas, así como las estructuras, no pueden tener más de 64 kb. |
Fecha | 8 bytes | El tipo de datos le permite almacenar valores de fecha y hora entre la medianoche del 1 de enero de 100 y la medianoche del 31 de diciembre de 9999. Si solo se asigna un valor de fecha a una variable, entonces la hora es 00:00. Una unidad entera representa un día. Esto le permite sumar y restar fechas usando solo operadores matemáticos, pero VB proporciona funciones de fecha especializadas para lograr esto. |
Objeto | 4 bytes | Se utiliza para almacenar una referencia a un objeto. La asignación a una variable para este tipo se realiza mediante el método Set. El tipo en sí es análogo a IDispatch; almacena una referencia a la interfaz de IDispatch. Para cualquier objeto, debe usar IUnknown. |
Divisa | 8 bytes | Monetario. Este tipo puede tener hasta 4 dígitos después del punto decimal y hasta 14 antes. Los valores son números decimales, no binarios, como es el caso de los tipos de punto flotante de precisión simple y doble. Por lo tanto, los cálculos se realizarán con precisión. El rango de valores es −922337203685477.6000 a 922337203685477.6000 . Este tipo es el preferido para los cálculos financieros. Sufijo "@" |
Variante | 16 bytes/22 bytes+N bytes/N-bytes | Una variable de tipo Variant puede contener datos de cualquier tipo, incluidas referencias a objetos, tipos definidos por el usuario y matrices. Visual Basic realiza automáticamente las transformaciones de datos necesarias . Un subtipo que contiene un número requiere 16 bytes de memoria, y para almacenar datos de cadena, 22 bytes + la longitud de la propia cadena. El rango de valores es igual al rango de valores del subtipo. Este tipo es el más lento en términos de velocidad de ejecución, ya que lleva tiempo desempaquetar y empaquetar valores. |
El lenguaje Visual Basic contiene muchos operadores que son responsables de las operaciones aritméticas, las operaciones de comparación y asignación y la concatenación .
operador de asignación
La asignación múltiple, como se implementa en C, no es posible. A = B = Cno significa que A, By Ctendrá valores iguales. VB evaluará la expresión y asignará el resultado B = Ca la variable , o , 0 o −1, según el tipo. ATrueFalse
Operadores aritméticos
Operadores de comparación
Operadores logicos
Operadores de concatenación
En Visual Basic, como en muchos lenguajes de programación, existen construcciones que controlan el orden en que se realizan las acciones. Algunas de las construcciones, como GoSuby Return, se mantienen por compatibilidad con versiones anteriores del lenguaje BASIC, pero la implementación como procedimientos separados puede proporcionar un código más estructurado.
Operador de sucursalSintaxis general:
'Escriba una sentencia de bifurcación en una línea If < condition > Then [ action_when_condition_is_true ] 'Esta entrada le permitirá realizar acciones dependiendo de la veracidad de la condición If < condition > Then [ action_when_condition_is true ] Else [ action_when_condition_false ] 'Escriba una declaración de ramificación de varias líneas If < condición > Entonces [ acción_cuando_condición_es verdadera ] ElseIf < condición2 > Entonces [ acción_cuando_condición2_verdadera ] ElseIf < condiciónN > Entonces [ acción_cuando_condiciónN_verdadera ] Else [ acción_cuando_condición_falsa ] End If Operador de selecciónSintaxis general:
Select Caso < valor_probado > 'Variable o expresión que se probará contra una o más condiciones Caso < valor_1 > ' La acción se realiza si el valor que se está probando coincide con el valor 1 [ acción_1 ] Caso < valor_2 > , < valor_3 > , < valor_3 > ' Pruebas lista de valores. Si se encuentra una coincidencia, entonces se ejecuta la acción [ acción_2 ] Caso < valor_5 > Para < valor_6 > 'Comprueba el rango de valores [ acción_3 ] Caso es >= < valor_7 > 'Comprueba el valor para la verdad con la condición [ action_4 ] Case Else 'La acción se realiza si ninguna de las condiciones falla [ action_5 ] End SelectEjemplo: mostrar diferentes mensajes dependiendo del valor de una variable
'Ingresemos una variable y le demos un valor manualmente Dim X As Double X = InputBox ( "Ingrese el valor numérico de la variable X" ) Select Case X 'Comprobar si nuestro valor se ajusta a alguna función imaginaria Case Is < 5 , Is >= 20 , 12 To 15 ' Rango de valores válidos MsgBox "Un valor válido para alguna función" Case Else 'Valores no válidos MsgBox " El valor no se puede utilizar en alguna función" End Select Bucle con contadorSintaxis general:
Para < variable > = < valor > Para < valor_final > [ Paso < valor_de_paso >] [ bloque_de_instrucciones ] [ Salir para ] 'Salir del bucle Siguiente [ variable ]Ejemplo: calcular la suma de números pares del 1 al 100
Para I = 0 a 100 Paso 2 Suma = Suma + I Siguiente Ciclo conjuntoSintaxis general:
Para cada < variable > En < colección > [ bloque_de_instrucciones ] [ Salir para ] 'Forzar salida del ciclo Siguiente [ variable ]Ejemplo: Muestra cada elemento en una matriz
Dim strItem como variante Para cada strItem en Array ( "Apple" , "Pear" , "Plum" ) Imprimir strItem Siguiente Bucle condicionalSintaxis general:
Do While < condición > 'El bucle se ejecuta cuando la condición es verdadera [ bloque_instrucción ] [ Exit Do ] 'Salida forzada del bucle Hacer hasta < condición > 'El ciclo se ejecuta cuando la condición es falsa [ bloque_de_instrucciones ] [ Salir de hacer ] Bucle Mientras que < condición > 'El ciclo se ejecuta cuando la condición es verdadera [ bloque_de_instrucciones ] WendEjemplo: Leer un archivo de texto línea por línea
Abra "archivo.txt" para la entrada como n.º 1 Hacer mientras no EOF ( 1 ) 'Devuelve verdadero si se espera el final del archivo Entrada de línea n.º 1 , strBuffer 'Lee la línea en la variable de depuración . Imprimir strBuffer 'Salida a la ventana de depuración Loop Close # 1 Bucle con postcondiciónSintaxis general:
Hacer [ bloque_de_instrucciones ] [ Salir de hacer ] Bucle Mientras < condición > Hacer [ bloque de instrucciones ] [ Salir de hacer ] Bucle hasta < condición >Las subrutinas son uno de los elementos básicos del lenguaje. Son procedimientos y funciones.
Visual Basic realmente implementa el bucle de mensajes de Windows. En el ejemplo de formulario, el ciclo filtrará el mensaje WM_MOUSEMOVEy llamará automáticamente al procedimiento Form_MouseMovecon los parámetros: qué botones del mouse se presionaron, las coordenadas del puntero. Este mecanismo oculta al desarrollador algunos aspectos de la programación en el entorno de Windows, lo que le permite comenzar a escribir código comercial de inmediato. En la mayoría de los casos, la clase de tareas a resolver no requerirá que el programador conozca los mensajes y las funciones de la ventana. Pero Visual Basic no impide que el programador implemente el manejo de mensajes de ventana. Esto permite un enfoque muy flexible para crear aplicaciones, pero también requiere suficiente experiencia para escribir dicho código, lo que puede hacer que el programa se ejecute de manera inestable hasta que se bloquee.
Un ejemplo de una función para resolver una ecuación cuadrática:
Private Sub Main () Dim RetX1 como doble , RetX2 como doble Dim strStatus como cadena strStatus = SolveQuadraticEquation ( 4 , 6 , 2 , RetX1 , RetX2 ) 'Resuelve la ecuación 4*X^2 + 6*X - 2 = 0 'Mostrar respuesta MsgBox "Resolución: " & strStatus & vbCrLf & _ "X1 = " & RetX1 & vbCrLf & _ "X2 = " & RetX2 , vbInformation End Sub ' Función de resolución de ecuación cuadrática Función pública SolveQuadraticEquation ( ByVal A As Double , _ ByVal B As Double , _ ByVal C As Double , _ ByRef X1 As Double , _ ByRef X2 As Double ) As String Dim D As Double D = ( B * B ) - ( 4 * A * C ) 'Obtenga el valor del discriminante Si D >= 0 Entonces X1 = ( - B - Sqr ( D )) / ( 2 * A ) ' Calcula las raíces de la ecuación X2 = ( - B + Sqr ( D )) / ( 2 * A ) SolveQuadraticEquation = "Solución encontrada" 'La función devuelve un mensaje sobre la solución Else SolveQuadraticEquation = "Discriminante < 0. Sin raíces" End If End FunctionEn este ejemplo, puede ver el modificador delante de los ByValargumentos y . Esto asegura que los parámetros a la función se pasarán por valor . El modificador , por otro lado, pasa el valor por referencia . Para este tipo de modificador, la función puede modificar los valores de las variables pasadas como parámetros. Visual Basic, por defecto, siempre pasa valores por referencia si no se especificó ninguno de los modificadores. ABCByRef
El código del programa en Visual Basic se almacena en módulos. Solo hay tres tipos de módulos: módulo de formulario (Form), módulo estándar (Module) y módulo de clase (Class Module).
La interacción simple entre objetos es uno de los componentes básicos del paradigma de Visual Basic. El objeto en sí mismo se llama una instancia de la clase . El modelo de objetos de VB proporciona varias clases para trabajar con formularios, controles, portapapeles, colecciones, la pantalla, etc. Para interactuar con otros objetos , la clase proporciona al desarrollador una interfaz que consta de propiedades , métodos y eventos .
La creación de un nuevo objeto a partir de una clase es posible mediante vinculación anticipada o tardía. Para el enlace temprano, la palabra clave se usa Newantes del nombre de la clase. Para el enlace tardío, se utiliza una función CreateObjectque devuelve una referencia al objeto creado. Las referencias se asignan a variables de tipo Objectmediante el operador Set. El acceso a los métodos y propiedades de una clase ocurre a través del operador punto ., que se coloca inmediatamente después del nombre de la variable del tipo de objeto. Si la clase contiene eventos, las variables se declaran con la palabra clave WithEvents, por lo que los procedimientos de manejo de eventos estarán disponibles.
El ejemplo muestra cómo el programa interactúa con la biblioteca Microsoft Scripting Runtime , que proporciona objetos para trabajar con el sistema de archivos:
Public Sub Main () Dim objFSO As New FileSystemObject 'Crea una instancia de la clase usando la instrucción New Dim objWindows As Folder Establezca objWindows = objFSO . GetFolder ( Environ ( "SYSTEMROOT" )) 'Llama al método de clase GetFolder y asigna una referencia al objeto resultante MsgBox "Carpeta de Windows:" & objWindows . Ruta 'Lee las propiedades de la clase MsgBox "Fecha de creación: " & Formato ( objWindows . DateCreated , "YYYY-MM-DD H:mm:ss" ) Dim sTextFilePath como cadena Dim objTS como TextStream sTextFilePath = objFSO . BuildPath ( Environ ( "TEMP" ), "Test file.txt" ) 'Método con dos parámetros devuelve un valor de tipo String Establezca objTS = objFSO . CreateTextFile ( sTextFilePath , True ) objTS . Escribe "¡Hola Wikipedia!" objTS . cerca objFSO . DeleteFile sTextFilePath , Verdadero Set objFSO = Nothing 'La asignación de Nothing libera la referencia y el objeto puede llamar al procedimiento destructor Set objWindows = Nothing 'VB llama automáticamente al destructor cuando ya no se hace referencia al objeto Set objTS = Nothing End SubVisual Basic permite al desarrollador crear nuevas clases por sí mismo. A diferencia de otros lenguajes de programación como Java y C++, Visual Basic no tiene soporte completo para programación orientada a objetos.
Como sabe, se necesita una clase abstracta para proporcionar una plantilla para una interfaz con otras clases. En Visual Basic, las clases que tienen miembros de clase pero ninguna implementación se pueden usar como clases abstractas, pero en realidad no lo son. Siempre puede crear objetos a partir de clases de Visual Basic, incluso si no contienen código [4]
El principio de encapsulación opera en Visual Basic. PublicPara delimitar el acceso a los miembros de la clase , los modificadores Privatey Friendse utilizan al describir procedimientos, funciones, constantes, variables y tipos definidos por el usuario.
No se admite la herencia de implementación. Visual Basic solo proporciona compatibilidad con la herencia de interfaz a través deImplements. Al heredar una interfaz, cualquier clase puede actuar como la clase base de la interfaz. En general, cualquier clase puede actuar como clase base de una interfaz.
El polimorfismo solo se aplica a través de interfaces, ya que VB no admite la herencia. La implementación del polimorfismo se muestra en el ejemplo de las clases Car y Aircraft que implementan la interfaz de la clase Transport .
'Clase ITransport.cls Función pública GetMaxSpeed () Como función de extremo largo 'Clase CAuto.cls implementa ITransport 'Inherit interfaz Función privada ITransport_GetMaxSpeed () As Long 'Implementación del método ITransport_GetMaxSpeed = 240 Función final 'Clase CFly.cls implementa ITransport Función privada ITransport_GetMaxSpeed ( ) Mientras ITransport_GetMaxSpeed = 700 Función final 'Módulo estándar Program.bas Opción Explícita Public Sub Main () Dim T As ITransport 'Declara una variable de tipo ITransport Set T = New cAuto WhatTransportSpeed T 'Pasamos una referencia a un procedimiento que llamará al método de clase deseado, dependiendo de la implementación Establecer T = Nuevo cFly WhatTransportSpeed T End Sub 'La función tiene un argumento que toma una referencia a un objeto que implementa la interfaz ITransport Public Sub WhatTransportSpeed ( Transport As ITransport ) MsgBox "Velocidad máxima:" & Transport . ObtenerVelocidadMáxima () End SubEl editor de código es un editor de texto con características adicionales para una entrada de código fuente fácil y rápida:
El entorno de desarrollo integrado proporciona al programador ricas oportunidades para depurar programas. Una de las ventajas de Visual Basic es la capacidad de cambiar el código fuente del programa en gran medida sin volver a compilarlo y reiniciarlo por completo. Durante los procedimientos de depuración, el desarrollador tiene la oportunidad de mover el marcador que indica la instrucción que se está ejecutando actualmente, tanto hacia adelante (saltando parte del código) como hacia atrás, obligando a VB a volver a ejecutar las instrucciones que ya se han procesado.
Entre otras cosas, el entorno proporciona herramientas de depuración como la ventana Inmediato, la ventana de locales, la ventana de observación y el visor de pila de llamadas . Estas herramientas avanzadas permiten al programador realizar un análisis profundo del algoritmo en estudio en la aplicación que se está depurando.
Visual Basic ingresa al modo de depuración cuando se cumple una de las siguientes condiciones:
El entorno de desarrollo integrado viene con un compilador en P-Code (P-code) , un compilador nativo Back-End compatible con x86 y un enlazador (linker). La presencia de dos compiladores hace posible atribuir Visual Basic a un lenguaje tanto compilado como interpretado. Independientemente del compilador elegido, las aplicaciones requieren la ejecución de la máquina virtual de tiempo de ejecución de Visual Basic, que es la biblioteca MSVBVMXX.DLL, donde XX es la versión del idioma [5]
Microsoft Visual Basic 6.0 viene con el asistente de paquete e implementación [6] para crear paquetes de instalación basados en un proyecto de Visual Basic. En comparación con su conocido predecesor, el Asistente de configuración, el Asistente de P&D proporciona una nueva funcionalidad, pero desafortunadamente la nueva herramienta contiene algunos errores. Uno de los problemas de esta aplicación es un error de conversión de fecha si la configuración regional establecida en el sistema operativo del usuario es diferente a la estadounidense. Existen aplicaciones de terceros que brindan herramientas más avanzadas para administrar paquetes de instalación.
También es posible instalar aplicaciones VB mediante una simple copia, que se reduce a unos pocos pasos:
A partir de la versión VB 5.0, el desarrollador tiene la oportunidad no solo de usar componentes ActiveX listos para usar , sino también de crear los suyos propios. VB se encarga de todo el trabajo de crear código auxiliar que está diseñado para registrar información sobre el componente en el registro del sistema, implementar la interfaz IDispatch, crear GUID únicos utilizados como identificadores de clases (CLSID), interfaces (IID) y bibliotecas de tipos ( LÍBIDA). Gracias a este enfoque, el programador solo necesita crear clases con la funcionalidad necesaria.
La creación de nuevos GUID de clase e interfaz depende de la opción de compatibilidad establecida en la pestaña de propiedades del proyecto. Puede tomar uno de tres estados:
Una vez completada la compilación, la salida será un archivo de biblioteca binaria de acuerdo con la especificación COM . Este componente implementa al menos 2 interfaces : IUnknown e IDispatch. La biblioteca de tipos ( TLB ) se integrará dentro de los recursos del ejecutable. Además, se crean archivos con información útil, como EXP y LIB.
Visual Basic proporciona funciones de lenguaje para declarar y llamar a funciones desde bibliotecas de vínculos dinámicos (DLL). Este mecanismo le permite ampliar las aplicaciones mediante el uso de bibliotecas adicionales proporcionadas por otros desarrolladores, incluidas las escritas en varios lenguajes de programación. El sistema operativo Microsoft Windows proporciona un conjunto de bibliotecas de este tipo.
La sintaxis general para la declaración de una función y un procedimiento es la siguiente:
[ Público | Private ] Declare Sub < nombre_procedimiento > lib "nombre_biblioteca_dinámica" [ Alias "alias" ] [ ( parámetros ) ] [ Público | Private ] Declare Function < nombre_función > lib "nombre_biblioteca_dinámica" [ Alias "alias" ] [ ( parámetros ) ] [ Como tipo_retorno ]Los alias deben especificarse en varios casos: uso de identificadores reservados de Visual Basic en el nombre de la función, el nombre contiene caracteres no válidos o el entorno no puede interpretarlo correctamente. Las funciones llamadas deben ser compatibles con la convención de llamadas StdCall .
Al pasar un parámetro con el tipo String a la función WINAPI, VB convierte automáticamente la codificación de Unicode a ANSI, después de ejecutar la función, se realiza la conversión inversa de ANSI a Unicode. Para evitar la conversión automática de cadenas, los argumentos de la función deben declararse como Long y se debe pasar un puntero a una cadena mediante la función StrPtr, por lo que se puede optimizar el rendimiento de una aplicación que realiza múltiples llamadas a funciones.
Un ejemplo de llamar a la API de Windows para obtener la ruta completa al directorio de Windows y mostrar un mensaje en la pantalla:
Función de declaración privada GetWindowsDirectory Lib "kernel32.dll" Alias "GetWindowsDirectoryA" ( ByVal buffer As String , ByVal nSize As Long ) As Long Función de declaración privada MessageBox Lib "user32.dll" Alias " MessageBoxA" ( ByVal hWnd As Long , ByVal lpText As String , ByVal lpCaption As String , ByVal wType As Long ) As Long MB_ICONASTERISK de const . privada Mientras dure = 64 Public Sub Main () Dim buffer As String 'La variable en la que se recibirá el resultado de la función. Dim ret Len mientras buffer = String ( 256 , vbNullChar ) lens = GetWindowsDirectory ( buffer , Len ( buffer )) 'Function call buffer = Left ( buffer , lens ) MessageBox 0 & , "SO instalado en el directorio:" & buffer , "Información" , MB_ICONASTERISK ' Llamada de subfunción finalCabe señalar que llamar a las funciones WINAPI está asociado con ciertos acuerdos internos, a saber, cómo la función devolverá un resultado, qué estructuras debe pasar, la cantidad de argumentos y sus tipos, que estarán contenidos en el valor de retorno. Los desarrolladores utilizan la documentación técnica provista con las bibliotecas con las que trabajan para declarar correctamente funciones y estructuras.
El lenguaje está fuertemente ligado a su entorno de desarrollo y al sistema operativo Microsoft Windows, siendo exclusivamente una herramienta para escribir aplicaciones de Windows. La vinculación con el entorno radica en el hecho de que hay una gran cantidad de herramientas diseñadas para ayudar y facilitar la programación: un depurador incorporado, visualización de variables y estructuras de datos sobre la marcha, una ventana de depuración, información sobre herramientas al escribir un programa ( IntelliSense ). Todas estas ventajas hacen que sea inútil e incluso imposible utilizar Visual Basic fuera del entorno de desarrollo, por ejemplo, en un editor de texto normal.
Sin embargo, vale la pena señalar que todas las deficiencias del lenguaje provienen de su principal ventaja: la simplicidad de desarrollar una interfaz gráfica. Por lo tanto, muchos programadores usan Visual Basic para desarrollar la interfaz de usuario, y la funcionalidad del programa se implementa como bibliotecas de vínculos dinámicos ( DLL ) escritas en otros lenguajes (por ejemplo, C++ ).
Este entorno de desarrollo prácticamente no difiere del clásico Visual Basic, que está diseñado para escribir macros y otros programas de aplicación para aplicaciones comerciales específicas. Recibió la mayor popularidad debido a su uso en el paquete de Microsoft Office . El uso generalizado de Visual Basic para aplicaciones, junto con una falta inicial de atención a los problemas de seguridad, ha dado lugar a virus de macro generalizados .
Peculiaridades:
Lenguaje de scripting , que es una versión algo truncada del Visual Basic habitual. Se utiliza principalmente para automatizar la administración de sistemas Microsoft Windows y para crear páginas ASP y secuencias de comandos para Internet Explorer .
Peculiaridades:
Esta herramienta se utiliza para desarrollar software para los sistemas operativos Windows CE y Windows Mobile . Incluye IDE, depurador y emulador para pruebas de aplicaciones. eMbedded Visual Basic no se basa en el lenguaje de programación Visual Basic con funciones completas, sino en el lenguaje de secuencias de comandos Visual Basic Scripting Edition . Las aplicaciones se compilan en código P y los archivos ejecutables tienen la extensión VB, que están asociados con la aplicación host.
Peculiaridades:
BASIC | Dialectos del lenguaje de programación|
---|---|
Clásico |
|
transicional |
|
procesal |
|
Objeto |
|
Móvil |
|
Consola |
|
Lenguajes de programación | |
---|---|
|