A esta altura, já deve estar familiarizado com a WP Get position comando. No mínimo, já leu sobre isso neste post do blogue. Introduzido com o v17, ajuda-o a obter informações sobre a localização dos elementos nos seus documentos.
4D v17 R4 apimenta as coisas … agora, também devolve coordenadas!
novos atributos
O WP Get position devolve dois novos atributos: bounds e rangeHeight.
O atributo bounds é um objecto que descreve o rectângulo que rodeia um intervalo, de acordo com o seu tipo. O tipo do intervalo passado pode ser “tipo por defeito” (caracteres), “tipo de parágrafo”, “tipo de tabela”, ou “tipo de imagem”, como se mostra abaixo:
O atributo bounds tem atributos próprios: esquerda, superior, direita e inferior . São numéricos e expressos na unidade de disposição actual (mm, cm, in, pt, ou px).
Exemplo
Esta característica permite-lhe configurar facilmente desenhos de páginas complexas. Por exemplo, ao utilizar modelos, pode ser necessário comparar o tamanho de um bloco a inserir de acordo com o espaço disponível no fim da página actual. Se o espaço não for suficientemente grande(ou seja, “5cm”), poderá decidir inserir primeiro uma quebra de página. Simples e fácil. Aqui está como proceder:
$range:=WP Get selection(WParea)
WP SET ATTRIBUTES (WParea;wk layout unit;wk unit cm) // change the unit to "cm"
$position :=WP Get position
($range ;
wk 4D Write Pro layout) // call the WP Get position function
$heightInCm:=$position.rangeHeight // read the height in "cm"
If ($heightInCm<5)
// insert a break…
End if
aqui está o conteúdo detalhado do objecto devolvido
{ "section": 1, "page": 1, "column": 1, "line": 11, "position": 49, "bounds": // New! { "left": 1.52, "top": 10.65, "right": 18.66, "bottom": 12.56, } rangeHeight: 1.9 // New! }
Veja a característica em acção com esta base de dados de demonstração.