AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Funciones estándar / Funciones de Windows / Funciones de cuadros de diálogo
  • Características del cuadro de diálogo y del control de edición Campo de entrada
  • Gestión de las máscaras de entrada
  • Escribir texto multilínea
  • Entrada mediante una casilla de verificación
  • Base de datos de mensajes
  • Limitaciones
  • Ejemplo de entrada completa
  • Aplicación en segundo plano: Caso concreto de Android 10
WINDEV
WindowsLinuxJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac Catalyst
Otros
Procedimientos almacenados
Muestra un mensaje que permite al usuario introducir datos.
Entrada
Nota: Existen varias sintaxis para esta función:
  • Sintaxis simplificada, introducida directamente en el editor de código.
  • Sintaxis completa con la pregunta introducida mediante un asistente. El editor de código ofrece la opción asistente completo ("<Wizard>" que ofrece la opción entrada predictiva). Este asistente define los distintos elementos que aparecen en el mensaje y genera automáticamente el código correspondiente. Las etiquetas de los botones se sugieren automáticamente en función del texto de la pregunta.
  • Sintaxis directa, escrita directamente en el editor de código.
Ejemplo
// Exemple de saisie simplifiée 
NbExemplaire is int
RetourValeur is int
RetourValeur = Input("Combien d'exemplaires voulez-vous imprimer ?", NbExemplaire)
SWITCH RetourValeur 
	CASE 0 : Info("Vous avez annulé. Le nombre par défaut est de 1.")
	CASE 1 : Info("Vous avez demandé " + NbExemplaire)
END
// Saisie simplifiée avec utilisation d'un masque de saisie 
NumTel is string
// Utilisation d'un masque de saisie texte spécifique
Input.InputMask = maskPhoneFrance
SWITCH Input("Quel est votre numéro de téléphone ?", NumTel)
	// OK
	CASE 1 : SAI_NumTel = NumTel 
	// Annuler
	CASE 0 : SAI_NumTel = "Pas de téléphone"
END
Commentaires is string
Commentaires = RepeatString(CR, 10)
// Saisie de commentaires par l'utilisateur dans un champ multiligne 
// Saisie limitée à 140 caractères
Input.InputMask = "regexp:.{0,140}"
SWITCH Input("Saisissez vos commentaires.", Commentaires)
	// OK
	CASE 1 : SAI_Comment = Commentaires
	// Annuler
	CASE 0 : SAI_Comment = "Pas de commentaire"
END
AfficherInfo is boolean = False
// On demande à l'utilisateur s'il veut réellement fermer l'application 
// Une coche "Ne plus afficher cette fenêtre" permet à l'utilisateur
// de ne plus afficher cette question à l'avenir
Input.OptionalCaption = "Ne plus afficher cette fenêtre"
IF AfficherInfo = False THEN
	SWITCH Input("Voulez-vous fermer l'application ?", AfficherInfo)
		// Fermer
		CASE 1 : Close()
	END
END
// Pensez à stocker la valeur de AfficherInfo pour les prochaines fois
// Syntaxe directe 
NumTel is string
IF Input("Quel est votre numéro de téléphone?", NumTel, ...
		["Valider", "Pas de téléphone", "Annuler"], 3, 3, dlgIconQuestion) = 1 THEN
	Info(NumTel)
END
Sintaxis

Sintaxis simplificada (sin utilizar el asistente) Ocultar los detalles

<Result> = Input(<Question> , <Variable to enter>)
<Result>: Entero
Identifica la respuesta seleccionada por el usuario:
  • 0: El usuario ha pulsado el botón "Cancelar".
  • 1: El usuario ha pulsado el botón "OK".
<Question>: Cadena de caracteres
Pregunta que se hará al usuario. Esta pregunta puede utilizar StringBuild.
<Variable to enter>: Cualquier tipo
Variable en la que el usuario debe escribir la respuesta.
  • Esta variable debe haber sido declarada antes de llamar a la función Entrada.
  • El tipo de variable define el tipo de control en el que los usuarios introducen la respuesta. Para las variables Hora o Fecha, la máscara de entrada se deduce automáticamente de la variable.
    WINDEVAndroidiPhone/iPadJava Se puede especificar una máscara de entrada (especialmente para las variables de tipo Texto) con la variable InputMask (ver Notas).
  • Si la variable se inicializa con un valor, éste corresponde al valor por defecto.
  • Después de llamar a la función Entrada, esta variable contiene la respuesta del usuario (independientemente del botón utilizado).

Sintaxis completa con la pregunta introducida mediante un asistente Ocultar los detalles

<Result> = Input(<Question> , <Variable to enter> [, <Parameter 1> [... [, <Parameter N>]]])
<Result>: Entero
Identifica la respuesta seleccionada por el usuario (valor de 1 al número de botones que se encuentran en la ventana de edición).
Esta respuesta depende del número de botones de la ventana de descripción de la pregunta. Los distintos valores correspondientes a las diferentes respuestas se incluyen automáticamente en comentarios en el editor de código al seleccionar el mensaje.
<Question>: Cadena de caracteres
Pregunta que se hará al usuario. Esta pregunta puede contener parámetros identificados por %1, %2, ...
<Variable to enter>: Cualquier tipo
Variable en la que el usuario debe escribir la respuesta.
  • Esta variable debe haber sido declarada antes de llamar a la función Entrada.
  • El tipo de variable define el tipo de control en el que los usuarios introducen la respuesta. Para las variables Hora o Fecha, la máscara de entrada se deduce automáticamente de la variable.
    WINDEVAndroidiPhone/iPadJava Se puede especificar una máscara de entrada (especialmente para las variables de tipo Texto) con la variable InputMask (ver Notas).
  • Si la variable se inicializa con un valor, éste corresponde al valor por defecto.
  • Después de llamar a la función Entrada, esta variable contiene la respuesta del usuario (independientemente del botón utilizado).
<Parameter 1>: Cadena de caracteres
Si la pregunta contiene elementos configurables (identificados por %1, %2, ...), este parámetro se utiliza para dar el valor deseado. Así, <Parámetro 1> reemplazará %1.
<Parameter N>: Cadena de caracteres
Si el mensaje seleccionado contiene elementos con parámetros (identificados por %1, %2, ...), este parámetro se utiliza para dar el valor deseado. Así, <Parámetro 2> reemplazará %2.

Sintaxis directa Ocultar los detalles

<Result> = Input(<Question> , <Variable to enter> , <Captions of buttons> [, <Default button> [, <Cancellation button> [, <Icon>]]])
<Result>: Entero
Identifica la respuesta seleccionada por el usuario. Esta respuesta depende del mensaje seleccionado.
<Question>: Cadena de caracteres
Pregunta formulada al usuario.
<Variable to enter>: Cualquier tipo
Variable en la que el usuario debe escribir la respuesta.
  • Esta variable debe haber sido declarada antes de llamar a la función Entrada.
  • El tipo de variable define el tipo de control en el que los usuarios introducen la respuesta. Para las variables Hora o Fecha, la máscara de entrada se deduce automáticamente de la variable.
    WINDEVAndroidiPhone/iPadJava Se puede especificar una máscara de entrada (especialmente para las variables de tipo Texto) con la variable InputMask (ver Notas).
  • Si la variable se inicializa con un valor, éste corresponde al valor por defecto.
  • Después de llamar a la función Entrada, esta variable contiene la respuesta del usuario (independientemente del botón utilizado).
<Captions of buttons>: Array
Nombre de la variable array que contiene los subtítulos de los botones.
<Default button>: Entero
Índice del botón seleccionado por defecto. El valor predeterminado de este parámetro es 1.
<Cancellation button>: Entero
Índice del botón de cancelación. Por defecto, este parámetro corresponde al índice del último botón.
<Icon>: Cadena de caracteres o constante de tipo Integer
Icono mostrado. Este parámetro puede corresponder a:
  • la ruta del archivo correspondiente al icono mostrado.
  • una de las siguientes constantes:
    dlgIconErrorIcono que representa un error.
    dlgIconInfoIcono que representa una información.
    dlgIconQuestion
    (Valor predeterminado)
    Icono que representa una pregunta.
Observaciones

Características del cuadro de diálogo y del control de edición Campo de entrada

  • El título del cuadro de diálogo corresponde al título de la ventana (o página) actual.
    AndroidiPhone/iPad Para cumplir con las especificaciones del sistema, el título del cuadro de diálogo está vacío. Para definir el título, utilice la función NextTitle.
  • Para modificar o definir el título del cuadro de diálogo, utilice la función NextTitle.
  • La plantilla del proyecto actual se aplica automáticamente al cuadro de diálogo.
    AndroidJava El tema de la plantilla de la aplicación no se aplica a la ventana de entrada.
  • WINDEVAndroidiPhone/iPadJava Para modificar las características del control Campo de entrada (por ejemplo, modificar la reemplazar los caracteres introducidos en el control por asteriscos), abra el asistente de edición de preguntas (ícono Entrada en la sintaxis de la función Entrada) y haga clic en el ícono Edición de los parámetros de Entrada.
WINDEVAndroidiPhone/iPadJava

Gestión de las máscaras de entrada

Por defecto, la máscara de entrada se define automáticamente a partir de la información del proyecto.
Sin embargo, puede modificar la máscara de entrada con la variable Input.InputMask.
Esta variable puede tomar uno de los siguientes valores:
maskAAlphaNumLetra, luego letras + números
maskAAlphaNumUpperLetra mayúscula, luego letras mayúsculas + números
maskAlphaLetras
maskAlphaNumLetras + números
maskAlphaNumUpperLetras en mayúsculas + números
maskAlphaUpperLetras en mayúsculas
maskEmailDirección de correo electrónico
maskFileNameNombre y ruta de archivo
maskFileNoFolderNombre del archivo (sin los directorios)
maskFileSizeMáscara numérica para tamaños de archivos y discos
maskFUpperEscriba cada palabra en mayúsculas
maskINSEENúmero INSEE
maskINSEEKeyINSEE número + tecla
maskLowerTodo en minúsculas
maskNoneSin máscara de entrada
maskNumDígitos
maskNumPlusDígitos, '+', ' ', '.', '-', ','
maskPatronymicLetras + Dígitos + Espacio + Apóstrofo + Guión
maskPatronymicUpperMayúsculas + Dígitos + Espacio + Cuota + Guión
maskPhoneNúmero de teléfono
maskPhoneFranceNúmero de teléfono en formato francés
maskUpperTodo en mayúsculas

También tiene la posibilidad de asignar una expresión regular como máscara de entrada. Para obtener más información, consulte la ayuda sobre la propiedad InputMask (Property).

Escribir texto multilínea

La entrada multilínea se permitirá en el control asociado si <Variable to Enter> se inicializa con una cadena de caracteres que contenga retornos de carro.

Entrada mediante una casilla de verificación

La entrada se realiza en una casilla de verificación si la variable es booleana. El título de la casilla de verificación está definido por la variable Input.OptionalCaption.

Base de datos de mensajes

Todos los mensajes nuevos se añaden automáticamente a la base de datos de mensajes.
Por defecto, la base de datos de mensajes se encuentra en el directorio "Personal\Message" de WINDEV, WEBDEV y WINDEV Mobile. Este directorio puede modificarse en las opciones de WINDEV/WEBDEV/WINDEV Mobile:
  • En la pestaña "Inicio", en el grupo "Entorno", despliegue "Opciones" y seleccione "Opciones generales de WINDEV/WEBDEV/WINDEV Mobile".
  • Muestra la pestaña "Directorio".
Para obtener más información, consulte asistente de edición de preguntas.
WEBDEV - Código ServidorAndroidiPhone/iPadJava

Limitaciones

  • AndroidJava El tema de la plantilla de la aplicación no se aplica a la ventana de entrada.
  • La variable a introducir no puede inicializarse con retornos de carro. El control de edición será un control de edición de una sola línea.
    iPhone/iPad No se puede utilizar el control Campo de entrada multilínea.
  • AndroidJava Si la variable es booleana, la entrada se realizará en un control de edición (y no en una casilla de verificación como en WINDEV).
  • AndroidJava La máscara de entrada no es compatible.
  • iPhone/iPad Esta función no debe utilizarse:
    • en el evento "Modificación del tamaño" de la ventana. De lo contrario, se bloqueará la aplicación.
    • en el evento "Cambio de orientación" de la ventana.
    • en el evento "Paso a primer plano" del proyecto.
      Nota: La función se puede utilizar en el evento "Paso a primer plano" de una ventana.
    • en un subproceso.
  • WEBDEV - Código Servidor Casos especiales:
    • Si el proyecto utiliza sesiones preiniciadas, esta función no debe utilizarse en el evento "Inicialización" del proyecto. Debe utilizarse en el evento "Inicialización en modo de sesión preiniciada".
    • Esta función no debe utilizarse en una tarea WEBDEV programada.

Ejemplo de entrada completa

  1. Escribir la pregunta en el editor:
    Escribir la pregunta
  2. Código generado automáticamente (sólo se ha introducido la variable "Destinatario" en el editor de código):
Destinataire is string
//1 : Créer une relance
//0 : Ne pas créer de relance
//1 : OK 
SWITCH Input("Vous devez indiquer un destinataire.", Destinataire)
	// Valider le destinataire
	CASE 1

	// Afficher la liste
	CASE 2

	// Annuler
	CASE 3

END
Android

Aplicación en segundo plano: Caso concreto de Android 10

A partir de Android 10, no se puede abrir una ventana si la aplicación está en segundo plano.
La función Entrada puede abrir una ventana. Si se utiliza esta función cuando la aplicación está en segundo plano, se producirá un error fatal.
Consejos:
  • Para saber si la aplicación está en segundo plano, utilice la función InBackgroundMode.
  • Si una aplicación necesita interactuar con el usuario cuando está en segundo plano, se puede mostrar una notificación (con el tipo Notification). La aplicación volverá al primer plano cuando se haga clic en la notificación, si la propiedad ActivateApplication se establece en True. También es posible abrir una ventana desde el procedimiento pasado a la propiedad ActionClick.
Para obtener más información, consulte Android 10: Comportamiento de las aplicaciones en segundo plano.
Clasificación Lógica de negocio / UI: Código UI
Componente: wd300obj.dll
Versión mínima requerida
  • Versión 10
Esta página también está disponible para…
Comentarios
Video Input Webdev
https://youtu.be/omAQf0idVeA

https://windevdesenvolvimento.blogspot.com/2019/07/dicas-2201-windev-webdev-mobile-dicas.html
//
DIGITE_EMAIL IS STRING=""
INPUT("DIGITE EMAIL:",DIGITE_EMAIL)
amarildo
16 07 2019
Examples
IF RADIO_T007_TIPO_TELEFONE = "C" THEN
EDT_T007_TELEFONE..InputMask = "(99)99999-9999"
EDT_T007_TELEFONE..Caption = "Celular"
END

IF RADIO_T007_TIPO_TELEFONE = "R" OR RADIO_T007_TIPO_TELEFONE = "B" THEN
EDT_T007_TELEFONE..InputMask = "(99)9999-9999"
EDT_T007_TELEFONE..Caption = "Residencial"
END

IF RADIO_T007_TIPO_TELEFONE = "B" THEN
EDT_T007_TELEFONE..InputMask = "(99)9999-9999"
EDT_T007_TELEFONE..Caption = "Comercial"
END
BOLLER
02 04 2019
Exemplo Mascara Input
Input.InputMask=empresa_parametro.casas_mascara_quantidade

Input("Digite Quantidade:",_quantidade_nota)

// Blog com video e Exemplo

http://windevdesenvolvimento.blogspot.com.br/2018/01/aula-1357-de-1631-videos-windev-dicas.html

https://www.youtube.com/watch?v=KDnpqox7gu0

De matos
15 01 2018
Exemplo Input
Exemplo Input

n_numero_copias is int
Input("Quantas Copias",n_numero_copias)
s_telefone is string=""
Input.InputMask=maskPhone
Input("Telefone",s_telefone)
s_observacao is string=""
s_observacao=RepeatString(CR,10)
Input.InputMask="regexp:.{0,140}"
Input("Observacao",s_observacao)
b_pergunta is boolean=False
Input.OptionalCaption="Deseja Gravar"
Input("pergunta",b_pergunta)

//blog com Video e exemplo
http://windevdesenvolvimento.blogspot.com.br/2016/07/curso-windev-funcoes-dialogo-6-input.html
https://www.youtube.com/watch?v=FQisG32jR74
De matos AMARILDO
14 07 2016

Última modificación: 08/10/2025

Señalar un error o enviar una sugerencia | Ayuda local