4D Doc Center : Funcionalidades obsoletas y eliminadas

Anuncio
Funcionalidades obsoletas y eliminadas
Rev. October 2014
Sobre este manual
Durante más de 25 años, nuestro principal objetivo ha sido mejorar nuestro producto (utilización de nuevos conceptos y
tecnologías) asegurando la compatibilidad de las aplicaciones 4D. Como los pioneros de 4D saben, siempre hemos puesto
mucho esfuerzo en la compatibilidad y podemos encontrar aplicaciones 4D en todo el mundo que se crearon hace muchos años,
con antiguas versiones de 4D y sistema operativo, que aún están trabajando con las últimas revisiones del producto.
Desafortunadamente, a veces se vuelve demasiado difícil combinar antiguas tecnologías con las nuevas:
4D debe traer nuevas tecnologías, nuevas APIs y nuevos paradigmas a los desarrolladores.
Los sistemas operativos cambian todos los días y a veces se vuelven obsoletas sus propias APIs antiguas
Es por esto que a veces 4D necesita etiquetar algunos comandos y funcionalidades como obsoletos, lo que significa que un día,
serán eliminados del lenguaje en una versión principal futura.
Informar a los desarrolladores lo que es obsoleto y qué tipo de reemplazo se puede utilizar en su lugar hace que sea mucho más
cómodo para ellos implementar el cambio en su código: no hay urgencia, no hay presión y el desarrollador tiene mucho tiempo
para hacer los cambios necesarios.
Comenzamos cubriendo todas las funciones obsoletas, dando detalles acerca de cada una, seguido de una lista de comandos en
desuso. También ofrecemos una tabla de resumen.
Cambios en 4D v14
Quick table
Previous documents
Cambios en 4D v14
Comandos obsoletos XSLT
El lenguaje XSLT transforma los datos XML a cualquier formato (XML, HTML, o cualquier otro tipo). Los principales navegadores
web, así como también el software 4D han implementado la especificación XSLT 1.0.
Actualmente, la tendencia XSLT está en declive porque los desarrolladores consideran que es difícil de usar y de
depurar. Siguiendo esta tendencia, así como también los comentarios de los desarrolladores, hemos decidido que la
funcionalidad de transformación XSL no será desarrollada para versiones 4D de 64 bits.
Nota: para visualizar las tendencias de búsqueda XSLT en Google: #command_3
Sin embargo, para soportar a nuestros clientes que siguen utilizando XSLT en 4D, elegimos confiar en la librería XSL PHP, que
ofrece una completa API que le permite realizar todas las operaciones necesarias para sus transformaciones XSL. Esta librería es
una herramienta eficaz que puede sustituir fácilmente los comandos _o_XSLT APPLY TRANSFORMATION, _o_XSLT SET
PARAMETER y _o_XSLT GET ERROR después de su eliminación. 4D ha producido un documento específico para ayudarle a
utilizar PHP XSL como un reemplazo para los comandos XSLT de 4D: Descarga XSLT con el documento técnico PHP (PDF).
También le sugerimos que considere el uso de etiquetas 4D cuando se trata de la generación dinámica de páginas HTML, ya que
en la mayoría de los casos es más fácil si maneja código HTML como texto sin formato (ver también el comando PROCESS 4D
TAGS).
Por compatibilidad, las transformaciones XSL se siguen soportando en 4D, pero su uso no se recomienda. El soporte del
procesamiento XSLT se eliminará en futuras versiones de 4D.
Nota 4D Server 64 bits OS X: XSLT no está disponible con 4D Server 64 bits para OS X. Por lo tanto, al llamar uno de estos
comandos desde esta aplicación generará un error 33 "Comando o función no implementado".
Imágenes en formato PICT
El formato PICT no se soportará en los próximos grandes lanzamientos de 4D y ya no debe utilizarlo en 4D v14. La función AP Is
Picture Deprecated, ofrecida a través de 4D Pack a partir de la versión 13.2, tiene la intención de ayudarle a migrar sus
aplicaciones.
Nota: el formato "PICT" Mac ya ha sido desaprobado por Apple desde varias versiones anteriores de Mac OS (consulte la
descripción del formato PICT en Wikipedia).
El formato 'PICT' es un formato muy antiguo Mac. Antes de la versión 11, 4D almacenaba todas las imágenes en este formato,
incluso en Windows. El formato PICT es obsoleto desde que QuickDraw se declaró obsoleto en 2005.
Hay algo importante de entender sobre PICT. Puede almacenar ("encapsular") 2 tipos principales de información:
el dibujos en sí (ya sea mapa de bits o vectorial), o
un formato más moderno (JPEG, por ejemplo) almacenado en un PICT utilizando QuickTime. (Por lo general, el
desarrollador estaba llamando COMPRESS PICTURE con la constante QT Photo compressor).
Esto significa que incluso antes cuando todas las imágenes almacenadas en los archivos de datos eran PICT, esos PICT podían,
de hecho, contener los archivos JPEG (u otros formatos). Es importante que nuestros clientes dejen de usar PICT, no sólo porque
está obsoleto, sino también porque 4D necesita Altura (+ QuickTime si se utilizó COMPRESS PICTURE) para leer PICT en
Windows. Esto no es eficiente, y requiere que QuickTime este instalado.
Al migrar datos de versiones anteriores a la v11, los desarrolladores deben aplicar el comando CONVERT PICTURE para cada
campo imagen de los datos. Al convertir los datos de las versiones más recientes, se recomienda utilizar la función para encontrar
imágenes que necesitan ser convertidas.
QuickTime
El soporte para los codecs de imágenes relacionados con QuickTime ya es obsoleto.
Por defecto, el uso de QuickTime está deshabilitado en 4D v14. Sin embargo, por razones de compatibilidad, se puede habilitar
su uso utilizando la nueva opción de soporte QuickTime de los comandos SET DATABASE PARAMETER y Get database
parameter .
Formatos de imagen QuickTime bajo Windows
Durante varios años, el manejo de imágenes bajo la versión Windows de QuickTime no ha evolucionado (sólo la parte de vídeo
está evolucionando). Tenemos la intención de eliminar el soporte para estas APIs específicas en la próxima versión.
4D para Windows de forma nativa soporta todos los principales formatos (JPEG, PNG, GIF, TIFF, etc.), y también soporta WIC
(Windows Imaging Component). Si, en sus datos, usted tiene algunas imágenes guardadas en Windows en un formato específico
conocido sólo por QuickTime, puede convertirlos (CONVERT PICTURE).
También le recordamos que el soporte para los formatos de imagen de QuickTime se ha eliminado de la versión de 64 bits de 4D
Server para Windows como de 4D v12.
Asignación dinámica de variables recibidas por medio de HTTP
En las versiones anteriores de 4D, el servidor web recopiaba automáticamente el valor de las variables enviadas a través de un
formulario web o una URL en las variables 4D cuando tenían el mismo nombre.
Por razones de optimización y control, este principio no se mantiene a partir de 4D v14: el valor de las variables Web ya no se
asigna automáticamente a las variables 4D. Para recuperar las variables enviadas utilizando un POST o un GET, debe utilizar el
comando WEB GET VARIABLES exclusivamente. Para recuperar las imágenes enviadas, debe utilizar los comandos WEB GET
BODY PART/WEB Get body part count.
Nota: la asignación dinámica también está desactivada por defecto en las bases de datos 4D creadas a partir de la versión 13.4.
Sin embargo, por compatibilidad, este mecanismo se mantiene por defecto en las bases de datos creadas con una versión de 4D
anterior a la 13.4. En este caso, se puede desactivar el uso de la opción de compatibilidad de asignación de variable automática
en la página Compatibilidad de las Propiedades de la base.
Dado que este mecanismo es obsoleto, se recomienda desmarcar esta opción en sus bases de datos convertidas (y adaptar su
código si es necesario) con el fin de facilitar futuras evoluciones.
Números de fuente
El uso de números de identificación QuickDraw para designar fuentes es obsoleto y no debe ser utilizarse más. Los comandos
Font name y Font number se conservan en 4D v14 por compatibilidad, pero se eliminarán en versiones posteriores. El comando
OBJECT SET FONT ahora sólo acepta nombres de fuentes.
Suspensión de 4D Chart
El plug-in 4D Chart ya no se ofrece en la versión 14 y su desarrollo y mantenimiento se han suspendido de forma permanente. Los
comandos 4D en el tema "Gráficos" sólo funcionan con la sintaxis SVG y el comando GRAPH TABLE se ha eliminado.
Barra de herramientas en modo Aplicación
La barra de herramientas automática que estaba disponible al cambiar al modo Aplicación se ha eliminado y la opción "Barra de
herramientas de visualización" desaparece de la página Interfaz de las Propiedades de la base.
A partir de 4D v14 R5, la creación de barras de herramientas personalizadas es facilitada por la nueva constante Toolbar form
window, utilizada con el comando Open form window. También puede utilizar los comandos SHOW TOOL BAR, HIDE TOOL
BAR y Tool bar height en este contexto.
Cordial spell check
Los diccionarios Cordial ya no se soportan en 4D v14. Sólo los diccionarios Hunspell (así como también el diccionario nativo bajo
OS X) pueden utilizarse.
Windows en modo no-composite (OS X)
El modo composite ahora se utiliza sistemáticamente para todas las ventanas creadas por 4D v14 en OS X.
En las versiones anteriores de 4D, era posible crear ventanas usando un antiguo modo de gestión interna (basado en QuickDraw).
Este modo se abandonó.
Gracias al modo composite, las ventanas 4D tienen un nuevo comportamiento y funciones en OS X:
animación cuando se redimensionan ventanas
las ventanas se puede redimensionar utilizando cualquier papel y ya no es una caja de redimensionamiento en la parte
inferior derecha de las ventanas
la compatibilidad con el modo de pantalla HiDPI (o modo "Retina")
el modo "pantalla completa" con ocultación automática de la barra de menú principal (a partir de OS X 10.7)
soporte para el comando DISPLAY NOTIFICATION bajo OS X (a partir de OS X 10.8).
Nota: los plug-ins que requieren QuickDraw deben adaptarse para que sean compatibles con el modo de composite. Para
garantizar la compatibilidad con los plug-ins que aún requieren QuickDraw, se implementó una capa de emulación. Para obtener
más información, contacte al soporte técnico de 4D.
Atajo Opción+F (OS X)
El atajo Opción+F, que le permite "forzar" el cambio de la Aplicación a modo Diseño en OS X, se elimina en 4D v14. Es decisión
del desarrollador agregar un comando de menú asociado a la acción estándar "Volver a modo Diseño" y un acceso directo
personalizado con el fin de gestionar esta operación.
Tenga en cuenta que el atajo Opción+Mayús+clic derecho aún se puede seguir utilizando para acceder al menú de depuración.
Transacciones automáticas opción de compatibilidad
Esta anterior opción de compatibilidad ya no se soporta en las versiones recientes de 4D y se ha eliminado de la página
"Compatibilidad" de las Propiedades de la base en 4D 14.
Altura Mac2Win
Altura Mac2Win se utilizó para llevar 4D a Windows. Es un conjunto de APIs que ayudaron a llevar código Mac OS (pre OS X) a
Windows, mediante la traducción de las APIs: filesystem, QuickDraw, Resources, PICT, etc. Fue muy útil y ayudó mucho (los
desarrolladores Mac plug-in, por ejemplo, podían mover sus plug-ins a Windows más fácilmente), pero traduce APIs Mac OS
antiguas ("obsoleto") y no utiliza la API de Windows nativo moderno: 4D debe eliminar Mac2Win de su código lo más posible.
Esto es un trabajo largo y duro y en cada versión de 4D, algunas dependencias se eliminan (y sustituyen por APIs modernas).
En este momento, 4D todavía depende en parte, sobre todo para poder manejar la compatibilidad de antiguas bases de datos:
Recursos, PICT, parte de la gestión de los eventos de usuario, soporte para los plug-ins de terceros que están integrados
utilizando Altura, etc.
Mediante la eliminación de recursos en el archivo .RSR para separar los archivos en la carpeta "Recursos" y mediante la
conversión (CONVERT PICTURE) a no-PICT, el desarrollador 4D estará listo una vez 4D ha eliminado Altura. Pero las primeras
personas preocupadas por este gran paso son los desarrolladores del plug-in. Ellos deben dejar de usar Altura tan pronto como
sea posible, lo que significa que tienen que reescribir algunas partes de su código fuente Windows. (Ya les habíamos advertido
desde hace varios años.
Subtablas
En varias versiones principales, 4D ha advertido a los desarrolladores en contra del uso de las subtablas. Desde 4D v11, es
imposible crear un campo del tipo subtabla. Los subregistros tienen algunas limitaciones conocidas. Por ejemplo, siempre se
cargan en memoria; no se manejan por los comandos SEND RECORD o DUPLICATE RECORD.
No tenemos planes de eliminar el soporte para las subtablas en un futuro próximo, pero es realmente el momento de que los
desarrolladores conviertan sus subtablas a tablas N-> regulares porque tenemos la intención de eliminarlas en una futura versión
principal de 4D. Los desarrolladores que utilizan subtablas por razones de rendimiento (algunas situaciones específicas en las
que la carga de los registros relacionados de era lenta) pueden estar tranquilos, especialmente con v12: utilizar las relaciones N <> 1 clásicas es muy rápido.
Básicamente, hay dos formas principales para eliminar subtablas (nota: lo siguiente no es una tecnología completa de punta; sólo
una visión general rápida):
Antes de la conversión de una estructura pre-v11: en 2004, crear la tabla N apropiada y el campo ID en la tabla 1 (si no está
ya allí). Luego, cambie el código en todas las partes es necesario (ver más adelante).
Después de la conversión: en esta situación, 4D ha reemplazado la subtabla con una tabla N usando una relación especial,
que permite que el lenguaje para trabajar con la subselección y los subregistros. El desarrollador 4D necesita eliminar esta
relación especial, sustituirla por una relación normal y cambiar el código por todas partes si es necesario (ver más adelante).
Lo que queremos decir con "cambiar el código por todas partes si es necesario" es, básicamente:
Crear los nuevos formularios, actualizar los formularios incluidos
En los métodos (proyecto, formulario, objeto, etc.):
Remplace todos los comandos del tema "Subregistros" con el comando Selection o Record correspondiente (por
ejemplo, reemplazar CREATE SUBRECORD con CREATE RECORD, llenando los campos ID)
Explícitamente cargar los registros N cuando sea necesario
Note: a partir de 4D v14 R3, puede asignar valores a los campos "id_added_by_converter" especiales que se agregan
automáticamente por 4D cuando convierte una base de datos que contiene subtablas. Esto le permite mantener el enlace
"relación subtabla", y agregar o modificar registros relacionados, sin necesidad de usar comandos en desuso tales como
CREATE SUBRECORD. Una vez que haya actualizado sus métodos, estas relaciones especiales pueden ser sustituidas por
otros estándares con ningún cambio en su código.
Modo No Unicode
El soporte al modo ASCII (sinónimo de "modo no Unicode") conduce a un bajo rendimiento en la manipulación de texto, ya que se
debe convertir desde y hacia Mac-roman cada vez que se utiliza en la estructura legacy-converted. Planeamos eliminar el modo
ASCII en futuras versiones principales.
Note que el soporte para el modo ASCII ya se retiró para estructuras compiladas que se ejecuten bajo 4D Server 64 bits para
Windows.
Los desarrolladores 4D deben, para estructuras convertidas, activar el modo Unicode. La documento PDF Conversión a 4D v14
da pistas sobre este tema.
También note que el soporte el modo ASCII no está disponible en la versión 4D Server 64 bits para OS X.
Recursos Mac
Esta es otra antigua tecnología Mac OS, en desuso desde Mac OS X 10.4 (Tiger, 2005). Los recursos se utilizan para almacenar
datos estructurados, como texto y cadenas (localización), así como también iconos, etc. Básicamente, podemos decir que no son
los recursos los que están en desuso, es su soporte en disco, conocido como el resource fork. El resource fork es parte del
sistema de archivos de Mac OS y desde el inicio de Mac OS X, Apple ha tratado de eliminar este soporte, ya que no es
compatible con otros sistemas de archivos (Unix, Windows), y es la fuente de una gran cantidad de problemas cuando los archivos
se transfieren a través de la red.
En Windows, este mecanismo se emula y y los recursos Mac residen en un archivo .RSR.
Pero aún así, incluso si aún hay APIs para manejar los recursos (y Mac OS maneja de forma transparente los recursos
almacenados en un data fork), ya no se recomienda utilizar este viejo mecanismo por varias razones:
Los textos y las cadenas son Mac-roman. No se puede almacenar Unicode en recursos de tipo TEXT o STR #
Los recursos PICT almacenan PICTs: no es moderno, obsoleto, sin transparencia, etc. (Consulte el tema "PICT" arriba.)
El conteo de los recursos y el tamaño de los recursos son limitados (unos 2.700 recursos o 16 MB)
Hemos eliminado soporte para comandos de escritura/creación de recursos
La gran mayoría de las aplicaciones 4D que utilizan recursos están, de hecho, utilizando recursos "Strings List", 'STR#'. 4D ofrece
las herramientas para cambiar fácilmente del STR # a XLIFF:
El componente 4D Pop puede crear automáticamente los archivos XLIFF mediante la lectura y transferir el contenido de la
STR #.
Todas las rutinas y las expresiones que hacen referencia a trabajo STR# sin cambio con XLIFF. Por ejemplo, si la etiqueta
de un botón o un menú era ":15000,3" (que significa "conseguir el tercer elemento de STR# ID 15000"), 4D cargará el XLIFF
apropiado (si existe).
Para otros tipos de recursos:
Poner los recursos en archivos separados dentro de la carpeta Resources (crear subdirectorios si es necesario):
Guardar recursos 'TEXT' en archivos XLIFF o .txt
Guardar recursos 'PICT' como archivos .jpg/.png/etc. separado
Guardar recursos 'PICT' + MASK’ como archivos png
Utilizar (en Mac) icns en lugar de ICON o iconos de colores
Guardar todos los recursos privados como sea apropiado para usted (normalmente: guardar como un archivo binario
con una extensión específica)
Utilice la carpeta "Recursos" para almacenar sus recursos. Utilice Get 4D folder (carpeta de recursos actuales) para obtener
dinámicamente la ruta padre para sus recursos.
API QuickDraw
Hay dos tipos de plug-ins: los que utilizan el nuevo plug-in API y los que siguen utilizando el viejo (con QuickDraw). Para los plugins que utilizan la vieja caja de herramientas (con QuickDraw): para mantener la compatibilidad, el dibujo/renderización ya no se
realiza directamente en un puerto QuickDraw, como en las versiones anteriores, pero en su lugar a través de un área GWorld
QuickDraw offscreen dedicada al plugin.
En consecuencia, hay que respetar algunas reglas, como los plug-ins no deben modificar el puerto actual definido por el
contenedor (objeto formulario).
Para los plug-ins que utilizan la nueva caja de herramientas: sólo se utiliza esta nueva caja de herramientas y no QuickDraw: (ver
http://sources.4d.com/trac/4d_4dpluginapi/wiki/native_drawing)
Lenguaje: comandos obsoletos o eliminados
Remplazado con
Obsoleto Estado
desde
actual
-
v11
v11
Obsoleto
Obsoleto
ARRAY TEXT
(uso de SVG con el comando GRAPH)
C_LONGINT
C_TEXT (siempre que la base esté en Unicode)
v12
v12
v12
v12
Obsoleto
Obsoleto
Obsoleto
Obsoleto
ADD RECORD en la tabla n de una relación N->1
Form event y On data change
MODIFY RECORD en la tabla n de una relación N->1
v12
v12
v12
Obsoleto
Obsoleto
Obsoleto
Remplazar con Form event y el evento apropiado
Remplazar con Form event y el evento apropiado
Remplazar con Form event y el evento apropiado
Remplazar con Form event y el evento apropiado
Remplazar con Form event y el evento apropiado
Remplazar con Form event y el evento apropiado
Remplazar con Form event y el evento apropiado
Remplazar con Form event y el evento apropiado
Remplazar con Form event y el evento apropiado
v12
v12
v12
v12
v12
v12
v12
v12
v12
Obsoleto
Obsoleto
Obsoleto
Obsoleto
Obsoleto
Obsoleto
Obsoleto
Obsoleto
Obsoleto
GRAPH (utilizando 4D Graph
Area)
Utilice SVG picture en su lugar
v12
Obsoleto
GRAPH TABLE
Crea los datos en arrays y llama GRAPH en una imagen SVG
v13
Desactivado
en 4D v14
Eliminar en código (no hace nada desde v11)
v11
Obsoleto
OBJECT SET ENABLED
v12
Obsoleto
PICTURE CODEC LIST
CONVERT PICTURE
v12
v12
Obsoleto
Obsoleto
WRITE PICTURE FILE/PICTURE TO BLOB
v12
Obsoleto
READ PICTURE FILE/CONVERT PICTURE
v12
Obsoleto
WRITE PICTURE FILE
v12
Obsoleto
-
v12
v12
v12
v12
v12
v12
v12
Obsoleto
Obsoleto
Obsoleto
Obsoleto
Obsoleto
Obsoleto
Obsoleto
-
v12
Obsoleto
-
v12
Obsoleto
Comando
Tema Entorno 4D:
ADD DATA SEGMENT
DATA SEGMENT LIST
Tema Compilador:
ARRAY STRING
C_GRAPH
C_INTEGER
C_STRING
Tema Entrada de datos:
ADD SUBRECORD
Modifed
MODIFY SUBRECORD
Tema Eventos formulario:
Activated
After
Before
Deactivated
During
In break
In footer
In header
Outside call
Tema Gráficos:
Tema listas jerárquicas:
REDRAW LIST
Tema Objetos (Formularios):
DISABLE BUTTON/ENABLE
BUTTON
Tema Imágenes:
PICTURE TYPE LIST
QT COMPRESS PICTURE
QT COMPRESS PICTURE
FILE
QT LOAD COMPRESS
PICTURE FROM FILE
SAVE PICTURE TO FILE
Tema Recursos: todos los
comandos que escriben/crean
recursos, por ejemplo:
ARRAY TO STRING LIST
Create resource file
DELETE RESOURCE
Get component resource ID
SET PICTURE RESOURCE
SET RESOURCE
SET RESOURCE NAME
SET RESOURCE
PROPERTIES
SET STRING RESOURCE
SET TEXT RESOURCE
-
v12
Obsoleto
USE EXTERNAL DATABASE
USE INTERNAL DATABASE
SQL LOGIN
SQL LOGOUT
v12
v12
Obsoleto
Obsoleto
Tema Cadena:
Convert case
CONVERT FROM TEXT/Convert to text si es necesario.
v11
Obsoleto
Remover el comando del método si la conversión no es
necesaria
(lo que significa que la base corre en modo Unicode)
v11
Obsoleto
v11
v11
v11
Obsoleto
Obsoleto
Obsoleto
Remplazar “nnn SUBRECORD” y “nnnSUBSELECTION” con
una acción en el registro N o N-selection de N-table en una N->1
relation
v12
Obsoleto
-
v12
Obsoleto
Utilice los identificadores de fuente
QuickDraw está obsoleto, de manera que los comandos Font
number y Font name están obsoletos.
El comando OBJECT SET FONT ya no acepta un parámetro
LongInt para la fuente: este parámetro ahora es una Cadena y
debe especificar el nombre de fuente.
v14
Obsoleto
v14
Obsoleto.
Puede ser utilizado para una aplicación convertida; con la
constante Automatic Platform
v12
Obsoleto
-
-
Desactivado
en 4D v14
_o_SET CGI EXECUTABLE
-
v12
_o_SET WEB DISPLAY
LIMITS
Utilice modo no contextual
v12
_o_SET WEB TIMEOUT
Utilice modo no contextua
v12
_o_Web Context
Utilice modo no contextua
v12
Utilice el módulo libxslt PHP o el comando MissingRef
v14R4
Obsoleto
Utilice el módulo libxslt PHP o el comando MissingRef
Utilice el módulo libxslt PHP o el comando MissingRef
v14R4
v14R4
Obsoleto
Obsoleto
Tema SQL:
ISO to Mac
Mac to ISO
Mac to Win
Win to Mac
Tema Subregistros: todos los
comandos
Tema Documentos del
sistema:
Document type
Tema Entorno sistema:
Font name
Font number
Tema Interfaz de Usuario:
Get platform interface/SET
PLATFORM INTERFACE
HIDE TOOL BAR/SHOW TOOL
BAR
Tema servidor web:
Tema XML:
_o_XSLT APPLY
TRANSFORMATION
_o_XSLT GET ERROR
_o_XSLT SET PARAMETER
Desactivado
en 4D v13
Desactivado
en 4D v13
Desactivado
en 4D v13
Desactivado
en 4D v13
Comandos 4D PACK:
(ver Comandos 4D Pack eliminados para más detalles)
AP AVAILABLE MEMORY
GET MEMORY STATISTICS
-
Eliminado
en v14
AP HELP INDEX
No compatible con Windows Vista. No recomendamos utilizar
este comando.
No compatible con Windows Vista. No recomendamos utilizar
este comando.
No compatible con Windows Vista. No recomendamos utilizar
este comando.
No compatible con Windows Vista. No recomendamos utilizar
este comando.
-
Eliminado
en v14
Eliminado
en v14
Eliminado
en v14
Eliminado
en v14
AP HELP ON HELP
AP HELP ON KEY
AP CLOSE HELP
-
AP Create method
METHOD SET CODE y METHOD SET ATTRIBUTE
AP Modify method
-
Eliminado
en v14
Eliminado
en v14
AP Does method exist
METHOD GET NAMES
-
Eliminado
en v14
AP Get picture type
Comandos del tema "Imágenes"
-
Eliminado
en v14
AP Get templates
Obsoleto
-
Eliminado
en v14
_AP External clock
Widget TimePicker
-
AP SET CLOCK
Widget TimePicker
-
AP Rect Dragger
SET DRAG ICON
-
Eliminado
en v14
-
Eliminado
en v14
AP Timestamp to GMT
$myDate:=String(Current date;ISO Date
GMT;Current time) // devuelve por ejemplo:
"2014-05-06T12:19:23Z"
AP SET PARAM
Obsoleto
-
AP GET PARAM
Obsoleto
-
Eliminado
en v14
Eliminado
en v14
Eliminado
en v14
Eliminado
en v14
_o_XSLT APPLY TRANSFORMATION
_o_XSLT APPLY TRANSFORMATION ( fuenteXML ; hojaXSL ; resultado {; compileHoja} )
Parámetro
fuenteXML
Tipo
Cadena,
BLOB
hojaXSL
Cadena,
BLOB
resultado
Cadena,
BLOB
compileHoja Booleano
Descripción
Nombre o ruta de acceso del documento XML fuente o BLOB que contiene el XML fuente
Nombre o ruta de acceso del documento que contiene la hoja de estilo XSL o BLOB que contiene la hoja de
estilo XSL
Nombre o ruta de acceso del documento que recibe el resultado de la transformación XSLT o BLOB que recibe
el resultado de la transformación XSLT
True = Optimiza la transformación XSLT False o si se omite = No optimización, borrar el archivo XSL compilado
(si lo hay)
Compatibility note
A partir de 4D v14 R4, los comandos de transformación XSL son obsoletos. Por razones de compatibilidad, aún están
soportados en 4D pero le recomendamos que deje de utilizarlos. En futuras versiones de 4D, ya no será posible utilizar la
tecnología XSLT. Para obtener más información, consulte la sección Presentación de los comandos XML utilitarios .
PROCESS 4D TAGS
PROCESS 4D TAGS ( plantillaEntrada ; datosSalida {; param}{; param2 ; ... ; paramN} )
Parámetro
plantillaEntrada
datosSalida
param
Tipo
Texto, BLOB
Texto, BLOB
Texto, Number, Fecha, Hora, Puntero
Descripción
Datos que contiene las etiquetas a tratar
Datos procesados
Parámetros pasados a la plantilla en ejecución
Descripción
El comando PROCESS 4D TAGS provoca el procesamiento de las etiquetas de transformación 4D contenidas en el parámetro
plantillaEntrada (campo o variable de tipo Texto o BLOB) mientras opcionalmente inserta valores utilizando los valores vía los
parámetros param y devuelve los datos resultantes en datosSalida.
Este comando permite ejecutar un texto de tipo "template" que contiene las etiquetas y las referencias a las expresiones o
variables 4D y produce un resultado dependiendo del contexto de ejecución y/o de los valores pasados en parámetro.
Por ejemplo, puede utilizar este comando para generar y guardar las páginas HTML basadas en páginas semi-dinámicas que
contienen las etiquetas de transformación 4D (sin que sea necesario que el servidor Web de 4D se inicie). Puede utilizarlas para
enviar mensajes de correo electrónico en formato HTML que contengan procesamientos y/o referencias a los datos contenidos en
la base a través de 4D Internet Commands. Es posible procesar cualquier tipo de datos basados ​en texto, tales como XML, SVG
o texto multi-estilo.
Pase los datos que contienen las etiquetas a procesar en el parámetro plantillaEntrada. Este parámetro puede ser un campo o
una variable de tipo Texto o BLOB. El tipo Texto por lo general es suficiente (los parámetros pueden recibir hasta 2 GB de texto).
Nota de compatibilidad: a partir de la versión 12 de 4D, cuando utiliza parámetros de tipo BLOB, el comando considera
automáticamente que el conjunto de caracteres utilizado por los BLOBs es MacRoman. Para mayor eficiencia, se recomienda
utilizar los parámetros de tipo Texto para los cuales los procesos se efectúan en modo Unicode.
Todas las etiquetas de transformación de 4D son soportadas (4DTEXT, 4DHTML, 4DSCRIPT, 4DLOOP, 4DEVAL, etc.),
Nota: en caso de utilizar la etiqueta 4DINCLUDE fuera del marco del servidor web (proceso web):
Con 4D en modo local o 4D Server, la carpeta por defecto es la carpeta que contiene el archivo de estructura de la base,
Con 4D en modo remoto, la carpeta por defecto es la carpeta que contiene la aplicación 4D.
El comando PROCESS 4D TAGS soporta un número indefinido de parámetros param que se pueden insertar en el código que
se ejecuta. Al igual que con los métodos proyecto, dichos parámetros pueden contener valores escalares de tipos variados (texto,
fecha, hora, entero largo, real, etc). También puede utilizar los arrays, por intermedio de punteros de arrays. Dentro del código
procesado por las etiquetas 4D, estos parámetros son accesibles por medio de argumentos estándar ($1, $2, etc.), al igual que
en los métodos 4D (ver ejemplo).
Un conjunto dedicado de variables locales se define en el contexto de ejecución del comando PROCESS 4D TAGS. Estas
variables pueden ser escritas o leídas durante el procesamiento.
Después de la ejecución del comando, el parámetro datosSalida recibe los datos del parámetro plantillaEntrada, junto con el
resultado del proceso de las etiquetas 4D que contiene, cuando aplica. Si datosEntrada no contiene las etiquetas 4D, el contenido
de datosSalida es idéntico al de plantillaEntrada.
El parámetro datosSalida puede ser un campo o una variable, pero debe ser del mismo tipo que el parámetro plantillaEntrada.
Nota: este comando ya no llama al Método base On Web Authentication.
Ejemplo 1
Este ejemplo carga un documento de tipo 'template', procesa las etiquetas que contiene y luego lo guarda:
C_BLOB($Blob_x)
C_BLOB($blob_out)
C_TEXT($inputText_t)
C_TEXT($outputText_t)
DOCUMENT TO BLOB("mytemplate.txt";$Blob_x)
$inputText_t:=BLOB to text($Blob_x;UTF8 text without length)
PROCESS 4D TAGS($inputText_t;$outputText_t)
TEXT TO BLOB($outputText_t;$blob_out;UTF8 text without length)
BLOB TO DOCUMENT($document;$blob_out)
Ejemplo 2
Este ejemplo genera un texto utilizando los datos de los arrays:
ARRAY TEXT($array;2)
$array{1}:="hello"
$array{2}:="world"
$input:="<!--#4DEVAL $1-->"
$input:=$input+"<!--#4DLOOP $2-->"
$input:=$input+"<!--#4DEVAL $2->{$2->}--> "
$input:=$input+"<!--#4DENDLOOP-->"
PROCESS 4D TAGS($input;$output;"elements = ";->$array)
// $output = "elements = hello world"
COMPRESS PICTURE
COMPRESS PICTURE ( imagen ; metodo ; calidad )
Parámetro
imagen
Tipo
Imagen
metodo
calidad
Cadena
Entero largo
Descripción
Imagen a comprimir
Imagen comprimida
Método de compresión cadena 4 caracteres
Calidad de compresión (1..1000)
Nota de compatibilidad
Este comando llama mecanismos obsoletos y sólo se conserva por razones de compatibilidad. Fue reemplazado favorablemente
por el comando CONVERT PICTURE.
Descripción
El comando COMPRESS PICTURE comprime la imagen que se encuentra en el campo o variable imagen.
El parámetro metodo es una cadena de 4 caracteres que indica el tipo de compresión. En este parámetro debe pasar una de las
constantes del tema Compresión de imágenes.
El parámetro calidad es un entero entre 1 y 1 000 indicando la calidad de la imagen comprimida. En general, reducir la calidad
permite una mejor compresión de la imágen.
Advertencia: el radio de compresión posible para una calidad dada depende del tamaño y la naturaleza de la imágen que esté
comprimiendo. La compresión de imágenes pequeñas podría no producir una reducción del tamaño.
CONVERT PICTURE
CONVERT PICTURE ( imagen ; codec {; compresion} )
Parámetro
imagen
Tipo
Imagen
codec
compresion
Cadena
Real
Descripción
Imagen a convertir
Imagen convertida
Identificador de codec de imagen
Calidad de compresión
Descripción
El comando CONVERT PICTURE convierte imagen en un nuevo tipo.
El parámetro codec indica el tipo de imagen a generar. Un codec puede ser una extensión (por ejemplo, “.gif”) o un tipo Mime (por
ejemplo, “image/jpg”).
Puede obtener una lista de codecs disponibles utilizando el comando PICTURE CODEC LIST.
Si el campo o variable imagen es de tipo compuesto (si por ejemplo es el resultado de la acción copiar -pegar), sólo la
información correspondiente al tipo codec se conserva en la imagen resultante.
Nota: si el tipo de codec solicitado es elmismo que el tipo original de la imagen, no se efectúa ninguna conversión y la imagen se
devuelve "tal cual" (excepto cuando se utiliza el parámetro compresion, ver a continuación).
El parámetro opcional compresion, si se pasa, permite definir la calidad de compresión a aplicar a la imagen resultante cuando
se utiliza un Codec compatible. En compresion, pase un valor entre 0 y 1 para especificar la calidad de la compresión, donde 0 es
la calidad más mediocre (alta compresión) y 1 la mejor calidad (compresión baja). Este parámetro sólo se tiene en cuenta cuando
el codec soporta la compresión (por ejemplo JPEG o HDPhoto) y es soportado por los APIs WIC y ImageIO.
Para mayor información sobre los APIs de gestión de imagen en 4D, consulte la sección Introducción imágenes. Por defecto, si
omite el parámetro compresion, se aplica la mejor calidad (compresion =1).
Ejemplo 1
Conversión de la imagen vpFoto al formato jpeg:
CONVERT PICTURE(vpFoto;".jpg")
Ejemplo 2
Conversión de una imagen con calidad del 60%:
CONVERT PICTURE(vPicture;".JPG";0.6)
Open form window
Open form window ( {tabla ;} nomForm {; tipo {; posH {; posV {; *}}}} ) -> Resultado
Parámetro
tabla
nomForm
tipo
posH
posV
*
Resultado
Tipo
Tabla
Cadena
Entero largo
Entero largo
Entero largo
Operador
WinRef
Descripción
Tabla del formulario o tabla por defecto, si se omite
Nombre del formulario
Tipo de la ventana
Posición horizontal de la ventana
Posición vertical de la ventana
Conservar la posición actual y el tamaño de la ventana
Número de referencia de la ventana
Descripción
El comando Open form window abre una nueva ventana utilizando las propiedades de tamaño y de redimensionamientos del
formulario nomForm.
Note que el formulario nomForm no se muestra en la ventana. Si quiere mostrar el formulario, tiene que llamar un comando que
cargue un formulario (por ejemplo ADD RECORD).
Por defecto (si no se pasa el parámetro tipo), se abre una ventana estándar con una casilla de cerrar. A diferencia del comando
Open window, ningún método está asociado a la casilla de cierre de la ventana. Al hacer clic en esta casilla se cancela y cierra la
ventana, excepto si el evento de formulario On Close Box ha sido activado para el formulario. En este caso, el código asociado
con este evento se ejecutará.
Si el formulario nomForm es redimensionable, la ventana abierta tendrá una casilla de zoom como también una casilla de
redimensionamiento.
Nota: para conocer las principales propiedades de un formulario, utilice el comando FORM GET PROPERTIES.
El parámetro opcional tipo permite especificar un tipo de ventana. Este parámetro debe contener una de las siguientes constantes
predefinidas del tema Abrir ventana formulario):
Constante
Tipo
Valor
Form has full screen mode Mac
Modal form dialog box
Movable form dialog box
Palette form window
Plain form window
Pop up form window
Sheet form window
Toolbar form window
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
Entero largo
65536
1
5
1984
8
32
33
35
Notas:
Los atributos de la ventana creada (casilla de redimensionamiento, casilla cerrar...) dependen de las especificaciones de
interfaz del sistema operativo para el tipo elegido. Por lo tanto es posible obtener diferentes resultados dependiendo de la
plataforma utilizada.
Las constantes Has toolbar button Mac OS y Has full screen mode Mac deben añadirse a una de las otras constantes de
tipo.
Para mayor información sobre los tipos de ventanas, consulte la sección Tipos de ventanas. Note que sólo los tipos
listados en el tema Abrir ventana formulario pueden utilizarse con el comando Open form window.
Cuando se pasa la constante Toolbar form window, la ventana se crea con la ubicación, el tamaño y las propiedades gráficas de
una barra de herramientas, es decir:
La ventana se mostrará siempre justo debajo de la barra de menús.
El tamaño horizontal de la ventana se ajustará automáticamente para llenar todo el espacio horizontal disponible en el
escritorio (en OS X) o dentro de la ventana principal de 4D (en Windows). El tamaño vertical de la ventana se basa en las
propiedades del formulario, como todos los otros tipos de ventanas formulario.
La ventana no tiene borde, no se puede mover y no se puede cambiar el tamaño de forma manual, y los parámetros posH,
posV y * se ignoran si están presentes.
No es posible crear dos ventanas de la barra de herramientas diferentes al mismo tiempo. Si se llama Open form window
con el tipo Toolbar form window mientras ya existe una ventana barra de herramientas, se genera un error -10613 ("No se
puede crear dos ventanas formulario de tipo barra de herramientas").
Barra de herramientas y modo pantalla completa en OS X: si su aplicación muestra a la vez una ventana barra de
herramientas y una ventana estándar que admiten el modo de pantalla completa (opción Has full screen mode Mac), las normas de
interfaz requieren que se oculte la barra de herramientas cuando una ventana estándar pase a modo pantalla completa. Para
saber si una ventana ha cambiado al modo pantalla completa, simplemente pruebe si su tamaño vertical es exactamente el mismo
que la altura de la pantalla (consulte el comandos HIDE TOOL BAR).
El parámetro opcional posH permite definir la posición horizontal de la ventana. Puede pasar una posición definida, expresada en
puntos, a este parámetro (consulte el comando Open window) o una de las siguientes constantes predefinidas ubicadas en el
tema Abrir ventana formulario:
Constante
Tipo
Valor
Horizontally centered
On the left
On the right
Entero largo
Entero largo
Entero largo
65536
131072
196608
El parámetro opcional posV permite definir la posición vertical de la ventana. Puede pasar una posición definida, expresada en
puntos, a este parámetro (consulte el comando Open window) o una de las siguientes constantes predefinidas del tema Abrir
ventana formulario:
Constante
Tipo
Valor
Vertically centered
Entero largo
262144
At the top
Entero largo
327680
At the bottom
Entero largo
393216
Estos parámetros tienen en cuenta la presencia de la barra de herramientas, de la barra de menús y del tamaño actual de la
ventana de la aplicación (en Windows).
Si pasa el parámetro opcional *, la posición y el tamaño actual de la ventana se memorizan al cerrar. Cuando la ventana se abre
nuevamente, se respetan su posición y tamaño anterior. En este caso, los parámetros posV y PosH sólo se utilizan cuando se
abre la ventana por primera vez.
Ejemplo 1
La siguiente instrucción abre una ventana estándar o una casilla cerrar y se ajusta automáticamente al tamaño del formulario de
"Entrada". Como el formulario ha sido definido como redimensionables, la ventana tiene una casilla de redimensionamiento y una
casilla de zoom:
$winRef :=Open form window([Tabla1];"Entrada")
Ejemplo 2
La siguiente instrucción abre una paleta flotante en la parte superior izquierda de la pantalla basada en un formulario de proyecto
llamado "Herramientas". Esta paleta utiliza la última posición en cada nueva apertura:
$winRef :=Open form window("Herramientas";Palette form window;On the left;At the top;*)
CREATE SUBRECORD
CREATE SUBRECORD ( subtabla )
Parámetro
subtabla
Tipo
Subtabla
Descripción
Subtabla en la cual crear un nuevo subregistro
Nota de compatibilidad
Las subtablas no se soportan a partir de la versión 11 de 4D. Un mecanismo de compatibilidad asegura el funcionamiento de este
comando en bases compartidas; sin embargo, es recomendable remplazar las subtablas con tablas relacionadas estándar.
Descripción
CREATE SUBRECORD crea un nuevo subregistro en subtabla y lo convierte en el subregistro actual. El nuevo subregistro se
guarda únicamente cuando el registro padre se guarda. El registro padre puede guardarse con un comando como SAVE
RECORD o cuando el usuario valida el registro. Si no hay registro actual, CREATE SUBRECORD no tiene efecto. Para añadir
un nuevo subregistro en un formulario de entrada de subregistros, utilice ADD SUBRECORD.
Ejemplo
El siguiente ejemplo es un método de objeto para un botón. Cuando se ejecuta (cuando el usuario hace clic en el botón), crea
nuevos subregistros para niños en la tabla [Personas]. El bucle Repeat permite al usuario añadir niños hasta que se haga clic en el
botón Cancelar. El formulario muestra los niños en un subformulario, pero no permite la entrada directa de datos porque la opción
Editable no se ha desactivado:
Repeat
` Se repite hasta que el usuario haga clic en cancelar
vNiño:=Request("Nombre (cancelar si termina):")
`Si el usuario hace clic en Aceptar
If(OK=1)
` Adición de un nuevo subregistro para un niño
CREATE SUBRECORD([Personas]Niños)
` Asignación del nombre del niño al subcampo
[Personas]NombreNiño:=vNiño
End if
Until(OK=0)
DISABLE BUTTON
DISABLE BUTTON ( {* ;} objeto )
Parámetro
*
objeto
Tipo
Operador
Objeto de formulario
Descripción
Si se especifica, objeto es un nombre de objeto (cadena) Si se omite, objeto es una variable
Nombre de objeto (si se especifica *), o Variable (si se omite *)
Compatibility note
En 4D a partir de la versión 12, el comando DISABLE BUTTON es declarado obsoleto y se conserva únicamente por razones de
compatibilidad. Su alcance, incluye todas las instancias de la variable designada y no sólo las del formulario actual, no
corresponde a las del tema "Propiedades de los objetos".
DISABLE BUTTON puede reemplazarse favorablemente con el comando OBJECT SET ENABLED.
Descripción
El comando DISABLE BUTTON desactiva los objetos de formulario especificados por objeto.
Un botón o un objeto desactivado no reacciona a clics o a atajos de teclado, y aparece tenue o en gris.
Nota: desactivar un botón o un objeto no evita que pueda cambiar su valor por programación.
Si especifica el parámetro opcional *, indica un nombre de objeto (una cadena) en objeto. Si omite el parámetro opcional *, indica
que el parámetro objeto es un campo o una variable. En este caso, usted especifica una referencia de un campo o de una variable
(variable tipo objeto únicamente) en lugar de una cadena. Para mayor información sobre nombres de objetos, consulte la sección .
Este comando (a pesar de lo que su nombre sugiere) puede aplicarse a los siguientes tipos de objetos:
Botón, Botón opción, Botón 3D, Botón invisible, Botón inverso
Botón radio, Botón radio 3D, Botón imagen
Casilla de selección, Casilla de selección 3D
Menú desplegable, Lista desplegable, Combo Box, Menú/Lista desplegable
Termómetro, Regla
Nota: este comando no tiene efecto con un objeto que tiene asignada una acción automática (4D cambia el estado del control
cuando es necesario), excepto para acciones de Aceptar y Cancelar.
Ejemplo 1
Este ejemplo desactiva el botón bValidar:
DISABLE BUTTON(bValidar)
Ejemplo 2
Este ejemplo desactiva todos los objetos de formulario que tienen nombres que contiene “btn”:
DISABLE BUTTON(*;"@btn@")
Ejemplo 3
Ver ejemplo para el comando OBJECT SET TITLE.
Quick table
Explicación de los valores para la columna “Estado”:
Eliminado: ya no está disponible en la versión actual.
Próximamente: estamos pensando en la eliminación de la funcionalidad en la próxima versión principal después de 4D v14
Más adelante: se eliminará en una versión futura principal
OS: depende de tecnologías OS oficialmente obsoletas (por ejemplo: formato PICT). Estado es el mismo que más tarde,
pero un sistema operativo podría retirar el soporte antes que nosotros
Funcionalidad
Remplazar con
Estado
Barra de herramientas automática del modo Aplicación
Open form window con Toolbar form window
Eliminado
Opción de compatibilidad "Transacciones automáticas
durante la entrada de datos"
n/a
Eliminado
Diccionarios ortográficos Cordial
Diccionarios Hunspell (así como también el
diccionario nativo bajo Mac)
Eliminado
Ventanas en modo no compositing bajo Mac
Sólo el modo compositing está soportado
Eliminado
"Option F/Alt F"
Menú con elemento asociado a la acción
estándar "Volver al modo Diseño"
U OPCION-MAYÚS CLIC DERECHO
Eliminado
4D Chart
SVG/Web area/PHP
Eliminado
Fuentes Mac OS QuickDraw
Nombres de fuentes
Obsoleto
Altura Mac2Win
Desarrolladores de Plug-in: utilice el código
Windows nativo
Obsoleto
Asignación dinámica de las variables recibidas a través de
HTTP (opción de compatibilidad para las bases creadas
antes de la versión 13.4)
Comando WEB GET VARIABLES (para
recuperar variables).
Obsoleto
Comandos WEB GET BODY PART/WEB Get
body part count (para recuperar archivos
enviados)
Modo No Unicode (base pre-v11 convertida)
Pasar a Unicode
Obsoleto
Soporte de QuickTime (opción de compatibilidad utilizando
SET DATABASE PARAMETER(QuickTimeSupport;1))
Utilice los formatos nativos
Obsoleto
API QuickDraw
Nuevo plug-in SDK para los plug-ins de terceras
partes
Obsoleto
Subtablas
Utilice las tablas N->1
Obsoleto
XSLT
Utilice el módulo libxslt PHP o el comando
PROCESS 4D TAGS
Obsoleto
Mac Resources (cicn, PICT)
Utiliza la carpeta "Resources"
Por compatibilidad, aún puede utilizarlo en bases
convertidas. Ya no soportamos comandos de
acceso a escritura.
OS
PICT
Formatos modernos
OS
Previous documents
This document concerns the 4D v14 product range. For reference, you can consult previous documents (PDF) describing
deprecated features in prior product ranges, available here:
Deprecated and Removed Features in 4D v13 - (Rev. 20 Feb 2012)
Deprecated and Removed Features in 4D v12 - (Rev. 03 Jun 2010)
Descargar