Karen Valeria Bautista Beltrรกn
Muestra un mensaje en un cuadro de diálogo, espera a que el usuario escriba un texto o haga clic en un botón y devuelve una cadena con el contenido del InputBox( _ ByVal Prompt As String, _ Optional ByVal Title As String = "",
carro (Chr(13)), un carácter de salto de línea (Chr(10)) o una combinación de retorno de carro y salto de línea (Chr(13) & Chr(10)) que inserta entre cada línea.
Opcional. Expresión de tipo String que se muestra en la barra de título del cuadro de diálogo. Si se omite Title, en la barra de título aparecerá el nombre de la aplicación.
_ Optional ByVal DefaultResponse As String = "", _ Optional ByVal Xpos As Integer = 1, _ Optional ByVal YPos As Integer = 1_ ) As String Parámetros:
Prompt
Requerido. Expresión de tipo String que se muestra como mensaje en el cuadro de diálogo. La longitud máxima de Prompt es de aproximadamente 1024 caracteres, según el ancho de los caracteres utilizados. Si Prompt incluye más de una línea, puede separar las líneas mediante un carácter de retorno de
Title
DefaultResponse
Funciones de visual basic
INPUTBOX (FUNCIÓN, VISUAL BASIC)
Opcional. Expresión de tipo String que se muestra en el cuadro de texto como respuesta predeterminada en caso de que no se suministre otra entrada. Si se omite DefaultResponse, el cuadro de texto se mostrará vacío.
XPos
Opcional. Expresión numérica que especifica, en píxeles, la distancia entre el borde superior del cuadro de diálogo y el borde superior de la pantalla. Si omite XPos y YPos, el cuadro de diálogo se centra en la pantalla.
1
La función InputBox requiere un permiso UIPermission del nivel SafeTopLevelWindows que podría afectar a su ejecución en situaciones de confianza parcial. Para obtener más información, vea Solicitar permisos y UIPermission (Clase).
If myValue Is "" Then myValue = defaultValue ' Display dialog box at position 100, 100. myValue = InputBox(message, title, defaultValue, 100, 100) ' If user has clicked Cancel, set myValue to defaultValue If myValue Is "" Then myValue = defaultValue
1) En este ejemplo se muestran distintas formas de utilizar la función InputBox para pedir al usuario que especifique un valor. Si se omiten las posiciones x e y, el cuadro de diálogo quedará centrado automáticamente respecto a ambos ejes. La variable MyValue contiene el valor especificado por el usuario al hacer clic en Aceptar o presionar la tecla ENTRAR. VB Copiar Dim message, title, defaultValue As String Dim myValue As Object ' Set prompt. message = "Enter a value between 1 and 3" ' Set title. title = "InputBox Demo" defaultValue = "1" ' Set default value. ' Display message, title, and default value. myValue = InputBox(message, title, defaultValue) ' If user has clicked Cancel, set myValue to defaultValue
2) Desarrollar el código que resuelva el siguiente problema: una ONG tiene puntos de reparto de vacunas que se pretende funcionen de la siguiente manera. Cada día, empezar con 1000 vacunas disponibles y a través de un programa que controla las entregas avisar si el inventario baja de 200 unidades.
Funciones de visual basic
Ejemplos
'[Control de vacunas] Option Explicit Dim Existencias%, Entregadas% Private Sub Form_Load() Show Form1.Caption = "Control de vacunas" Existencias = 1000 Do While Existencias >= 200 Entregadas = InputBox("Introduzca el número de uds entregadas", "Dato entrega") Existencias = Existencias - Entregadas Loop Labelfinal.Alignment = 2 Labelfinal.FontBold = True Labelfinal = vbCrLf & "El inventario ha bajado de 200 uds" & vbCrLf & "Debe comunicarlo" End Sub
1
MsgBox (Función, Visual Basic) Muestra un mensaje en un cuadro de diálogo, espera a que el usuario haga clic en un botón y devuelve un entero que indica el botón utilizado.
que especifican el número y tipo de botones que se han de mostrar, el estilo de icono que se va a usar, la identificación del botón predeterminado y la modalidad del cuadro de mensaje. Si se omite Buttons, el valor predeterminado será cero.
Funciones de visual basic
Public Function MsgBox( _ ByVal Prompt As Object, _ Optional ByVal Buttons As MsgBoxStyle = MsgBoxStyle.OKOnly, _ Optional ByVal Title As Object = Nothing _ ) As MsgBoxResult
Parámetros:
Prompt
Obligatorio. Expresión de tipo String que se muestra como mensaje en el cuadro de diálogo. La longitud máxima de Prompt es de aproximadamente 1024 caracteres, según el ancho de los caracteres utilizados. Si Prompt consta de más de una línea, puede separar las líneas mediante un carácter de retorno de carro (Chr(13)), un carácter de avance de línea (Chr(10)) o una combinación de caracteres de retorno de carro/avance de línea (Chr(13) y Chr(10)) entre cada línea.
2
Buttons
Opcional. Expresión numérica que corresponde a la suma de los valores
Title
Opcional. Expresión de tipo String que se muestra en la barra de título del cuadro de diálogo. Si se omite Title, en la barra de título aparecerá el nombre de la aplicación. En la siguiente tabla se incluyen los valores de enumeración de MsgBoxStyle: Miembro OKOnly
Valor 0
OKCancel
1
AbortRetryIgnore
2
YesNoCancel
3
YesNo
4
RetryCancel
5
Critical
16
Question
32
Exclamation
48
Descripción Muestra sólo el botón Aceptar. Muestra los botones Aceptar y Cancelar. Muestra los botones Anular, Reintentar y Omitir. Muestra los botones Sí, No y Cancelar. Muestra los botones Sí y No. Muestra los botones Reintentar y Cancelar. Muestra el icono Mensaje crítico. Muestra el icono Consulta de advertencia. Muestra el icono Mensaje de
64
DefaultButton1
0
DefaultButton2
256
DefaultButton3
512
ApplicationModal
0
SystemModal
4096
MsgBoxSetForegrou nd
65536
MsgBoxRight
MsgBoxRtlReading
524288 104857 6
advertencia. Muestra el icono Mensaje de información. El primer botón es el predeterminad o. El segundo botón es el predeterminad o. El tercer botón es el predeterminad o. Aplicación modal: el usuario debe responder al cuadro de mensaje antes de continuar trabajando en la aplicación actual. Sistema modal: se suspenden todas las aplicaciones hasta que el usuario responda al cuadro de mensaje. Especifica la ventana del cuadro de mensaje como ventana de primer plano. Texto alineado a la derecha. Especifica que el texto debe aparecer para ser leído de derecha a izquierda en los sistemas árabe y hebreo.
El primer grupo de valores (0-5) describe el número y tipo de botones mostrados en el cuadro de diálogo. El segundo grupo (16, 32, 48, 64) describe el estilo de icono. El tercer grupo (0, 256, 512) determina qué
botón es el valor predeterminado. El cuarto grupo (0, 4096) determina la modalidad del cuadro de mensaje y el quinto grupo especifica si el cuadro de mensaje es la ventana de primer plano, junto con la alineación y la dirección del texto. A la hora de sumar números para crear el valor final del argumento Buttons, se deberá utilizar únicamente un número de cada grupo.
Valor devuelto CONSTANTE
VALOR
OK Cancel Abort Retry Ignore Yes No
Funciones de visual basic
Information
1 2 3 4 5 6 7
Excepciones TIPO DE EXCEPCIÓN
NÚMERO DE ERROR
CONDICIÓN
ArgumentException
5
InvalidOperationExce ption
5
InvalidEnumArgumen tException
5
Prompt no es una expresión String o Title no es válido. El proceso no se está ejecutando en modo interactivo de usuario. Uno o más parámetros no son miembros de la enumeración MsgBoxResult o MsgBoxStyle.
Consulte la columna "Número de error" si está actualizando aplicaciones de Visual Basic 6.0 que utilizan el control de errores no estructurado. (Se puede comparar el número de error con respecto a Number (Propiedad, objeto Err)). Sin
3
embargo, siempre que sea posible, se debe considerar la sustitución de dicho control de errores por Información general sobre el control estructurado de excepciones de Visual Basic.
Funciones de visual basic
Ejemplo
4
1) En este ejemplo se utiliza la función MsgBox para mostrar un mensaje de error crítico en un cuadro de diálogo con botones Sí y No. El botón No se considera la respuesta predeterminada. Todo ello se consigue combinando los valores de constante de MsgBox en una expresión numérica. En este caso, si se agrega 4 (la combinación de botones Sí/No) y 16 (la ventana Mensaje crítico) y 256 (el segundo botón como botón predeterminado) se obtiene un total de 276. El valor que devuelve la función MsgBox depende del botón que elija el usuario: Sí devuelve un valor 6; No un valor 7. Dim msg As String Dim title As String Dim style As MsgBoxStyle Dim response As MsgBoxResult msg = "Do you want to continue?" ' Define message. style = MsgBoxStyle.DefaultButton2 Or _ MsgBoxStyle.Critical Or MsgBoxStyle.YesNo title = "MsgBox Demonstration" ' Define title.
' Display message. response = MsgBox(msg, style, title) If response = MsgBoxResult.Yes Then ' User chose Yes. ' Perform some action. Else ' Perform some other action. End If
2) Desarrollar el código que dé respuesta
al
siguiente
problema: Una central distribuye cal hacia diferentes almacenes sucursales. Disponen de un muelle de carga a donde van llegando sacas de cal de entre 3000 y 9000 Kgs, con pesos variables en función de
las
circunstancias
de
la
producción. La empresa dispone de una flota de camiones con capacidades de carga de entre 18000 y 28000 Kgs. Se
pretende
establecer
un
protocolo consistente en cargar 20
camiones
diarios.
Cada
camión se quiere cargar como máximo a su límite de capacidad debiendo partir si con la siguiente saca en la línea de producción se fuera a exceder su capacidad. La empresa quiere desarrollar un programa que le pida al operario encargado de carga la capacidad
del camión y el peso de las sacas, indicándole si debe cargar la saca o despachar el camión para comenzar a cargar otro. Option Explicit Dim i%, j% Dim Capacidad%, Pesosaca%, Cargado As Integer Private Sub Form_Load() Show Form1.Caption = "Distribución de cal" For i = 1 To 20 del camión nº " & i & " en kgs", "Dato capacidad") Do
While(Cargado
+
Pesosaca)
<=
Capacidad If Pesosaca > 0 Then MsgBox("Cargue la saca nº " & j) Cargado = Cargado + Pesosaca End If
Funciones de visual basic
Capacidad = InputBox("Introduzca la capacidad
j=j+1 Pesosaca = InputBox("Introduzca el peso de la saca nº " & j & " en kgs", "Dato saca") Loop If i < 20 Then MsgBox("No cargue todavía. Despache el camión nº "& i & " y ponga" & _ " a cargar el camión nº " & i + 1) Cargado = 0 Next i Labelfinal.Alignment = 2 Labelfinal.FontBold = True Labelfinal = "No cargue esta saca. Despache el camión "& i - 1 & vbCrLf & "FINALIZADA" & _ " LA CARGA DEL DÍA" End Sub
5