Pasteboard data size

4D - Documentation   Français   English   German   Español   English   4D v11 SQL, Comandos por temas   4D v11 SQL, Lista alfabética de comandos   4D v11 SQL, Constantes por temas   Regresar   Anterior   Siguiente

versión 11 (Modificado)


Pasteboard data size (tipoDatos) Numérico

ParámetroTipoDescripción
tipoDatosAlfaTipo de datos (4 caracteres)
ResultadoNuméricoTamaño (en bytes) de datos almacenados en el
portapapeles o código de error

Descripción

El comando Pasteboard data size le permite probar si hay datos del tipo tipoDatos en el portapapeles.

Nota: En el caso de las operaciones copiar/pegar, el contenedor de datos corresponde al Portapapeles

Si el portapapeles está vacío o no contiene datos de tipo especifico, el comando devuelve un error -102 (ver la tabla de constantes predefinidas). Si el portapapeles contiene datos del tipo especificado, el comando devuelve el tamaño en bytes de estos datos.

Pase en datostipo un valor que defina el tipo de datos a extraer. Puede pasar una firma 4D, un tipo UTI (Mac OS), un nombre/número de formato (Windows), o un tipo de 4 caracteres (compatibilidad). Para mayor información sobre estos tipos, consulte la sección Gestión de portapapeles.

Después de verificar que el portapapeles contiene datos del tipo que usted quiere, puede extraer esa información del portapapeles utilizando uno de los siguientes comandos:

Si el portapapeles contiene datos de tipo TEXT, usted puede obtener esa información utilizando el comando Get text from pasteboard, el cual devuelve un valor texto, o el comando GET PASTEBOARD DATA, que devuelve el texto en un BLOB.

Si el portapapeles contiene datos de tipo PICT, puede obtener esos datos utilizando el comando GET PICTURE FROM PASTEBOARD, que devuelve la imagen en un campo o una variable o el comando GET PASTEBOARD DATA, que devuelve la imagen en un BLOB.

Si el contenedor contiene una ruta de acceso al archivo, puede extraerla utilizando el comando pasteboard, que devuelve la ruta de acceso del archivo.

Para cualquier otro tipo de datos, utilice el comando GET PASTEBOARD DATA, el cual devuelve los datos en un BLOB.

Ejemplos

1. El siguiente código prueba si el portapapeles contiene una imagen y si es así, copia la imagen en una variable 4D:

   If (Pasteboard data size (Picture data) > 0)  ` ¿Hay una imagen en el portapapeles?
      GET PICTURE FROM PASTEBOARD ($vPicVariable)  ` Si es así, extraer la imagen del portapapeles
   Else
      ALERT("No hay imagen en el portapapeles.")
   End if

2. Generalmente, las aplicaciones cortan y copian datos de tipo TEXT o PICT en el portapapeles, porque la mayoría de las aplicaciones reconocen estos dos tipos de datos estándar. Sin embargo, una aplicación puede colocar en el portapapeles varias instancias de los mismos datos en formatos diferentes. Por ejemplo, cada vez que corta o copia parte de una hoja de cálculo, la aplicación de la hoja de cálculo puede colocar los datos en un formato hipotético 'SPSH', como también en los formatos SYLK y TEXT. La instancia 'SPSH' contiene los datos estructurados en el formato utilizado por la aplicación. La copia SYLK contiene los mismos datos, pero en el formato SYLK, reconocido por la mayoría de los otros programas de hojas de cálculo. Por último, el formato TEXT contiene los mismos datos, sin la información extra incluída en el formato SYLK o en el formato hipotético 'SPSH'. En este punto, cuando escriba rutinas de Cortar/Copiar/Pegar entre 4D y una aplicación de hoja de cálculo hipotética, asumiendo que conoce la descripción del formato 'SPSH' y que está listo para analizar los datos SYLK, puede escribir el siguiente código:

   Case of
         ` Primero, verificar si el portapapeles contiene los datos de la aplicación de la hoja de cálculo hipotética. 
      : (Pasteboard data size ('SPSH') > 0)
         ` ...
         ` Segundo, verificar si el portapapeles contiene datos en formato Sylk 
      : (Pasteboard data size ('SYLK') > 0)
         ` ...
         ` Por último, verificar si el portapapeles contiene datos en formato Text 
      : (Pasteboard data size ('TEXT') > 0)
         ` ...
   End case

En otras palabras, usted trata de extraer del portapapeles la instancia de datos que tenga más información original.

3. Ver el ejemplo del comando APPEND DATA TO PASTEBOARD.

Ver también

GET PASTEBOARD DATA, GET PICTURE FROM PASTEBOARD, Get text from pasteboard.


4D - Documentation   Français   English   German   Español   English   4D v11 SQL, Comandos por temas   4D v11 SQL, Lista alfabética de comandos   4D v11 SQL, Constantes por temas   Regresar   Anterior   Siguiente