Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com

Inicio

 
4D v20 R7
WP SET LINK

WP SET LINK 


 

WP SET LINK ( objRango ; objEnlace ) 
Parámetro Tipo   Descripción
objRango  Objeto in Rango o elemento o documento 4D Write Pro
objEnlace  Objeto in Valor enlace

WP SET LINK aplica una referencia de hipervínculo al objRango. Se soportan enlaces a URL, métodos 4D y marcadores. El enlace activa una acción cuando el usuario hace clic en él (o utiliza Ctrl+clic en Windows o Cmd+clic en macOS si el texto no es de solo lectura para abrir URL).

En objRango, pase el objeto 4D Write Pro donde se aplicará el enlace. Puedes pasar:

  • un rango, o
  • un elemento (tabla / fila / párrafo / cuerpo / encabezado / pie de página / sección / subsección), o
  • un documento 4D Write Pro

Por ejemplo, si pasa un encabezado, el contenido completo del encabezado se mostrará como un hipervínculo. Al insertar enlaces en sus documentos, 4D Write Pro aplica las siguientes reglas:

  • Si define un enlace a un objRango que contiene varios párrafos, se definirán varios enlaces separados.
  • Si define un enlace a un objRango que ya contiene enlace(s):
    • todos los enlaces existentes que están completamente incluidos en el objRango se eliminan y el nuevo enlace se aplica a objRango.
    • Si un enlace se selecciona parcialmente (se cruza con objRango), se reduce para que la parte externa mantenga el enlace anterior y el nuevo enlace se aplique a objRango.    

En el parámetro objEnlace, pase un objeto que describa el hipervínculo. Debe contener solo una de las siguientes propiedades (excepto la propiedad del parámetro que se puede utilizar junto con la propiedad del método):

PropiedadTipoDescripciónAcción de hipervínculo
urlTextoDestino para un hipervínculo de tipo URL (url codificado).
  • Hace referencia a una dirección web estándar (http o https://website, mailto:abc@xyz.com, etc.): abre la URL en la aplicación predeterminada (generalmente un navegador)
  • Hace referencia a una ruta de archivo (absoluta o relativa al archivo de estructura 4D). Al hacer referencia a un archivo .4wp o .4w7 (file://filepath o filepath/file.4wp): carga y reemplaza el documento actual. Al hacer referencia a otros tipos de archivos, abre el archivo en la aplicación predeterminada del sistema para el tipo de archivo
bookmarkTextoNombre del marcadorAccede al marcador especificado en el documento actual. (Consulte Comandos Marcadores)
methodTextoNombre del método del proyecto: el método debe existir y se debe permitir con el comando SET ALLOWED METHODS.Ejecuta el método 4D cuando se hace clic. El método recibe automáticamente dos parámetros en $1 y $2:
ParámetroPropiedadTipoDescripción
$1TextoNombre del área 4D Write Pro
$2Objeto
métodoTextoNombre del método 4D
parámetroTexto | NúmeroParámetro del usuario enviado al método a través de la propiedad del parámetro (opcional, ver abajo)
rangoObjetoRango de objRango
parámetroTexto | NúmeroSolo se utiliza con un enlace de tipo método, no es obligatorio si el método no requiere un parámetro. Contiene un parámetro adicional para enviar al método.Recibido en el parámetro $2. dentro del método

Notas:

  • 4D Write Pro solo acepta URL válidas (codificadas). Los caracteres especiales en los enlaces no están traducidos. Si los caracteres especiales (es decir,% 20 para espacios) son necesarios, debe codificarlos expresamente. Si el enlace no es válido, se genera un error.
  • Los enlaces a los métodos 4D se eliminan de los documentos 4D Write Pro cuando se exportan en formato HTML, MIME HTML o .docx.
  • Si desea eliminar un enlace de objRango, consulte el párrafo Gestión de URLs.

Desea agregar un enlace a su sitio web en el área del pie de página de su documento:

 C_OBJECT($footer)
 $footer:=WP Get footer(WPArea;1)
 WP SET TEXT($footer;"Please visit our website";wk replace)
 WP SET LINK($footer;New object("url";"http://www.4d.com"))

Desea crear una tabla de contenido con enlaces utilizando todos los marcadores en su documento:

 C_LONGINT($i;$n;$p;$memoStart)
 C_OBJECT($range;$link;$toc;$tocRange;$positionInfo;$target)
 C_TEXT($text)
 
 ARRAY TEXT($_bookmarks;0)
 WP GET BOOKMARKS(WParea1;$_bookmarks//encuentra todos los marcadores
 
 $n:=Size of array($_bookmarks)
 If($n>0)
    $tocRange:=WP Text range(WParea1;wk start text;wk start text//encuentra el comienzo del texto
    WP INSERT BREAK($tocRange;wk page break;wk append;wk exclude from range//agrega un salto de página antes del texto
 
    For($i;1;$n// Inserta la tabla de contenidos y enlaces
       $range:=WP Bookmark range(WParea1;$_bookmarks{$i})
       $positionInfo:=WP Get position($range)
       $memoStart:=$tocRange.end
       WP SET TEXT($tocRange;Char(Tab)+$_bookmarks{$i}+Char(Tab)+String($positionInfo.page);wk append;wk include in range)
 
       $target:=WP Text range($tocRange;$memoStart+1;$memoStart+1+Length($_bookmarks{$i}))
       $link:=New object("bookmark";$_bookmarks{$i})
       WP SET LINK($target;$link)
       WP INSERT BREAK($tocRange;wk line break;wk append;wk include in range)
    End for
 End if

Desea definir un enlace a un método 4D en cada cadena "4D" en el documento:

 C_TEXT($text,$find)
 C_LONGINT($p)
 C_OBJECT($range;$link)
 
 $text:=WP Get text(wpArea;wk expressions as value//recupera todo el texto del documento
 
 $find:="4D" //destino para el enlace</p><p>
 $p:=Position($find;$text//recorre el texto para encontrar todas las instancias del objetivo
 If($p>0)
    $range:=WP Text range(wpArea;$p;$p+Length($find)) //define la longitud del objetivo
  //create the link object
    $link:=New object("method";"myAlert";"parameter";"4D rocks!") //No se olvide de autorizar con SET ALLOWED METHODS  
 
    WP SET LINK($range;$link)
 End if



Ver también 

Blog: Links in 4D Write Pro documents
WP Get links

 
PROPIEDADES 

Producto: 4D
Tema: Lenguaje 4D Write Pro
Número 1642

This command can be run in preemptive processes

 
CONTENIDO DE LA PÁGINA 
 
HISTORIA 

Creado por: 4D v17 R5

 
ARTICLE USAGE

Referencia 4D Write Pro ( 4D v20 R7)