Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com

Página Inicial

 
4D v20 R7
WP SET LINK

WP SET LINK 


 

WP SET LINK ( objRange ; objLink ) 
Parâmetro Tipo   Descrição
objRange  Objeto in Range ou elemento ou documento 4D Write Pro
objLink  Objeto in Valor do hyperlink

WP SET LINK aplica uma referência de hiperlink ao objRange. São compatíveis links a URL, métodos 4D e marcadores. O link ativa uma ação quando o usuário clicar nele (ou utilizar Ctrl+clique em Windows ou Cmd+clique em macOS se o texto não for apenas leitura para abrir URL).

Em objRange, passe o objeto 4D Write Pro onde se aplicará o link. Pode passar:

  • uma range, ou
  • um elemento (tabela / fila / parágrafo / corpo / cabeçalho / rodapé / seção / subseção), ou
  • um documento 4D Write Pro

Por exemplo, se passar um cabeçalho, o conteúdo completo do cabeçalho se mostrará como um link. Ao inserir links em seus documentos, 4D Write Pro aplica as seguintes regras:

  • Se definir um link a um objRange que conter vários parágrafos, se definirão vários links separados.
  • Se definir um link a um objRange que já contenha links:
    • todos os links existentes que estejam completamente incluídos no objRange são eliminados e o novo link se aplica a objRange.
    • Se um link for selecionado parcialmente (intersecta objRange), ele é reduzido para que a parte externa mantenha o link anterior e o novo link se aplique a objRange.    

No parâmetro objLink, passe um objeto que descreva o hyperlink. Deve conter apenas uma das seguintes propriedades (exceto a propriedade de parâmetro que possa ser utilizada junto com a propriedade de método):

PropriedadeTipoDescriçãoAção de hyperlink
urlTextoDestino para um link de tipo URL (url codificado).
  • Faz referência a um endereço web normal (http ou https://website, mailto:abc@xyz.com, etc.): abre a URL na aplicação predeterminada (geralmente um navegador)
  • Faz referência a uma rota de arquivo (absoluta ou relativa ao arquivo de estrutura 4D). Ao referenciar a um arquivo .4wp ou .4w7 (file://filepath ou filepath/file.4wp): carrega e substitui o documento atual. Ao referenciar a outros tipos de arquivos, abre o arquivo na aplicação pre-determinada de sistema para o tipo de arquivo
bookmarkTextoNome da bookmarkAcessa a bookmark especificada no documento atual. (Consulte Comandos de Bookmark)
methodTextoNome de método de projeto: o método deve existir e deve ser permitido com o comando SET ALLOWED METHODS.Executa o método 4D quando fizer um clique. O método recebe automaticamente dois parâmetros em $1 e $2:
ParâmetroPropriedadeTipoDescrição
$1TextoNome da área 4D Write Pro
$2Objeto
métodoTextoNome de método 4D
parâmetroTexto | NúmeroParâmetro de usuário enviado ao método através da propriedade de parâmetro (opcional, ver abaixo)
rangoObjetoRange de objRangE
parâmetroTexto | NúmeroSó se utiliza com um link de tipo método, não é obrigatório se o método não exigir um parâmetro. Contém um parâmetro adicional para enviar ao método.Recebido no parâmetro $2. dentro do método

Notas:

  • 4D Write Pro só aceita URL válidas (codificadas). Os caracteres especiais nos links não estão traduzidos. Se os caracteres especiais (ou seja,% 20 para espaços) são necessários, deve codificá-los expressamente. Se o link não for válido, se gera um erro.
  • Os links aos métodos 4D são eliminados dos documentos 4D Write Pro quando se exportam em formato HTML, MIME HTML ou .docx.
  • Se desejar eliminar um link de objRange, consulte o parágrafo Manejar URLs.

Se quiser agregar um link a seu website na área de rodapé de seu 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"))

Se quiser criar uma tabela de conteúdo com links utilizando todos os marcadores em seu 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//encontra todos os marcadores
 
 $n:=Size of array($_bookmarks)
 If($n>0)
    $tocRange:=WP Text range(WParea1;wk start text;wk start text//encontra o começo do texto
    WP INSERT BREAK($tocRange;wk page break;wk append;wk exclude from range//agrega um salto de página antes do texto
 
    For($i;1;$n// Insere a tabela de conteúdos e links
       $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

Se quiser definir um link a um método 4D em cada string "4D" no documento:

 C_TEXT($text,$find)
 C_LONGINT($p)
 C_OBJECT($range;$link)
 
 $text:=WP Get text(wpArea;wk expressions as value//recupera todo o texto do documento
 
 $find:="4D" //destino para o link</p><p>
 $p:=Position($find;$text//recorre o texto para encontrar todas as instâncias de objetivo
 If($p>0)
    $range:=WP Text range(wpArea;$p;$p+Length($find)) //define a longitude de objetivo
  //create the link object
    $link:=New object("method";"myAlert";"parameter";"4D rocks!") //Não se esqueça de autorizar com SET ALLOWED METHODS  
 
    WP SET LINK($range;$link)
 End if



Ver também 

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

 
PROPRIEDADES 

Produto: 4D
Tema: Linguagem 4D Write Pro
Número 1642

This command can be run in preemptive processes

 
CONTEÚDO DA PÁGINA 
 
HISTÓRIA 

Criado por: 4D v17 R5

 
ARTICLE USAGE

Referência 4D Write Pro ( 4D v20 R7)