4D Write Pro: Mais simples, mais poderoso

Tradução automática de Deepl

Um grito a toda a gente que utilize o 4D Write Pro e que nos informe dos seus pensamentos sobre o produto. Isto permite-nos compreender melhor as suas necessidades e dificuldades. Graças a este input, apercebemo-nos de que alguns comandos se tornaram desnecessários, complexos de usar, e/ou difíceis de aprender. Por vezes, podem ser as coisas mais pequenas que fazem da aprendizagem um desafio. Por exemplo, se quiser apenas inserir algum texto no rodapé, primeiro precisa de criar um intervalo vazio! Porquê tão complicado? Boa pergunta!

Assim, muitos comandos que anteriormente só utilizavam intervalos foram alargados a fim de gerir praticamente qualquer tipo de alvo (intervalos, elementos, secções, documentos, etc.). O código é agora mais fácil de escrever e ler. Se precisar de inserir texto … num documento, num rodapé, num intervalo, (onde quer que seja!) … basta usá-lo como alvo e está desligado e a correr.

E isso não é tudo! Seis comandos foram renomeados com nomes mais curtos, por isso são mais fáceis de lembrar.

HDI: 4D Write Pro – mais alvos e comandos renomeados

Mais alvos…

Os comandos listados abaixo foram alargados para aceitar qualquer tipo de alvo como primeiro parâmetro. Isto significa que ainda podem usar um intervalo, mas agora também podem usar uma referência (cabeçalho, corpo, rodapé), um elemento (imagem, parágrafo) ou mesmo todo o documento como alvo!

  • WP SET TEXT
  • WP INSERT BREAK
  • WP INSERT DOCUMENT
  • WP INSERT PICTURE
  • WP Insert table
  • WP SET ATTRIBUTES
  • WP GET ATTRIBUTES

Vejamos um exemplo: Quero inserir um texto no início do meu documento e uma fotografia no fim do mesmo, como devo fazer isso?

Anteriormente, precisava de ter dois intervalos, um no início e outro no fim do documento. Depois tinha de inserir o texto para o primeiro intervalo, adicionar outro intervalo e alargá-lo com uma quebra de parágrafo, e finalmente inserir a fotografia.

Código anterior

// Create a range on start
$range:=WP Create range(WParea;wk start text;wk start text)
WP SET TEXT ($range; "Hello world!";wk prepend)
$range :=WP Create range(WParea;wk end text;wk end text)
WP INSERT BREAK($range;wk paragraph break;wk append;wk include in range)
WP INSERT PICTURE ($range;$pict;wk append)

Novo código

WP SET TEXT(WParea; "Olá mundo!";wk prepend)
WP INSERT BREAK(WParea;wk paragraph break;wk append)
WP INSERT PICTURE (
WParea;$pict;wk append)

Renomeados comandos

Os comandos listados abaixo foram renomeados. Não mais Get ou Create, o importante a lembrar é range!

Nome anterior Novo nome
WP Create Paragraph range WP Paragraph range
WP Create Picture range WP Picture range
WP Create range WP Text range
WP Create Table range WP Table range
WP Get bookmark range WP Bookmark range
WP Get selection WP Selection range

Exemplos

Aqui estão alguns exemplos para obter diferentes tipos de gamas:

// get the range of the paragraphs of the document
$paragraphRange:=WP Paragraph range(WParea)

// get the range of pictures inside the document
$pictureRange :=WP Picture range(WParea)

// get the range of a part of text from the document
$textRange :=WP Text range(WParea;10;20)

// get the range of the tables of the first section of the documents
$tableRange :=WP Table range(WParea;WP Get section(WParea;1)))

// get the range of a specific bookmark
$bookmarkRange :=WP Bookmark range(WParea; "MainPart")

// get the range of the user selection
$selectionRange:=WP Selection range(WParea)

A documentação para estes comandos foi actualizada e o IDH acima demonstra todas as novas capacidades.

Roland Lannuzel
- Proprietário do produto & Especialista 4D - Depois de estudar electrónica, a Roland entrou nas TI industriais como desenvolvedor e consultor, construindo soluções para clientes com uma variedade de bases de dados e tecnologias. No final dos anos 80, apaixonou-se pela 4D e utilizou-a para escrever aplicações comerciais que incluem sistemas de contabilidade, facturação e correio electrónico. Juntando-se à empresa em 1997, as valiosas contribuições de Roland incluem a concepção de especificações, ferramentas de teste, demonstrações, bem como formação e palestras para a comunidade 4D em muitas conferências. Ele continua a moldar activamente o futuro da 4D, definindo novas características e ferramentas de desenvolvimento de bases de dados.