4D v17

Per Programmierung auf Dokumentinhalte zugreifen

Home

 
4D v17
Per Programmierung auf Dokumentinhalte zugreifen

Per Programmierung auf Dokumentinhalte zugreifen  


 

 

4D Write Pro bietet einen ganzen Satz Befehle, um Attribute für Text und Bilder in Ihren Dokumenten zu verwalten. Damit können 4D Entwickler für 4D Write Pro Dokumente eigene Benutzeroberflächen gestalten, z.B. mit Schaltflächen, Menüs, Optionsfeldern. Befehle lassen sich auf das ganze Dokument oder spezifische Teilbereiche (Ranges) anwenden, die entweder durch eine Benutzerauswahl oder über eigene Werte definiert werden. Verfügbare Eigenschaften sind Einheit des Dokuments, Ränder, Füllen, Hintergrund, Einstellungen für Absatz, Farben, Schriften, Schriftstile und Bildeigenschaften.

Das Objekt der Objektbibliothek 4D Write Pro Area beispielsweise verwendet einige dieser Funktionalitäten für eine ansprechende Benutzeroberfläche in 4D Write Pro:

Mit 4D Write Pro können Sie Inhalte des Dokuments per Programmierung auswählen und verwalten. Da der ausgewählte Inhalt Text, Bilder, Tabellen, etc. enthalten kann, sowie nicht-sichtbare Tags für Formatierung, arbeitet 4D Write Pro mit Ranges.

Ein "Range" ist ein Objekt, das einen Teil in einem 4D Write Pro Dokument darstellt.

  • Ein Range aus Zeichen, Absätzen, Bildern oder Tabellen wird über die Position von Zeichen im übergeordneten Dokument definiert,
  • Ein Range aus Zellen, Spalten und Zeilen wird über die Position von Zellen definiert und mit der übergeordneten Tabelle verankert.

Er dient zum Festlegen von Elementen, die ausgewählt werden sollen oder zum Setzen von Attributen in einem Teil des Dokuments (über die Funktionen WP GET ATTRIBUTES und WP SET ATTRIBUTES).

Es gibt verschiedene Typen von "Ranges". Sie können den jeweiligen Typ über das Attribut wk type (nur lesbar) bestimmen. Jeder Range wird über verschiedene private Attribute definiert:

Konstante Wert Kommentar
wk end end (Nur lesbares Attribut für Range). Range Ende Versatz. Wert: Lange Ganzzahl
wk owner owner (Nur lesbares Attribut) Eigentümer des Range/Objekts/Abschnitts/Unterabschnitts (Referenz zum Dokument von Abschnitt/Unterabschnitt). Wert: Objekt
wk start start (nur lesbares Attribut)
  •  Range Start Versatz oder
  • Index für Textbeginn von Abschnitt/Unterabschnitt im Hauptteil des Dokuments (für Unterabschnitt Index für Textbeginn des übergeordneten Abschnitts)
Wert: Lange Ganzzahl
wk type type (Nur lesbares Attribut) Typ des 4D Write Pro Objekts. Mögliche Werte:
  • wk type default: Range oder Abschnitt ohne definierten Typ
  • wk type paragraph: Rangetyp Abschnitt
  • wk type image: Bild (eingebunden oder verankert)
  • wk type container: z.B. Kopf- oder Fußteil
  • wk type table: Referenz auf Tabelle

Nur für Ranges von Zellen, Spalten und Zeilen:

  • wk type table row: Referenz auf Tabellenzeile
  • wk type table cell: Referenz auf Tabellenzelle
  • wk type table column: Referenz auf Tabellenspalte

Nur für Unterabschnitte:

  • wk first page: Erste Seite Unterabschnitt
  • wk right page: Rechte Seite Unterabschnitt
  • wk left page: Linke Seite Unterabschnitt

Hinweis: Ranges von Zellen, Spalten und Zeilen enthalten spezifische Attribute (siehe Abschnitt unten).

Zum Definieren von "Ranges" des Dokuments gibt es verschiedene Funktionen:

Mit dem Befehl WP Get position erhalten Sie Angaben zu Position des Range in einem Dokument (Seitennummer, Spaltennummer...).

In 4D Write Pro lassen sich Tabellen per Programmierung über folgende Funktionen erstellen und einrichten:

(*) Spalten haben keine Entsprechung in html. In 4D Write Pro ist Range einer Spalte tatsächlich ein Zellenausschnitt.

Ranges von Zeilen, Spalten und Zellen werden jeweils über spezifische private Attribute definiert:

Konstante Wert Kommentar
wk column count columnCount (verfügbar für Tabellen, Dokumente und Ranges) Anzahl der Spalten. Wert: Lange Ganzzahl
  • Für eine Tabelle: Attribut nur lesbar
  • Für Dokument oder Range: Attribut im Lese-/Schreibmodus. Standardwert=1 (einzelne Spalte). Maximumwert=20
wk first column firstColumn (Nur lesbares Attribut für Range) Nummer der ersten Spalte im Range. Wert: Lange Ganzzahl
wk first row firstRow (Nur lesbares Attribut für Range) Nummer der ersten Zeile im Range. Wert: Lange Ganzzahl
wk row count rowCount (Nur lesbares Attribut für Range) Gesamtanzahl der Zeilen im Range. Wert: Lange Ganzzahl
wk table ID tableID (Nur lesbares Attribut für Range) ID der übergeordneteten Tabelle des Range. Wert: String

4D Write Pro ermöglicht, dynamische Referenzen, genannt Lesezeichen, zu Ranges anzulegen und einzusetzen. Sie werden einem spezifischen Range in einem 4D Write Pro Dokument zugeordnet.

Lesezeichen sind dynamisch, d.h. wenn der Benutzer Text, der zum Lesezeichen gehört, verschiebt, erweitert und verkleinert, wird der zugeordnete Bereich automatisch aktualisiert und das Lesezeichen bezieht sich weiterhin auf denselben Range im Dokument. Hierzu ein Beispiel:

  • Sie erstellen ein Lesezeichen mit Namen "MyBM" zum Text "Hallo Welt" auf Seite 20 im Dokument.
  • Dann fügen Sie zu Beginn des Dokuments 50 Seiten hinzu
  • Über das Lesezeichen "MyBM" können Sie weiterhin automatisch auf den gleichen Text "Hallo Welt" zugreifen, jetzt auf Seite 70 des Dokuments

Ein Dokument kann eine unbegrenzte Zahl an Lesezeichen haben. Im gleichen Range sind mehrere Lesezeichen möglich und Lesezeichen Ranges können sich auch überlappen. Lesezeichen werden nicht mit dem Befehl WP INSERT DOCUMENT importiert (Lesezeichen im Zieldokument lassen sich nicht überschreiben).

Ein angelegtes Lesezeichen wird im Dokument gespeichert. Lesezeichen werden mit dem Dokument gesichert und lassen sich über verschiedene Befehle verwalten. Sie können auch als Referenzteile einer Vorlage dienen. Diese Teile werden dann automatisch mit Daten aus der Anwendung zusammengefügt, um dynamische Ausgabedokumente, wie z.B. Rechnungen oder Kataloge zu erstellen.

Es gibt verschiedene Befehle zum Verwalten von Lesezeichen:

Diese Befehle können die verschiedenen Attribute des Dokuments erhalten oder setzen:

Weitere Informationen dazu finden Sie im Abschnitt 4D Write Pro Attribute.

Diese Funktion meldet, ob ein bestimmter Stil für den Range unterstützt wird:

In 4D Write Pro können Sie jedem Ausschnitt Ihres Dokuments Hyperlinks zuweisen; das gilt für Textausschnitt, Absatz, Bild, Tabellenzeilen oder -zellen gleichermaßen. Sie können z.B. ein Hyperlink in einen Bildbereich setzen; wird das 4D Write Pro Dokument dann in HTML exportiert, können Benutzer auf das Bild klicken, um eine Seite mit einer spezifischen Adresse zu öffnen.

Hinweis: Mit der Kombination Strg-Taste+Klick (Windows) oder Befehlstaste+Klick (macOS) können Sie Hyperlinks direkt in 4D Write Pro Dokumenten aktivieren.

Hyperlinks werden wie Attribute für Ausschnitte behandelt und über die Konstante wk link url der Befehle WP SET ATTRIBUTES und WP RESET ATTRIBUTES gesetzt oder erhalten. Wollen Sie z.B. den vom Benutzer ausgewählten Text in eine URL umwandeln:

schreiben Sie folgenden Code:

 $range:=WP Get selection(*;"WParea")
 WP SET ATTRIBUTES($range;wk link url;"http://doc.4d.com")

Hinweis: 4D Write Pro übersetzt nicht evtl. vorhandene spezielle Zeichen der URL. Solche Zeichen müssen Sie bei Bedarf codieren. Ist die URL nicht gültig, wird ein Fehler generiert.

Eingefügte URLs erhalten das standardmäßige Hyperlink Format (blau und unterstrichen), außer es wird bereits ein Textstil auf den Ausschnitt angewendet.

Beim Verwalten von URLs in Ihren Dokumenten wendet 4D Write Pro folgende Regeln an:

  • Setzen Sie einen Link auf einen Ausschnitt mit mehreren Absätzen, werden mehrere separate Links definiert.
  • Setzen Sie einen Link auf einen Ausschnitt, der bereits Links enthält, gilt folgendes:
    • vorhandene Links, die komplett innerhalb des Ausschnitts liegen, werden entfernt und der neue Link wird auf den Bereich angewandt.
    • Ist ein Link teilweise ausgewählt (er überschneidet den Ausschnitt ), wird er gekürzt, so dass der externe Teil den vorigen Link behält und der neue Link auf den Bereich angewandt wird.
  • Beim Lesen von Links mit dem Befehl WP GET ATTRIBUTES können folgende Fälle auftreten:
    • Der Ausschnitt enthält einen einzelnen Hyperlink: der Befehl gibt den URL String zurück
    • Der Ausschnitt enthält mehrere Hyperlinks: der Befehl gibt den ersten URL String zurück
    • Der Ausschnitt enthält keinen Hyperlink: er Befehl gibt einen leeren String zurück
  • Um einen Link aus einem Ausschnitt zu entfernen, schreiben Sie folgenden Code:

    oder



Siehe auch 


 
EIGENSCHAFTEN 

Produkt: 4D
Thema: 4D Write Pro Programmiersprache

 
SEITENINHALT 
 
GESCHICHTE 

Geändert: 4D v16
Geändert: 4D v16 R4
Geändert: 4D v16 R5

 
ARTIKELVERWENDUNG

4D Write Pro Handbuch ( 4D v17)