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 / Gestión de lenguajes externos / Funciones Objeto
  • Recuperar las variables
  • Control Campo de entrada
  • Control Estático
  • Casilla de verificación
  • Botón de opción
  • Botón de texto
  • Botón gráfico
  • Gráfico Image y área de clicks
  • barra de desplazamiento
  • Lista desplegable o lista ampliada
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Recupera el valor en un control o en un Variable. Los caracteres espaciales que se encuentran al final de WdString son borrados por Default.
Sintaxis
Screen,Get([<Name of the window>, ] <Name> [, <Index 1> [, <Index 2>]])
<Name of the window>: Cadena de caracteres (opcional)
Se utiliza para mostrar el contenido de una control o Variable en la ventana que no es la ventana actual (por ejemplo, para el NOMBRE control que se encuentra en la ventana CU_FIL, debe especificar CU_FIL.NAME).
<Name>: Cadena de caracteres
Nombre del control o nombre de la Variable.
<Index 1>: Cadena de caracteres (opcional)
Subíndice para un control con subíndice o para una Variable con subíndice .
<Index 2>: Cadena de caracteres (opcional)
Subíndice para una Variable bidimensional con subíndice .
Observaciones

Recuperar las variables

El WINDEV Variable que contiene el valor del Variable difiere según el tipo de Variable a recuperar:
  • Si la Variable es un número entero, WdInt (para un número entero simple) o WdLong (para un número entero largo) contiene el valor entero de la Variable.
  • Si el Variable es un real, WdReal (para el real simple) o WdRealD (para el real doble) contiene el valor real del Variable.
  • Si el Variable es una cadena o una moneda, WdSting contiene el valor del Variable.
Para un texto Variable de más de 200 caracteres, el contenido del control se puede ver según dos métodos:
  • WdString contiene los primeros 200 caracteres.
  • el puntero WDpLongText apunta a la zona de memoria para la recuperación de texto; WdInt indica la longitud de la cadena (sólo en C y en Pascal).
Para un texto largo, basta con comprobar si el valor del puntero es distinto de "Null"; en este caso, el puntero contiene la cadena que hay que recuperar.
En VB, no se puede recuperar ningún texto largo directamente.
En los otros idiomas (Cobol, Fortran), WDpLongText será un texto Variable que puede contener 4000 caracteres.
Atención: No se debe realizar ninguna operación (reasignación, ...) en este puntero.
Importante: En C, para utilizar WDpLongText, el programa debe compilarse con la opción "unsigned characters".
Ejemplo en C:
// Retrieves the content of the Price variable
CALLWD("Screen,Get,PRICE");
Amount=WDReal*Quantity;
// Retrieves the content of the subscripted variable PRODCAP[1]
CALLWD("Screen,Get,PRODCAP,1");
strcpy(Caption,WDString);
// Retrieves the content of the Name variable
CALLWD("Screen,Get,NAME");
strcpy(Name,WDString);
Ejemplo en Pascal:
* Retrieves the content of the Price variable*)
CALLWD('Screen,Get,PRICE');
Amount=WDReal*Quantity;
(*Retrieves the content of the indexed variable PRODCAP[1]*)
CALLWD('Screen,Get,PRODCAP,1');
Caption:=WDString;
(* Retrieves the content of the Name variable*)
CALLWD('Screen,Get,NAME');
Name:=WDString;
Ejemplo en VB:
' Retrieves the content of the Price variable
call CALLWD("Screen,Get,PRICE")
Amount=WDReal*Quantity
' Retrieves the content of the indexed variable PRODCAP[1]
call CALLWD("Screen,Get,PRODCAP,1")
Caption=WDString
' Retrieves the content of the Name variable
call CALLWD("Screen,Get,NAME")

Control Campo de entrada

El WINDEV Variable que contiene el valor de control difiere según el tipo de control a recuperar:
  • Si el control es un entero, WdInt (para enteros simples) o WdLong (para enteros largos) contiene el valor entero del control.
  • Si el control es un real, WdReal (para el real simple) o WdRealD (para el real doble) contiene el valor real del control (una de las variables según la máscara de entrada definida).
  • Si el control es una cadena de texto/fecha/hora, WdString contiene el valor de texto del control.
Para un texto control, el contenido del control se puede ver según dos métodos:
  • por WdString si el control contiene hasta 200 caracteres
  • a través del puntero WDpLongText que apunta hacia el área de memoria para la recuperación del texto y WdInt que indica la longitud de la cadena (en C y en Pascal solamente). Si el valor del puntero es distinto de "Null", el puntero contiene la cadena a recuperar.
En VB, no se puede recuperar ningún texto largo directamente.
En los otros idiomas (Cobol, Fortran), WDpLongText será un texto Variable que puede contener 4000 caracteres.
Atención: No se debe realizar ninguna operación (reasignación, ...) en este puntero.
En C, para utilizar WDpLongText, el programa debe compilarse con la opción "unsigned characters" (caracteres sin signo).
Ejemplo en C:
CALLWD("Screen,Get,PRICE"); // Retrieves the price
Amount=WDReal*Quantity;
CALLWD("Screen,Get,PRODCAP,1"); // Retrieves the indexed control 1
strcpy(Caption,WDString);
CALLWD("Screen,Get,NAME"); // Retrieves the name
strcpy(Name,WDString);

Método utilizado para recuperar un texto largo:
// pszControlName: Name of the control to retrieve
// pszValue: Character string containing the result
// nLng  Maximum length of the result string without
//    counting the binary zero
//in output: pszValue     Contains the result

void GetLong(char far *pszControlName,char far *pszValue,int nLng)
{
char far *pszSource;
CALLWD("SCREEN,GET%Fs",pszControlName);
if (WDpLongText!=NULL) pszSource=WDpLongText;
else pszSource=WDString;
// pszSource may exceed nLng
_fstrncpy(pszValue,pszSource,nLng);
// strncpy does not include the binary zero if
// the length of the source string is strictly equal to nLng characters
pszValue[nLng]=0;
}
Ejemplo en Pascal:
CALLWD('Screen,Get,PRICE'); (*Retrieves the price*)
Amount=WDReal*Quantity;
CALLWD('Screen,Get,PRODCAP,1'); (*Retrieves the indexed static 1*)
Caption:=WDString;
CALLWD('Screen,Get,NAME'); (*Retrieves the NAME*)
Name:=WDString;
CALLWD('Screen,Get,LONGTEXT);  (*Retrieves the LONGTEXT control*)
move(lgtxt,wdplongtext,WdInt);
Ejemplo en VB:
call CALLWD("Screen,Get,PRICE") 'Retrieves the price
Amount=WDReal*Quantity;
call CALLWD("Screen,Get,PRODCAP,1") 'Retrieves the Static control
Caption=WDString
call CALLWD("Screen,Get,NAME") 'Retrieves the name
Name=WdString

Control Estático

WdString contiene la estática mostrada.

Ejemplo en C:
CALLWD("Screen,Get,STC");
strcpy(Caption,WDString);
Ejemplo en Pascal:
CALLWD('Screen,Get,STC');
Caption:=WDString;
Ejemplo en VB:
call CALLWD("Screen,Get,STC")
Caption=WDString

Casilla de verificación

Si la casilla de verificación está marcada para la índice dada , WdString contiene "O" y WdInt es igual a 1.
Si la casilla de verificación no está marcada para la índice dada , WdString contiene "N" y WdInt es igual a 0.
Ejemplo en C:
CALLWD("Screen,Get,CHECKBOX");
if (WDInt==1)...
Ejemplo en Pascal:
CALLWD('Screen,Get,CHECKBOX');
if (WDInt=1)...
Ejemplo en VB:
call CALLWD("Screen,Get,CHECKBOX")
if WDInt=1...

Botón de opción

WdInt contiene el rango de la opción actual
Ejemplo en C:
CALLWD("Screen,Get,RADIOBBUTTON");
if (WDInt==2)...
Ejemplo en Pascal:
CALLWD('Screen,Get,RADIOBUTTON');
if (WDInt=2)...
Ejemplo en VB:
call CALLWD("Screen,Get,RADIOBUTTON")
if (WDInt=2)...

Botón de texto

WdString contiene la leyenda del botón.
Ejemplo en C:
CALLWD("Screen,Get,Image1");  
strcpy(Caption,WDString);
Ejemplo en Pascal:
CALLWD('Screen,Get,Image2');  
Caption:=WDString;
Ejemplo en VB:
call CALLWD("Screen,Get,Image3")
Caption=WDString

Botón gráfico

WdString contiene el nombre del archivo Image que se muestra en el botón.
Ejemplo en C:
CALLWD("Screen,Get,Image1");  
strcpy(ImageFile,WDString);
Ejemplo en Pascal:
CALLWD('Screen,Get,Image2');  
ImageFile:=WdString;
Ejemplo en VB:
call CALLWD("Screen,Get,Image3")
ImageFile=WdString

Gráfico Image y área de clicks

puede ser el nombre del fichero Image a visualizar:
Ejemplo en C:
CALLWD("Screen,Get,Image1");
strcpy(ImageFile,WDString);
Ejemplo en Pascal:
CALLWD('Screen,Get,Image2');
ImageFile:=WdString;
Ejemplo en VB:
call CALLWD("Screen,Get,Image3")
ImageFile=WdString

barra de desplazamiento

WdInt contiene la posición de la barra de desplazamiento:
Ejemplo en C:
CALLWD("Screen,Get,SCROLLBAR");
Ejemplo en Pascal:
CALLWD('Screen,Get,SCROLLBAR');
Ejemplo en VB:
call CALLWD("Screen,Coordinate,SCROLLBAR")

Lista desplegable o lista ampliada

Si se especifica índice, el valor de texto del elemento se devuelve en WdString.
Si no se especifica índice, WdInt contiene el índice del elemento seleccionado (sin significado para los combo boxes editables) y WdString contiene el valor del elemento seleccionado.
En los cuadros de lista de selección múltiple, sólo se recuperará el primer elemento seleccionado.
Para los cuadros de lista, véase Lista, get.
Para los cuadros, véase Mesa, get.
Ejemplo en C:
CALLWD("Screen,Get,LIST1,2");
strcpy(elem,WDString)
Ejemplo en Pascal:
CALLWD('Screen,Get,LIST1,2');  
Elem:=WdString;
Ejemplo en VB:
call CALLWD("Screen,Get,LIST1,2")
Elem=WdString
Versión mínima requerida
  • Versión 14
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 07/04/2023

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