Control de entradas del usuario

AutoCAD ActiveX

 
Control de entradas del usuario
 
 
 

Puede utilizar el método InitializeUserInput para definir palabras clave o restringir el tipo de entradas en el método de introducción de información por parte del usuario. El uso y los valores de los parámetros son similares a la función de AutoLISP initget. InitializeUserInput puede utilizarse con los siguientes métodos: GetAngle, GetCorner, GetDistance, GetInteger, GetKeyword, GetOrientation, GetPoint, y GetReal. InitializeUserInput no puede utilizarse con el método GetString. Utilice el método GetInput para recuperar el valor de cadena (palabra clave o entrada al azar) cuando el método de entradas del usuario no devuelva un valor de cadena.

El método InitializeUserInput admite dos parámetros. El primer parámetro es un valor entero, expresado en bits, que determina las opciones de entrada del método de introducción de información por parte del usuario. El segundo parámetro es una cadena que define las palabras clave válidas.

Obtención de un valor entero o de una palabra clave en la línea de comando de AutoCAD

En el ejemplo siguiente se solicita al usuario la designación de un valor entero positivo o una palabra clave:

Sub Ch3_UserInput()
      
    ' The first parameter of InitializeUserInput (6)
    ' restricts input to positive and non-negative
    ' values. The second parameter is the list of
    ' valid keywords.
    ThisDrawing.Utility.InitializeUserInput 6, "Big Small Regular"
      
    ' Set the prompt string variable
    Dim promptStr As String
    promptStr = vbCrLf & "Enter the size or (Big/Small/<Regular>):"
      
    ' At the GetInteger prompt, entering a keyword or pressing
    ' ENTER without entering a value results in an error. To allow
    ' your application to continue and check for the error
    ' description, you must set the error handler to resume on error.
    On Error Resume Next
      
    ' Get the value entered by the user
    Dim returnInteger As Integer
    returnInteger = ThisDrawing.Utility.GetInteger(promptStr)
      
    ' Check for an error. If the error number matches the
    ' one shown below, then use GetInput to get the returned
    ' string; otherwise, use the value of returnInteger.
      
    If Err.Number = -2145320928 Then
        Dim returnString As String
        Debug.Print Err.Description
        returnString = ThisDrawing.Utility.GetInput()
        If returnString = "" Then 'ENTER returns null string
            returnString = "Regular" 'Set to default
        End If
        Err.Clear
    Else 'Otherwise,
        returnString = returnInteger 'Use the value entered
    End If
      
    ' Display the result
    MsgBox returnString, , "InitializeUserInput Example"
      
End Sub