Koordinaten in einem 4D Write Pro Dokument abrufen

Automatisch übersetzt von Deepl

Inzwischen sollten Sie mit dem WP Get position Befehl vertraut sein. Zumindest haben Sie in diesem Blog-Beitrag darüber gelesen. Er wurde mit Version 17 eingeführt und hilft Ihnen, Informationen über die Position von Elementen in Ihren Dokumenten zu erhalten.

4D v17 R4 peppt die Sache auf … es liefert jetzt auch Koordinaten!

neue Attribute

Der Befehl WP Get position Befehl gibt zwei neue Attribute zurück: bounds und rangeHeight.

Das Bounds-Attribut ist ein Objekt, das das Rechteck beschreibt, das einen Bereich umgibt, je nach dessen Typ. Der Typ des übergebenen Bereichs kann „Standardtyp“ (Zeichen), „Absatztyp“, „Tabellentyp“ oder „Bildtyp“ sein, wie unten gezeigt:

Das Attribut bounds hat eigene Attribute: left, top, right und bottom. Sie sind numerisch und werden in der aktuellen Layout-Einheit ausgedrückt (mm, cm, in, pt oder px).

Beispiel

Mit dieser Funktion können Sie auf einfache Weise komplexe Seitendesigns einrichten. Wenn Sie zum Beispiel Vorlagen verwenden, müssen Sie die Größe eines einzufügenden Blocks mit dem verfügbaren Platz am Ende der aktuellen Seite vergleichen. Wenn der Platz nicht groß genug ist( z. B. „5 cm“), können Sie zuerst einen Seitenumbruch einfügen. Einfach und leicht. So gehen Sie vor:

$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

Hier ist der detaillierte Inhalt des zurückgegebenen Objekts

{
"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!
}

Sehen Sie die Funktion in Aktion mit dieser Demo-Datenbank.

4D Write Pro: Elementkoordinaten abrufen

Roland Lannuzel
- Product Owner & 4D Experte - Nach seinem Studium der Elektronik arbeitete Roland als Entwickler und Berater in der industriellen IT-Branche, wo er Lösungen für Kunden mit einer Vielzahl von Datenbanken und Technologien entwickelte. In den späten 80er Jahren verliebte er sich in 4D und setzte es bei der Entwicklung von Geschäftsanwendungen wie Buchhaltungs-, Abrechnungs- und E-Mail-Systemen ein. 1997 trat er schließlich in das Unternehmen ein und leistete einen wertvollen Beitrag, indem er Spezifikationen, Testtools und Demos entwarf, Schulungen durchführte und auf vielen Konferenzen für die 4D Community sprach. Er gestaltet die Zukunft von 4D aktiv mit, indem er neue Funktionen und Datenbankentwicklungstools definiert.