Die Funktion
SearchText (Element vom Typ „Static Text“) ist eine Ausnahme. Diese Funktion wirdzusätzlicheSuchwörter zu den Wörtern hinzufügen, die bereits auf der Registerkarte „Static Text“ angegeben sind.Die zusätzlichen Bedingungen, die im Bereich „Erweiterte Beziehungen für die Vorsuche“ eingegeben werden, dürfen sich nur auf Elemente beziehen, die sich im FlexiLayout-Baum oberhalb des aktuellen Elements befinden. Die einzige Ausnahme sind die Subelemente desselben Elements einer wiederholbaren Gruppe; sie dürfen sich auf vorherige Instanzen von Subelementen beziehen, die sich in derselben Gruppe unterhalb des angegebenen Elements befinden.
Beispiele
Verschiedene Werte für denselben Parameter angeben
Verschiedene Werte für denselben Parameter angeben
Manchmal müssen Sie ein und demselben Parameter unterschiedliche Werte zuweisen. Dies kann mit dem Operator „if… then“ erfolgen:if Element1.IsNull then {
MaxErrors: 3, 0.25;
} else {
MaxErrors: 5, 0.5;
}
Den Suchbereich einschränken
Den Suchbereich einschränken
Der Suchbereich kann mit jedem Typ angegeben werden, der einen Bildbereich definiert: Rect, RectArray, Region. Er kann auch mit einem Ausdruck angegeben werden, der einen dieser Typen zurückgibt. Das Ergebnis der Auswertung des Ausdrucks wird als Argument an die Funktion RestrictSearchArea() übergeben:a.RestrictSearchArea( Rect(Rect( Page( 1 ).RectGlobal.Left, Page( 1 ).RectGlobal.Top+20*mm, Element1.Left.Start, Element2.Ycenter.Start ) );b.let rect1 = Element1.Rect;
let rect2 = Element2.Rect;
RestrictSearchArea( rect1 or rect2 );
Die Suche nach einem Objekt abbrechen
Die Suche nach einem Objekt abbrechen
Bei manchen Dokumenten schließt das Vorhandensein eines Objekts im Bild automatisch ein anderes Objekt aus. In anderen Fällen möchten Sie vielleicht nur dann nach einem bestimmten Objekt suchen, wenn bestimmte Bedingungen erfüllt sind. Sie können das Programm anweisen, nicht nach einem bestimmten Objekt zu suchen, indem Sie den Befehl DontFind() verwenden. Sobald der Befehl ausgeführt wird, formuliert das Programm eine Nullhypothese für das entsprechende Objekt:if Element1.IsNull() then DontFind()
Eine Hypothese auswählen
Eine Hypothese auswählen
Manchmal erfüllen mehrere Bildobjekte die in einem Element angegebenen Bedingungen. Das bedeutet, dass das Programm mehrere Hypothesen formuliert. Wenn Sie aus dieser Menge nur die Hypothese auswählen möchten, die einem anderen Objekt oder Punkt im Bild am nächsten liegt, können Sie die Funktionen Nearest, NearestX und NearestY verwenden:
- Nearest( [Name des Elements] ) - legt den Namen des nächstgelegenen Elements fest.
- Nearest( x1, y1 ) - legt die Koordinaten des nächstgelegenen Punkts fest.
- NearestX( x1 ) - legt die X-Koordinate der nächstgelegenen vertikalen Linie fest.
- NearestY( y1 ) - legt die Y-Koordinate der nächstgelegenen horizontalen Linie fest.
Für mehrseitige Dokumente
Für mehrseitige Dokumente
Das Programm behandelt ein mehrseitiges Dokument als eine einzelne Einheit und kann nach einem Element in einem mehrseitigen Dokument suchen, ohne auf eine bestimmte Seite Bezug zu nehmen.Zum Beispiel:a. So geben Sie an, dass ein Element in der unteren Hälfte einer beliebigen Seite gefunden werden kann:Below: PageRect.Top + PageRect.Height / 2;(siehe die Beschreibung der Funktion PageRect für Details)b. So geben Sie an, dass sich ein Element auf der letzten Seite eines Dokuments befindet (Sie können diesen Code nur im Hauptteil des FlexiLayout nach den Elementen Header und Footer schreiben, falls vorhanden):RestrictSearchArea( Page( PagesCount ).RectGlobal );c. So geben Sie an, dass sich ein Element auf der Seite befindet, auf der ein Element mit dem Namen SearchElements.OtherElement beginnt:if SearchElements.OtherElement.IsFound then RestrictSearchArea( WholePage, SearchElements.OtherElement.Pages.Start );d. So geben Sie an, dass sich ein Element auf jeder Seite unterhalb der Instanzen der Hypothesen für eine wiederholbare Gruppe mit dem Namen SearchElements.RepeatableGroup befinden kann:Below: SearchElements.RepeatableGroup.AllInstances.PageAreaGlobal( PageNumber ).Region.Bottom;e. So geben Sie an, dass sich ein Element auf jeder Seite unterhalb des Tabellenkörpers jeder Untertabelle einer Tabelle mit dem Namen SearchElements.Table befinden kann:Below: SearchElements.Table.AllSubTables.Body.PageAreaGlobal( PageNumber ).Bottom;
