Skip to content

Arbeiten mit der Reportverwaltung und dem Reportdesigner ​

Diese Anleitung enthält 140 Artikel und Übersichten aus „Reporting“. Sie folgt dem Menü der Rubrik. Jeder Artikel ist einmal enthalten; ergänzende Verweise führen zur Online-Dokumentation.

Online: Arbeiten mit der Reportverwaltung und dem Reportdesigner

Arbeiten mit der Reportverwaltung und dem Reportdesigner ​

Mit der Reportverwaltung wählen, verwalten und drucken Sie Reports. Der Reportdesigner und die RAP-Funktionen helfen Ihnen, Vorlagen an Ihre Schule anzupassen.

Themen ​

Online: Reports verwalten und drucken

Reports verwalten und drucken ​

Wählen Sie zuerst den Report und die Schülergruppe aus, prüfen Sie die Vorschau und legen Sie anschließend die Ausgabe fest. Archivdruck, Word-Seriendruck und Mailversand sind eigene Ausgabewege.

Online: Druckfunktionen und Reportausgabe

Druckfunktionen und Reportausgabe ​

Im Menü Druckausgabe wählen Sie den Ausgabeweg für Ihre Daten. Der Report-Explorer verwaltet Vorlagen, während die Archivfunktion bereits gespeicherte Ausgaben öffnet. Welche Funktionen verfügbar sind, hängt auch von den Benutzerrechten ab.

Report-Explorer öffnen ​

Der Aufruf dieses Menüpunktes "Report-Explorer aufrufen" kann in den Benutzereinstellungen gesteuert werden. Liegen die entsprechenden Berechtigungen vor, so kann damit der Reportexplorer aufgerufen werden.

Hier haben Sie Zugriff auf alle Reports, die im Report-Verzeichnis von SchILD-NRW 2 gespeichert sind.

Weitere Informationen: Reports im Report-Explorer auswählen

Report aus Ordner Standard drucken ​

Hier wird der Report-Explorer genauso aufgerufen, wie im o.g. Menüpunkt. Einziger Unterschied ist jedoch, dass hier für den Benutzer nur ein spezieller Ordner angezeigt wird.

Alle anderen Reports, die außerhalb der Ordners "Standard" liegen, werden dann vor dem Benutzer verborgen. Diese Option kann dazu benutzt werden, bestimmten Nutzern auch nur Zugriff auf bestimmte Reports zu ermöglichen.

Ansonsten sind die Funktionen je nach Benutzereinstellungen wie im Menüpunkt

Reports im Report-Explorer auswählen.

Report aus Archiv drucken ​

Der ReportBuilder ermöglicht es, aus allen Reports in ein SchILD-NRW 2 eigenes Archiv-Format zu drucken.

Informationen und Hinweise zum Archivdruck finden Sie hier.

Report aus Archiv drucken

Word-Seriendruck ​

Es werden zwei Textverarbeitungsprogramme unterstützt. (OpenOffice und MSWord)

SchILD-NRW 2 erzeugt dabei eine Steuerdatei für den Serienbriefdruck und verknüpft die entsprechenden Dokumente direkt mit dieser Steuerdatei.

Hinweise zum Verfahren mit Serienbriefen finden Sie hier: Word-Seriendruck

Textzeugnisse zuordnen ​

Hauptsächlich an Grundschulen wird die Funktion Textzeugnisse zuordnen genutzt.

Hier heißt die Funktion auch "Grundschulzeugnisse zuordnen".

Hier können Word-Serienbriefe zu bestimmten Schülergruppen (meist Klassen) zugewiesen werden.

Diese Vordrucke werden dann mit entsprechenden Daten versehen, wobei Leistungsdaten hier nicht (!) enthalten sind.

Die Zeugnisse können dann von den Kollegen außerhalb von SchILD-NRW 2 vervollständigt werden.

Lesen Sie bitte hier weiter: Textzeugnisse zuordnen.

Textzeugnisse erzeugen ​

Weitere Informationen finden Sie unter Textzeugnisse erzeugen.

In Grundschuldatenbanken heißt diese Funktion "Grundschulzeugnisse erzeugen".

Sind im oberen Menüpunkt die Vorlagen zugeordnet worden, so können hier die Text-Dokumente erzeugt werden.

Dabei werden diese dann gruppenweise in einem Ordner abgelegt.

Bitte entnehmen Sie hier die Vorgehensweise: Textzeugnisse drucken.

Quelle: Druckausgabe – ursprüngliches Wiki

Online: Zeugnisse als Broschüren drucken

Zeugnisse als Broschüren drucken ​

Speichern Sie je Kind eine PDF-Datei und drucken Sie die Zeugnisse einer Klasse in einem gemeinsamen Druckauftrag als einzelne Hefte.

Diese Anleitung folgt dem Original-PDF des Ministeriums für Schule und Bildung des Landes NRW. Die Abbildungen stammen aus dieser Anleitung.

Voraussetzungen ​

Aktivieren Sie in der passenden INI-Datei für Ankreuzzeugnisse oder INI-Datei für Textzeugnisse die Option Duplex. Für den hier beschriebenen Ablauf benötigen Sie ein PDF-Programm mit Broschürendruck. Die Originalanleitung verwendet Foxit Reader.

Dokumentenverwaltung einrichten ​

Für den Broschürendruck ist es von Vorteil, wenn für jedes Kind einer Klasse das Zeugnis in einem „Klassenverzeichnis“ in einer separaten PDF-Datei gespeichert wird. Dazu kann die „Dokumentenverwaltung“ von SchILD-NRW 2 verwendet werden, diese muss aber erst eingerichtet werden. Gehen Sie dazu wie folgt vor:

  • In SchILD-NRW 2 den Menüpunkt „Extras → Programmeinstellungen“ aktivieren
  • Den Karteireiter „Globale Einstellungen → Dokumentenverwaltung“ auswählen

Abbildung zu Dokumentenverwaltung einrichten aus der PDF-Anleitung auf Seite 1

Abbildung zu Dokumentenverwaltung einrichten aus der PDF-Anleitung auf Seite 1

  • Wählen Sie unten ein Verzeichnis für den Zeugnisdruck aus.
  • Starten Sie SchILD-NRW 2 einmal neu.
  • Wählen Sie beim Druck des Zeugnisses die Option „Archivierung in Zeugnisverzeichnis“.

Abbildung zu Dokumentenverwaltung einrichten aus der PDF-Anleitung auf Seite 2

Abbildung zu Dokumentenverwaltung einrichten aus der PDF-Anleitung auf Seite 2

  • Es wird nun für jedes Kind eine separate PDF-Datei erzeugt.

Abbildung zu Dokumentenverwaltung einrichten aus der PDF-Anleitung auf Seite 2

Zeugnisse klassenweise als Broschüren drucken ​

Im Foxit Reader können Sie mehrere PDF-Dateien mit denselben Einstellungen als separate Broschüren drucken.

  • Starten Sie den Foxit Reader
  • Aktivieren Sie „Datei → Batch-Druck“:

Abbildung zu Zeugnisse klassenweise als Broschüren drucken aus der PDF-Anleitung auf Seite 3

  • Es erscheint das folgende Fenster, klicken Sie dort auf den Schalter „Dateien hinzufügen“

Abbildung zu Zeugnisse klassenweise als Broschüren drucken aus der PDF-Anleitung auf Seite 4

  • Es erscheint ein Datei-Auswahldialog, wählen Sie damit das Verzeichnis der betreffenden Klasse in der SchILD-NRW 2-Dokumentenverwaltung aus.

Abbildung zu Zeugnisse klassenweise als Broschüren drucken aus der PDF-Anleitung auf Seite 4

  • Drücken Sie dann die Tastenkombination „Strg-A“, um alle PDF-Dateien in diesem Verzeichnis auszuwählen. Danach den Schalter „Öffnen“ aktivieren.
  • Die Dateien werden dann im Druck-Fenster angezeigt:

Abbildung zu Zeugnisse klassenweise als Broschüren drucken aus der PDF-Anleitung auf Seite 5

  • Wählen Sie den „Zieldrucker“ aus (im obigen Beispiel ein Kyocera ECOSYS) und ggf. die Druckereigenschaften (z.B. Papierformat)
  • Stellen Sie die Ränder am besten auf 0 cm ein (das Zeugnis selbst hat ja schon Seitenränder).
  • Klicken Sie dann auf „OK“, die Dateien, die Sie ausgewählt haben, werden nun einzeln als Broschüre gedruckt.

Quelle ​

Originalanleitung als PDF, 5 Seiten

Online: Reports im Report-Explorer auswählen

Reports im Report-Explorer auswählen ​

Nach dem Aufruf des Report-Explorers öffnet sich ein neues Fenster mit der Ordnerstruktur, in der sich die verschiedenen Reports befinden. Diese Ordner entsprechen den Ordnern im Verzeichnis, in dem Sie SchILD-NRW 2 installiert haben.

Jeder Report stellt dabei sozusagen ein Formular dar, das beim Drucken mit den Daten aus der Datenbank gefüllt wird.

Druckausgabe-Explorer1

Um alle Ordner sehen zu können, klicken Sie auf das + vor SchILD-NRW 2-Reports. Der Baum könnte dann so aussehen:

Druckausgabe-Explorer2

Nachdem Sie das gewünschte Formular ausgewählt haben, können Sie mit einem Doppelklick die Druckausgabe starten. Alternativ klicken Sie auf das Symbol: Symbol-Vorschau

Es öffnet sich ein Fenster, in dem noch verschiedene Angaben zur Druckausgabe gemacht werden sollen.

Druck-Auswahl

Bleiben Sie hier bei der Auswahl erst Vorschau, nur dann haben Sie die Möglichkeit, die Ausgabe vor dem Druck zu überprüfen. Erscheint beispielsweise bei einer Liste nur der erste Schüler, ändern Sie die Auswahl im unteren Teil des Fensters von Ausgabe für... den markierten Schüler auf die ganze Gruppe ab.

Wenn die Druckvorschau Ihren Wünschen entspricht, können Sie das Dokument durch Klicken auf das Druckersymbol (oben links) an einen zuvor installierten Drucker senden. Zusätzlich haben Sie die Möglichkeit, das Dokument in eine Datei zu drucken. Dazu wählen Sie im unteren Teil des Fensters Drucken in eine Datei aus, bestimmen den zu verwendenden Dateityp und den Ort, an dem das Dokument gespeichert werden soll.

Ganz oben in der Liste finden Sie den Dateityp Archivdatei. Mit dieser Auswahl erzeugen Sie eine Archivdatei, die Sie an beliebiger Stelle speichern können. Möchten Sie das Dokument später bespielsweise auf Papier ausdrucken, wählen Sie im Menü Druckausgabe den Menüpunkt Aus Archiv drucken.

Druck-Druckauswahl

Im Menü beziehungsweise in der Symbolleiste des Reportexplorers finden Sie natürlich noch weitere Aktionen, die Sie aufrufen können.

Explorer-Symbole

Einen bestehenden Report können Sie bearbeiten, wenn Sie auf das Symbol Report-bearbeiten klicken. Weitere Informationen zum Anpassen von Reports finden Sie unter: Reporting im Überblick

Mit Hilfe der Symbole Zeichensatz-anpassen kann einem ganzen Formular eine andere Schriftart beziehungsweise eine andere Schriftgröße zugewiesen werden.

Ergänzt oder verändert man den Ordner SchILD-NRW 2-Reports während der Arbeit mit SchILD-NRW 2, zum Beispiel, wenn man aktuelle Formulare von der Internetseite herunterlädt, wird der Verzeichnisbaum im Reportexplorer erst nach erneutem Öffnen aktualisiert. Mit dem Klicken auf das Symbol Verzeichnisbaum-aktualisieren erzwingt man das Aktualisieren.

Eine Änderung der eingegebenen Daten wird nicht unbedingt sofort in ein Formular übernommen. Mit Abfrage-aktualisieren wird die Abfrage der Datenbank erneut ausgeführt und das Programm sollte die aktuellen Daten im Zugriff haben.

Manchen (vorgeblichen) Fehler können Sie beheben, indem man die Einstellungen (Symbol: Symbol-Einstellungen oder über Extras im Fenster Formularverwaltung) des Reportexplorers verändert. Erscheint beispielsweise das Fach Religionslehre doppelt, so sollte das Häkchen im Einstellungsfenster entfernt werden.

Explorer-Einstellungen

Informationen über die Datenquellen erhalten Sie mit dem Klick auf das Symbol Symbol-Datenquellen. Es erscheint eine Liste mit einer näheren Beschreibung der zur Verfügung stehenden Datenquellen.

Informationen-Datenquellen

Quelle: Reportexplorer aufrufen – ursprüngliches Wiki

Online: Standardformulare drucken

Standardformulare drucken ​

In SchILD-NRW 2 ist es möglich, ausgewählte Formulare in dem Ordner "Standard" innerhalb des Report-Explorers abzulegen. Sie können einem Benutzer das Recht geben, nur Formulare aus diesem Ordner drucken zu können.

Es gibt (mindestens) zwei Wege, um die Standard-Formulare aufzurufen.

Sie rufen das Menü Druckausgabe auf und wählen dann den Menüpunkt Report aus Ordner "Standard" drucken aus.

Drucken-Standard2

Alternativ können Sie auch den Knopf Drucken betätigen und dort Standard-Formulare drucken auswählen.

Drucken-Standard1

Es öffnet sich der Ordner Standard des Report-Explorers und Sie können das gewünschte Formular auswählen. (vgl. auch Reports im Report-Explorer auswählen)

Quelle: Standard-Formulare drucken – ursprüngliches Wiki

Online: Report aus Archiv drucken

Report aus Archiv drucken ​

Hier drucken Sie eine bereits gespeicherte Reportausgabe erneut. Dafür benötigen Sie eine SchILD-NRW 2-Archivdatei mit der Endung .raf. Sie wählen damit eine fertige Ausgabe aus, nicht die ursprüngliche Reportvorlage.

Wenn Sie den Menüpunkt Aus Archiv drucken ausgewählt haben, erwartet das Programm nach einer SchILD-NRW 2-spezifischen Archivdatei mit der Endung *.raf. Sie wechseln jetzt in den Ordner, in dem Sie die Archivdatei abgespeichert haben, und wählen die gewünschte Datei aus.

Raf-Datei-Beispiel

Nach dem Öffnen erhalten Sie auf dem Bildschirm eine Vorschau des ausgewählten Dokumentes, das Sie in gewohnter Weise ausdrucken können.

Archivdateien werden mit Hilfe der Druckausgabe erzeugt, indem man das Druckergebnis in eine Datei des Typs Archivdatei drucken lässt. Informationen finden Sie hier: Reports im Report-Explorer auswählen

Quelle: Report aus Archiv drucken – ursprüngliches Wiki

Online: Word-Seriendruck

Word-Seriendruck ​

Mit SchILD-NRW 2 können Steuerdateien für den Word-Seriendruck erstellt werden (s. auch Daten als Text- oder Excel-Datei exportieren). Das Textverarbeitungsprogramm, das für den Seriendruck verwendet wird, kann in SchILD-NRW 2 eingestellt werden. Sie wechseln dazu in das Menü Extras und wählen den Menüpunkt Programm-Einstellungen aus. Auf dem Karteireiter Individuelle Einstellungen lässt sich das Textverarbeitungsprogramm auswählen. Standardmäßig ist Microsoft Word ausgewählt.

Textverarbeitungsprogramm

Um den Word-Seriendruck zu starten, wählen Sie im Menü Druckausgabe den Menüpunkt Word-Seriendruck aus und müssen anschließend entscheiden, ob Sie mit der Standard-Steuerdatei oder mit einer selbsterstellten Steuerdatei arbeiten möchten.

Word-Seriendruck01

Die Standard-Steuerdatei heißt Datentra.txt und wird unter Windows im Ordner Eigene Dateien oder Eigene Dokumente abgelegt. Die Datei enthält folgende Daten zu einem Schüler: "InterneID"; „Name"; „Vorname"; „Namenszusatz"; „ExterneID"; „Geburtsname"; „Strasse"; „Postleitzahl"; „Ort"; „Telefon"; „EMail"; „Fax"; „AktuellesHalbjahr"; „AktAbschnitt"; „Klasse"; „Jahrgang"; „Schulbesuchsjahre"; „Geburtsdatum"; „Geburtsort"; „Volljaehrig"; „Geschlecht"; „Staatsangehörigkeit"; „Aussiedler"; „Religion"; „Religionsabmeldung"; „Religionsanmeldung"; „Bafoeg"; „Schwerbehinderung"; „Haltestelle"; „ASDSchulform"; „ASDJahrgang"; „SchulpflichtErf"; „Anschreibdatum"; „Aufnahmedatum"; „EinschulungGrundschule"; „VonSchule"; „AusSchulform"; „EntlassJahrgang"; „EntlassenAm"; „AbschlussDatum"; „ErzieherAnrede"; „ErzieherTitel"; „ErzieherVorname"; „ErzieherName"; „ErzAdrAnrede2"; „ErzAdrTitel2"; „Vorname2"; „ErzAdrName2"; „ErzieherArt"; „ErzieherPLZ"; „ErzieherOrt"; „ErzieherStrasse"; „ErzieherAnschreiben"; „Schulnr"

Die folgende Abbildung zeigt die Ausgabeoptionen, die für die Standard-Steuerdatei zur Verfügung gestellt werden:

Option-Standardsteuerdatei

Wenn Sie ihre selbst erstellte Steuerdatei verwenden wollen, öffnet sich ein Fenster mit dem Hinweis, wie Sie eine Steuerdatei erstellen können. Bitte beachten Sie, dass Sie die Steuerdatei vor dem Druck mit den jeweils aktuellen Daten füllen!

EigeneSteuerdatei

Nach Auswahl der Dokument-Vorlage in Word öffnet sich der erstellte Serienbrief im Textverarbeitungsprogramm, den Sie dann speichern und ausdrucken können.

Hinweis: Zur Zeit erwartet SchILD-NRW 2 bei der Verwendung der selbst erstellten Steuerdatei als Serienbrief-Vorlage noch eine .doc-Datei.

Quelle: Word-Seriendruck – ursprüngliches Wiki

Online: Reports per E-Mail versenden

Reports per E-Mail versenden ​

Versenden einer Reportvorlage ​

Wenn Sie eine Reportvorlage (RTM-Datei) mit jemanden austauschen wollen, dann können Sie diese Vorlage direkt aus dem Reportexplorer versenden. Voraussetzung ist es, dass der Mailversand in den Programm-Einstellungen eingerichtet ist.

Klicken Sie mit der rechten Maustaste auf den Report, den Sie versenden wollen und wählen Sie die unten abgebildete Option.

RTM-Mailversand

Je nach Einstellung öffnet sich nun das Standard-Mailprogramm oder die SchILD-NRW 2-interne Mailfunktion.

Versenden eines PDF an einen oder mehrere Empfänger ​

Diese Funktion dient dazu einen gedruckten PDF-Report in gleicher Form an einen oder mehrere Mailempfänger zu senden.

Drucken Sie den Report mit einem Doppelklick und wählen Sie folgende Option.

PDF-Mailversand01

Es erscheint nun die SchILD-NRW 2-Mail-Funktion oder das Standard-E-Mail-Programm mit dem ein fester gedruckter Report an die Empfänger gesendet werden kann.

PDF-Mailversand02

Versand eines Serienbriefs als PDF-Anhang ​

Diese Funktion bietet die Möglichkeit Serienbriefe an verschiedene Empfänger zu senden. Je nach Datenquelle des Reports werden dann die E-Mail-Adresse verwendet.

So ist es zum Beispiel möglich personalisierte Briefe an Erzieher zu senden. Auch können Sie damit Klassenliste an die Klassenlehrer versenden.

PDF-Mailversand03

Folgende Datenquellen werden unterstützt:

  • Schueler
  • Erzieher
  • Lehrer
  • Schueler mit Gruppierung auf Klassen (Mails gehen dann an den Klassenlehrer)
  • Schueler mit Gruppierung ZSSchulnrNRW oder LSSchulnr (Mails gehen dann an die aufnehmende oder abgebende Schule)

Grundsätzlich gilt folgendes:

  • Der Report muss eine Gruppierung nach der ID einer dieser Datenquellen haben.
  • Im Report muss in den Email-Settings 'enabled' aktiviert sein.
  • In der Gruppierung muss 'neue Seite' und 'email new file' aktiviert sein.

500

Emailsettings

Quelle: Mailversand aus der Reporting – ursprüngliches Wiki

Online: Reports erstellen

Reports erstellen ​

Beginnen Sie mit einem vorhandenen Report oder einem einfachen Beispiel. Der Report-Explorer organisiert die Vorlagen; im Reportbaukasten bearbeiten Sie Inhalte und Layout. Eigene Datenquellen und RAP-Funktionen erweitern die Möglichkeiten.

Online: Reporting im Überblick

Reporting im Überblick ​

Drucken02

Drucken01

Der Reportgenerator bietet über sogenannte Datenbankreports die Schnittstelle zwischen SchILD-NRW 2 und dem Drucker. Dabei werden über festgelegte Formulare die Werte aus der Datenbank abgerufen und für den Druck zusammengestellt.

Die Datenformulare werden als RTM-Dateien auf dem Computer gespeichert und können so unter den Benutzern ausgetauscht werden.

Wie diese Formulare erstellt werden, wo Sie gespeichert sein müssen und wie der Umgang mit solchen Reports geregelt wird, finden Sie unter dieser Rubrick.

Reporting-Tutorials ​

Report-Explorer einrichten

Einfache Reports erstellen und bearbeiten

Reports per E-Mail versenden

Beispielreports ​

Reports mit dem Reportbaukasten erstellen

Beispiele aus der BASIC-Reportsammlung

RAP-Funktionen ​

Eine alphabetische Auflistung aller Funktionen, die im RAP-Code der Reports benutzt werden können. Zur Erstellung von aufwändigen Reports ist eine Programmierung unerlässlich. Der RBuilder der Firma Digital-Metaphors, den wir in SchILD-NRW 2, Kurs42 und den anderen Programmen einsetzen, bietet hier eine Reihe von Möglichkeiten, wie man Berechnungen in den Formularen durchführen lassen kann. Dazu steht eine Auswahl an einfachen Delphi-Befehlen zur Verfügung. Um diese Möglichkeiten zu erweitern und den Benutzern Programmarbeiten, die immer wiederkehren, abzunehmen, wurden die Befehle um diese RAP-Funktionen ergänzt.

Im Artikel:

RAP-Funktionen

werden diese in ihrer Syntax dargestellt und (wo nötig) mit einem Beispiel erklärt.

Quelle: Reporting – ursprüngliches Wiki

Online: Report-Explorer einrichten

Report-Explorer einrichten ​

Der Report-Explorer verwaltet die Dateien Ihrer Druckvorlagen. Diese Anleitung erklärt die benötigten Einstellungen, bevor Sie Vorlagen auswählen, bearbeiten und drucken.

Dateistruktur in der Installation ​

Reportverzeichnisse

Die Reports liegen nicht mehr in einer Report-Datenbank, sondern befinden sich nun als Einzeldateien in einem Ordner der SchILD-NRW 2-Installation. Dieser Ordner hat den Namen SchILD-NRW 2-Reports. Der genaue verwendete Speicherort kann unter Menü Extras > Programmeinstellungen > Report-Verzeichnisse festgelegt werden.

Achten Sie darauf, dass diese Ordner auch in Ihrer Schildinstallation direkt im Ordner SchILD-NRW 2-Reports angelegt sind, denn diese Ordner übernehmen spezielle Funktionen und müssen daher mit exakt diesem Namen existieren.

Wenn Sie eine Serverinstallation haben, stehen hier die Pfade des Netzlaufwerks oder die UNC-Pfadangaben des Servers.

Mit dem Haken "Standard-Verzeichnisstruktur verwenden" können Sie die eingetragenen Werte übergehen, dies ist zum Beispiel nützlich, wenn man mit einer Kopie der Datenbank außerhalb der Serverumgebung arbeiten muss.

Funktionen der Ordner ​

Reportordner

  1. Header_Footer, dieser Ordner enthält alle Köpfe und Füße, die Sie in der neuen Reporting verwenden möchten. Auch diese liegen als Subreportdateien einzeln auf der Festplatte und können dort genauso wie „normale“ Reports bearbeitet werden. Viele Formulare durchsuchen genau diesen Ordner nach bestimmten Köpfen oder Füßen. Sie können sich eine Beispielsammlung von Köpfen und Füßen auf der Seite http://www.svws.nrw.de herunterladen.
  2. Standard, dieser Ordner wird für den schnelleren Druckzugang verwendet. Der Zugriff kann über SchILD-NRW 2 neben dem Druckersymbol über "Standardformulare drucken" erreicht werden. Bei diesem Ordner haben Sie auch in der Benutzerverwaltung die Möglichkeit, einigen Benutzern nur den Zugriff auf den Ordner Standard zu gewähren. Alle Formulare außerhalb können dann von diesen Benutzern nicht erreicht werden.
  3. Subreports, dieser Ordner enthält bestimmte Subreports, die von verschiedenen Formularen genutzt werden können. Die Formulare sehen dann vor dem Druck in diesem Ordner nach und laden die Subreports zur Laufzeit.
  4. Standardtexte, hier liegen die RTF-Dateien (wordähnliches Format), die auf den Zeugnissen die Hinweistexte darstellen. Diese Standardtexte können auch von der SchILD-NRW 2-Homepage im Zeugnisbereich heruntergeladen und dort hineinkopiert werden.

Daneben können Sie noch so viele Ordner anlegen wie Sie möchten. Diese müssen sich nur innerhalb des SchILD-NRW 2-Reports-Ordners befinden!

Ablegen der Reportdateien ​

Reports

Innerhalb des SchILD-NRW 2-Reports-Ordners werden die einzelnen Formulardateien mit der Endung *.rtm abgelegt. Dateien mit dieser Endung werden automatisch von der Reportverwaltung als Formulare erkannt und stehen beim nächsten Neustart zur Verfügung. Wahlweise können Sie auch das Aktualisieren-Symbol Aktualisieren im Reportexplorer drücken.

Im Dateifenster des Reportexplorers werden dann folgende Dateitypen angezeigt:

  1. RTM: Reportdateien
  2. PDF: PDF-Dokumente (Bei einem Doppelklick öffnet sich der PDF-Reader.)
  3. RTF: Richtextdateien (Bei einem Doppelklick öffnet sich das Word-Pad.)

Wenn Sie Formulardateien heruntergeladen haben oder diese per E-Mail bekommen haben, müssen Sie diese Dateien in den jeweiligen Ordner der SchILD-NRW 2-Reports-Umgebung speichern.

Formulardownload ​

Auf der Internetseite der Schulverwaltungsprogramme http://www.svws.nrw.de können Sie sich zusätzliche Formulare, Zeugnisse und Köpfe und Füße herunterladen (Downloads -> Drucken).

Es steht auch ein Formularpaket mit über 100 Reports zur Verfügung (Basic-Reportsammlung). Diese Reportsammlung enthält Reports, die für den alltäglichen Gebrauch in SchILD-NRW 2 bestimmt sind.

Achten Sie bitte darauf, dass die Reports-Ordnerstruktur mit den 4 festgelegten Ordnern erhalten bleiben muss. (Header_Footer, Standard, Standardtexte und Subreports)

Ordnerstruktur ​

Reports

Reports_alt

Eine sachgerechte Organisation der Ordnerstruktur, die sinnvolle Vergabe der Benutzerrechte und regelmäßiges Ausmisten kann die tägliche Arbeit enorm erleichtern. Eine solche Struktur ist zum Beispiel in der Basis-Reportsammlung angelegt.

In den Abbildungen sind jeweils aktive Report-Ordner eines Gymnasiums vor (rechts) und nach (links) der Überarbeitung dargestellt. Vor der Überarbeitung waren im Report-Ordner mehr als 4000 Dateien. Nach einer vorsichtigen Überarbeitung sind es weniger als 1000.Während der Überarbeitung werden keine Dateien gelöscht. Nicht unbedingt benötigte Dateien werden in den Ordner ARCHIV geschoben und können von dort aktiviert werden!

Folgende Aspekte können bei der Überarbeitung der Ordnerstruktur helfen:

funktionale Gliederung; die Ordner mit den Reports werden durch Ziffern sortiert. So kann eine funktionale Gliederung je nach Bedarf der schulischen Verwaltung erstellt werden.

Spielwiese; Ort für´s Basteln an Reports, Testversionen etc. Hier darf sich jeder austoben.

Archiv; hier liegt die alte Ordnerstruktur. dieser Ordner enthält bestimmte Subreports, die von verschiedenen Formularen genutzt werden können. Die Formulare sehen dann vor dem Druck in diesem Ordner nach und laden die Subreports zur Laufzeit.

Nirvana; bevor Reports gelöscht werden, liegen sie ein Jahr im Nirvana (und nur dort). Wenn sie im Alltag nicht vermisst wurden, können sie gerne gelöscht werden. Bitte nie Zeugnisformulare löschen! Diese gehören ins Archiv.

Quelle: Einrichtung des Report-Explorers – ursprüngliches Wiki

Online: Einfache Reports erstellen und bearbeiten

Einfache Reports erstellen und bearbeiten ​

Erstellen Sie hier eine einfache Liste oder passen Sie eine vorhandene Vorlage an. Die Anleitung beginnt mit Beispielen und dem Berichtsassistenten. Danach folgt das Erstellen einer Liste ohne Assistenten.

Einfache Änderungen an bestehenden Reports vornehmen ​

Beispiel aus der BASIC-Reportsammlung [[1]] verwenden --> Schriftart und –größe anpassen, Position verändern, Größe eines Textfeldes verändern

Einstellungen im Report-Explorer ​

Bevor Sie mit der Arbeit im Report-Explorer beginnen, wählen Sie zunächst die Schülergruppe, zum Beispiel eine Klasse aus, für die Sie den Report benutzen möchten. Vorteil dieser Vorgehensweise ist es, dass Sie bei den Versuchen nur eine kleine Schülergruppe im Zugriff haben und damit schneller das Ergebnis in der Vorschau sehen können. Haben Sie alle Schülerdaten im Zugriff, kann die Vorschau abhängig von der Komplexität des gewählten Reports recht lange dauern.

Sie haben den Report-Explorer aufgerufen. Im Menü Datei finden Sie den Menüpunkt Neuen Report erzeugen (Shortcut Strg + N), mit dem Sie eine leere Arbeitsfläche erzeugen können. Das Symbol Report-Neu-Symbol hat denselben Effekt.

Report-Neu-2

Die leere Arbeitsfläche für den neuen Report öffnet sich in einem neuen Fenster. Je nach Einstellung kann dieses Fenster dreigeteilt sein. Das Menü Ansicht bietet Möglichkeiten, die Fensterstruktur den eigenen Arbeitsgewohnheiten anzupassen. Dazu wählen Sie die Werkzeugleisten aus, die man sehen möchte.

Report-Neu-Werkzeugleisten

Über den Berichtsbaum können Sie sich orientieren, wo man sich innerhalb der Struktur eines Berichtes befindet. Diese Anzeige ist besonders bei komplexeren Reports hilfreich. Der Feldassistent ermöglicht ein einfaches Zugreifen auf die zur Verfügung stehenden Felder, die man im Report verwenden kann.

Ohne Auswahl einer Werkzeugleiste sieht das Fenster so aus:

Report-Neu-Ohne-WL

Schalten Sie bitte die Lineale an. So erleichtern Sie sich die Positionierung der einzelnen Elemente des Berichtes.

Report-Neu-Lineal

Als Maßeinheit wähle ich Millimeter. Report-Neu-mm

Für jeden Bericht lassen sich die Ränder einstellen. Der angezeigte Bereich ist dann der Bereich ohne die Ränder, das heißt, man kann alle Felder ganz am Rand des sichtbaren Bereichs ausrichten. Wählen Sie Datei - Seite einrichten, um die Einstellungen vorzunehmen.

Report-Neu-SeiteEinrichten

Beim Karteireiter Ränder können Sie die gewünschten Werte eingeben.

Report-Neu-Raender

Erstellen einer einfachen Liste mit dem Berichtsassistenten ​

Wenn Sie ausgewählte Daten schnell und ohne weitere Wünsche an die Gestaltung in Listenform ausgeben möchten, können Sie sich diese mit Hilfe des Berichtsassistenten erzeugen. Die Handhabung entspricht dem Assistenten, den Sie auch bei Access finden.

Sie haben, wie im Abschnitt "Einstellungen im Report-Explorer" beschrieben, einen neuen Report geöffnet. Wählen Sie nun unter Datei den Menüpunkt Neu. Sie bekommen eine Auswahl an Berichtsassistenten für verschiedene Zwecke.

Assistent-Auswahl

Durch einen Doppelklick auf Berichtsassistent wählen Sie diesen aus. Nun können Sie aus einer Datenquelle - voreingestellt Schueler - durch einen Doppelklick beliebig viele Datenfelder für Ihre Liste auswählen.

Assistent-Datenfelder

Hinweis: Mit dem Berichtsassistenten können Sie immer nur auf eine einzelne der zahlreichen SchILD-NRW 2-Datenquellen zugleich zugreifen. Für ganz einfache Listen und Formulare reicht das aber in der Regel aus.

Über die Pfeile/Doppelpfeile wählen Sie die Felder, die auf dem Formular ausgedruckt werden sollen. Felder, die Sie versehentlich ausgewählt haben, entfernen Sie mit Hilfe der Rückpfeile.

Assistent-Uebersicht

Die Reihenfolge der Felder kann durch Klick auf die Pfeiltasten nach oben/unten auch nachträglich festgelegt werden. Mit Weiter erhalten Sie eine Übersicht über die von Ihnen gewählten Felder. Sie dient zu Ihrer Information. Hinweis: Eine mögliche Gruppierung in der Ausgabe des Formulares macht an dieser Stelle wenig Sinn. Gezielter gruppieren können Sie mit den Funktionen des Formulardesigners.

Assistent-Layout

Klicken Sie auf Weiter und legen Sie nun das Layout Ihres Berichtes fest. Die Option Feldbreiten anpassen, so dass .... sollte in den meisten Fällen angeklickt bleiben. Ggf. wählen Sie hier die Option Querformat. Nach der Entscheidung für Tabelle und Hochformat klicken Sie bitte auf Weiter.

Assistent-Berichtsstil

Nun kann noch ein Layoutstil ausgewählt werden und mit Weiter wird eine Druckvorschau angeboten. Hinweis: Die angebotenen Layoutstile sind sicherlich für den Schulgebrauch nur bedingt brauchbar. Sie lassen sich allerdings im anschließenden Bearbeitungsmodus in jeder Form modifizieren. Hierzu wechseln Sie nach dem Fertigstellen des Berichtsassistenten zur Karteikarte Entwurf.

Mit Fertigstellen wird der Bericht mit der ausgewählten Schülergruppe gefüllt und kann über das Druckersymbol oder - nach Wechsel auf den Karteireiter Entwurf - über das Menü Datei – Drucken ausgedruckt werden.

Assistent-Vorschau

Über Datei – Speichern unter kann das Formular unter einem von Ihnen gewählten Dateinamen in einem von Ihnen gewählten Verzeichnis abgespeichert werden.

Erstellen einer einfachen Liste ​

Zum Erstellen einer einfachen Liste "zu Fuß", das heißt ohne den Berichtsassistenten zu verwenden, sollten auch zunächst die vorbereitenden Einstellungen vorgenommen werden.
Der leere Bericht ist in drei Teile gegliedert: Kopf, Detailbereich und Fuß. Kopf und Fuß werden pro Seite einmal gedruckt, während im Detailbereich der eigentliche Bericht erzeugt wird.

Erstellen einer einfachen Anwesenheitsliste einer Klasse

Bevor Sie sich an die Erstellung der Liste machen, prüfen Sie, ob Sie die richtigen Daten im Zugriff haben. Im Menü Bericht gibt es den Menüpunkt Datenquellen…, standardmäßig ist hier die Datenquelle Schueler ausgewählt. Für eine Klassenliste ist das die richtige Datenquelle.

In der Liste sollen nun Name und Vorname der Schüler angezeigt werden.

Klicken Sie dazu zunächst auf das Symbol für ein DBText-Feld Report-Neu-DBText-1 und klicken Sie dann in den Detailbereich, es erscheint ein DBText-Feld. Dieses DBText-Feld können Sie nun an die gewünschte Position schieben.
Report-Neu-DBText-2

Haben Sie die Werkzeugleiste Bearbeiten aktiv geschaltet?

Wenn Sie nun auf das DBText-Feld klicken, wird in der Werkzeugleiste Bearbeiten die ausgewählte Datenquelle Schueler angezeigt. Das Feld daneben ist noch leer.

Report-Neu-DBText-3

Jetzt wählen Sie das passende Datenfeld aus, hier: NameVorname

Mit Hilfe des Kontextmenüs (rechte Maustaste) vom DBText-Feld können Sie Anpassungen vornehmen, beispielsweise die automatische Größenanpassung des Feldes ermöglichen. Damit werden lange Namen auch ganz angezeigt.

Sehen Sie sich das Ergebnis in der Vorschau an. Dazu klicken Sie auf den Karteireiter Vorschau.

Sie sollten eine Liste mit den Namen der Schüler erhalten, die Sie vorher ausgewählt hatten.

Report-Neu-Vorschau-1

In der Entwurfsansicht können Sie die Liste mit weiteren Datenbankfeldern ergänzen.

Um der Liste eine Überschrift hinzuzufügen, setzen Sie in den Kopf-Bereich (das Kopfband) des Berichtes ein einfaches Label Report-Neu-Label-Symbol, zum Beispiel "Adressenliste der Schüler".

Report-Neu-Label

Unter die Kopfzeile können Sie eine Linie Report-Neu-Linie einfügen, die die Überschrift optisch abtrennt. Natürlich können auch Linien im Detailbereich hinzugefügt werden, die die Liste gliedern. Wenn Sie eine Linie eingefügt haben, können Sie in der Symbolleiste einstellen, ob die Linie oben, unten, links oder rechts im aufgezogenen Feld sein soll. Diese Auswahlliste finden Sie neben der Auswahlliste für Schriftgröße und Schriftart. Zusätzlich können Sie im Kontextmenü der Linie (Klick auf die rechte Maustaste) auswählen, ob die Linie über die Breite der Stammkomponente (hier: Seitenbreite ohne Rand) gehen soll.

Report-Neu-Linie-Kontext

Die Liste sähe dann so aus:

Report-Neu-Vorschau-2

Im Fußbereich können Systemvariablen Report-Neu-Systemvariable ausgewertet werden, damit können Sie beispielsweise den Dateinamen oder das Druckdatum einfügen.

Report-Neu-Systemvariable-Auswahl

Vorschau der gesamten Liste:

Report-Neu-Vorschau-3

Schulkopf in ein Formular einbinden ​

Viele Listen und Briefe sollten denselben Schulkopf bekommen. Möglicherweise unterscheidet man zwischen einem internen Schulkopf und einem Schulkopf für die verschiedenen Schreiben. Die benötigten Köpfe können einmal gestaltet werden und dann in die verschiedenen Formulare eingebunden werden. Als Grundlage finden Sie in der Basis-Reportsammlung verschiedene Schulköpfe, die Sie einsetzen können.

Beispiel: Schulkopf-einfach.rtm

Report-Header-SchulkopfEinfach

Ein Kopf (oder auch ein Fuß) ist im Grunde ein normaler Report, der im Ordner Header_Footer gespeichert wird.

Report-Header-Struktur

So ein Kopf-Report besteht dabei nur aus dem Detailbereich, Kopf und Fuß des Berichtes sind nicht aktiviert.

Report-Header-Einstellung

Um den Schulkopf einzubinden, rufen Sie eine schon vorhandene Liste auf. Die im obigen Kapitel erstellte Geburtstagsliste enthält im Kopfbereich ein Label "Geburtstagsliste". Über diesem Namen der Liste soll nun noch der Schulkopf eingefügt werden.

Report-Header-ohneSubreport

Dazu vergrößern Sie den Kopfbereich auf etwa das Maß, das Sie für den Kopf benötigen. Schieben Sie das Label und die Linie an den unteren Rand des Kopfbereiches. (Wenn Sie in den freien Bereich mit der linken Maustaste klicken und die Maustaste gedrückt halten, dann den Mauszeiger über beide Elemente bewegen, können Sie die Elemente gemeinsam markieren. Beim anschließenden Verschieben bleibt der Abstand zwischen den Elementen bestehen.)

Hinweis: Sie können die einzelnen Arbeitsbereiche des Formulars in der Größe beliebig anlegen. Fahren Sie dazu mit der Maus über das geöffnete Formular im Entwurfs-Modus. Sowie Sie die graue Trennungszeile zwischen den einzelnen Formularbereichen berühren, wandelt sich der Mauszeiger in einen oben/unten-Pfeil und Sie können mit gedrückter Maustaste den entsprechenden Bereich nach unten vergrößern beziehungsweise nach oben verkleinern oder sogar unsichtbar machen.

Wählen Sie in der Symbolleiste das Symbol Report-Header-dynSubreport für einen dynamisch ladbaren Subreport aus und klicken Sie dann in den freien Kopfbereich, um das Feld für den Subreport einzufügen. Öffnen Sie nun das Kontextmenü des Subreports (Rechte Maustaste) und wählen Sie den passenden Schulkopf aus: Subreport-Datei wählen ... Es öffnet sich das Report-Verzeichnis Header_Footer, aus dem Sie die gewünschte Datei auswählen können.

Report-Header-mitSubreport

Wählen Sie die Vorschau und lassen Sie sich das Formular anzeigen.

Report-Header-Vorschau

Speichern Sie im Entwurfsmodus das Formular in einem Verzeichnis Ihrer Wahl ab.

Erstellen eines einfachen Briefes ​

--> Brief oder Bescheinigung erstellen

Zeilenzählungen (DBCalc) einfügen ​

Gruppierung von Listenausdrucken ​

Um bestimmte Inhalte (zum Beispiel: Klassen, Geburtsjahrgänge, m/w u.a.) zusammenzuhalten, werden über Entwurf / Bericht / Gruppen [Strg+G] Gruppen definiert. Dabei können beliebig viele Gruppierungsebenen genutzt werden. Beispiele hierfür sind vor allem Klassen- oder Kurslisten beziehungsweise Übersichten für die Bundesjugendspiele etc.

Dialog Gruppen ​

Gruppen_001

1. Gruppe hinzufügen / einfügen (das Ergebnis ist ähnlich)

2. Umbruch (Gruppierungsebene) bei

- Datenfeld, das heißt aus den zur Verfügung stehenden Datenfeldern der Datenquelle (hier Schueler);
  - Benutzerdefiniertes Feld, das heißt aus den aktiven Feldern der Report-Datei.\

3. Bei Gruppenwechsel

- Neue Seite beginnen = ja zum Beispiel bei Klassen, wenn jede Klasse einen eigenen Ausdruck bekommen soll;
  - Neue Seite beginnen = nein zum Beispiel wenn innerhalb einer Klasse nach m/w getrennt wird;\

- Seitennummerierung zurück = fängt immer neu an zu zählen\

- Start on odd page = beginnt auf ungerader Seite neu, wichtig für Duplexdruck!\

- Gruppe zusammenhalten = wenn zum Beispiel innerhalb der Daten eines Schülers ein Seitenumbruch 
    verhindert werden soll
  - Prevent Orphans (in der übernommenen Quelle nicht erläutert)
  - Gruppenkopf bei ... = wichtig für Listen, wenn zum Beispiel Tabellenüberschriften 
    auf den folgenden Seiten erneut gedruckt werden sollen. 
    Allerdings müssen dies dann auch in den entsprechenden Gruppenkopf im Entwurf eingetragen sein!\

Verwendung von Unterberichten (SubReports) ​

zum Beispiel zur Ausgabe aller Telefonnummern eines Schülersin

Unterbericht einfügen über entsprechende Auswahl in der Symbolleiste (siehe unten) Unterbericht_002

Nicht verwechseln mit Dynamisch ladbarer SubReport!

Wichtig! Unterberichte funktionieren nur, wenn eine abhängige Datenquelle genutzt wird.
 Informationen und Übersicht hierzu im ReportDesigner / Info zu Datenquellen\

Unterbericht_004

Wichtige Anpassungen der Standardeinstellungen ​

1. Breite der Stammkomponente: Wenn der Unterbericht nicht über die gesamte Report-Breite verlaufen soll über rMt / Breite der Stammkomponenten / deaktivieren

2. Titel: in der Regel deaktivieren über Bericht / Titel / deaktivieren

3. Zusammenfassung wie Titel

Ansonsten kann ein Unterbericht wie ein normaler Report bearbeitet werden.

Einfache Programmierung von Text- und Datenbankfeldern ​

zum Beispiel Einfügen der korrekten Anrede „Herr..“ oder „Frau..“ beziehungsweise „Klassenlehrer“ oder Klassenlehrerin“ in Abhängigkeit vom Geschlecht der Personen

Anpassen von Kreuztabellen ​

Für statistische Abfragen eignen sich Kreuztabellen, die auch im Reportgenerator zur Verfügung stehen. In der Basic-Sammlung [[2]] gibt es im Ordner A3_Statistik (Kreuztabellen) für die Schule das Formular Statistik_Religion mw.rtm. Für jede Klasse werden die verschiedenen Religionszugehörigkeiten der Schüler summiert und aufgelistet.

Kreuztabelle-Religion1

Voraussetzung für eine lesbare Liste ist, dass der Katalog der verschiedenen Religionen gepflegt ist. Unterscheidet man zwischen zum Beispiel zwischen katholisch und römisch-katholisch, so wird jede Kategorie getrennt aufgeführt. Wie im obigen Beispiel zu sehen ist, passt dadurch die Liste nicht mehr auf eine DIN-A4-Seite im Hochformat.

Wenn die Schüler mehr verschiedenen Religionen angehören, als auf die Seite passt, können Sie die Liste im Querformat erzeugen. Rufen Sie dazu das Formular Statistik_Religion mw.rtm zum Bearbeiten auf und wählen Sie den Menüpunkt Datei --> Seite einrichten. Auf dem Karteireiter Papiergröße wählen Sie dann das Querformat aus.

Kreuztabelle-CrossTab2

Wechseln Sie nun in die Entwurfsansicht. Im Detailbereich des Reports finden Sie das Feld CrossTab2:Schueler, welches die eigentliche Kreuztabelle enthält. Vergrößern Sie dieses Feld bis zum rechten Seitenrand, indem Sie es an der rechten Seite mit der gedrückten linken Maustaste größer ziehen. Speichern Sie die Änderungen und rufen Sie das Formular nun erneut auf, um die Tabelle zu überprüfen. Befindet sich ganz rechts eine Spalte mit der Gesamtsumme? Wenn nicht, dann sind es zu viele Spalten oder zu breite Spalten für die Seitenbreite. Vergeben Sie gegebenenfalls sinnvolle Abkürzungen im Katalog der Religionszugehörigkeiten.

Kreuztabelle-Uebersicht

Öffnen Sie das Formular in der Entwurfsansicht. Im Kontextmenü des Feldes CrossTab2:Schueler finden Sie den Menüpunkt Konfigurieren....

Kreuztabelle-konfigurieren

Es öffnet sich ein weiteres Fenster, in dem die Kreuztabelle eingerichtet werden kann. Einzelne Felder aus der Übersicht (links im Fenster) können den Zeilen und Spalten durch Ziehen mit der Maus an die gewünschte Stelle hinzugefügt werden. Benötigt man ein Feld nicht mehr, kann es aus der Kreuztabelle wieder zurück in die Übersicht geschoben werden.

Kreuztabelle-einrichten

Für jedes Feld können Sie im Kontextmenü u.a. bestimmen, ob das Feld sichtbar sein soll oder nicht. In der Symbolleiste können Sie beispielsweise die Sortierung festlegen. Wenn man das Feld ReligionAbk anklickt, erkennt man, dass hier die alphabetische Reihenfolge vorgegeben ist. Entfernt man diese Sortierung, hängt die Reihenfolge der Religionszugehörigkeiten davon ab, wie sie in den Schülerdaten vorkommen.

In der vorgegebenen Version der Kreuztabelle werden die Spaltenüberschriften nur auf der ersten Seite angedruckt. Die wiederholten Überschriften auf jeder neuen Seite erhalten Sie, wenn man in der Entwurfsansicht mit der rechten Maustaste auf das Feld CrossTab2:Schueler klickt und dann den Menüpunkt Layout wählt. Hier können Sie statt Standard die Wiederholende Beschriftung auswählen.

Kreuztabelle-Layout

Quelle: Erstellen einfacher Reports – ursprüngliches Wiki

Zeugniskopf im Reportdesigner bearbeiten ​

Die folgenden Arbeitsschritte beziehen sich auf die Originalquelle, Seiten 1–1.

Zeugniskopf im Reportdesigner bearbeiten – Abbildung aus der Originalanleitung, Seite 1

23.11.2012

Ändern des Zeugniskopfes im Reportdesigner ​

Speichern Sie den Zeugniskopf im Reportverzeichnis der SchILD-NRW-Installation im Unterordner „Header_Footer“

Ändern des Zeugniskopfes im Reportdesigner – Abbildung aus der Originalanleitung, Seite 1

Öffnen Sie nun Ihr SchILD-NRW-Programm und gehen Sie unter Druckausgabe > Report-Explorer aufrufen in die Reportverwaltung.

Dort können Sie nun im Ordner Header_Footer den Report durch Anklicken mit der rechten Maustaste und Report bearbeiten zur Bearbeitung öffnen.

Ändern des Zeugniskopfes im Reportdesigner – Abbildung aus der Originalanleitung, Seite 1

Sollte der Zeugnis_Kopf.rtm noch nicht sichtbar sein, aktualisieren Sie bitte die Ansicht durch Klick auf das Symbol:

Ändern des Zeugniskopfes im Reportdesigner – Abbildung aus der Originalanleitung, Seite 1

Nun können Sie durch Doppelklick auf das Label die Angaben zur Sekundarstufenform ändern. Es lassen sich auch weitere

Ändern des Zeugniskopfes im Reportdesigner – Abbildung aus der Originalanleitung, Seite 1

Datenfelder oder Labels einfügen.

Bitte vergessen Sie nicht, unter Datei > Speichern den Kopf auch zu speichern!

Online: Beispiele aus der BASIC-Reportsammlung

Beispiele aus der BASIC-Reportsammlung ​

Wenn Sie anfangen, mit dem Reportexplorer zu arbeiten, bietet es sich an, die BASIC-Reportsammlung [[1]] herunterzuladen. Sie haben damit Beispiele aus den verschiedenen Anwendungsbereichen zur Verfügung, die Sie als Grundlage verwenden können.

Einzelne Reports aus der Sammlung werden in diesem Kapitel genauer vorgestellt.

Vorausgesetzt ist, dass Sie die Reportsammlung im Ordner SchILD-NRW 2-Reports abgespeichert haben und die mitgelieferten Briefköpfe und -füße in den Ordner Header_Footer, der ein direkter Unterordner von SchILD-NRW 2-Reports sein muss, verschoben haben.

DIN-Erzieherbrief (Ordner: A4_Mitteilungen) ​

Auf der Grundlage des DIN-Erzieherbriefes können einfach und schnell Briefe an die Erziehungsberechtigten erstellt werden. Wenn Sie den Brief aufrufen, erhalten Sie folgende Ansicht:

Erzieherbrief-00

In diesem Report ist direkt die Aufforderung enthalten, den Brieftext im Reportexplorer anzupassen. Möglicherweise möchten Sie auch weitere Kleinigkeiten ändern.

Wenn Sie den Report DIN-Erzieherbrief.rtm zur Bearbeitung aufrufen, sehen Sie die Struktur des Briefes. Im Kopfbereich sind zwei dynamisch ladbare Briefköpfe untergebracht, im Detailbereich finden Sie den eigentlichen Brieftext, im Fußbereich befindet sich ein dynamisch ladbarer Fuß.

Erzieherbrief-01

Klicken Sie nun mit der rechten Maustaste auf den Brieftext, dann können Sie ihn zum Bearbeiten öffnen.

Erzieherbrief-02

Erzieherbrief-03

Nachdem Sie die Änderungen beim Schließen des Editors gespeichert haben, lassen sich die Änderungen in der Vorschau überprüfen. Speichern Sie anschließend das erstellte Briefformular unter einem aussagekräftigen Namen ab.

Wenn Sie nun die passende Schülergruppe auswählen, können Sie den Brief an die Erziehungsberechtigten ausdrucken!

Es fällt auf, dass der Brieftext im Vergleich zur Anrede verrutscht ist. Um den Brieftext, also hier das RichText-Element richtig auszurichten, öffnen Sie im Reportexplorer den Header Erzieher_Kopf.rtm, der in den Erzieherbrief eingebunden wird.

Wenn Sie nun das Element DBText1, welches die formale Anrede enthält, mit der rechten Maustaste anklicken, finden Sie im Kontextmenü den Eintrag Position.

Erzieherbrief-08

Die Position von links hat den Wert 20,373.

Erzieherbrief-07

Diese Zahl merken Sie sich und öffnen über den Reportexplorer nun wieder den Erzieherbrief. Dort klicken Sie - wiederum mit der rechten Maustaste - auf das RichText-Feld, das den Brieftext enthält. Öffnen Sie auch hier den Menüpunkt Position und geben Sie den Wert 20,373 hier ein.

Erzieherbrief-09

Bestätigen Sie Ihre Eingabe mit Anwenden, Sie sehen dann, wie das RichText-Feld die Position ändert. Überprüfen Sie das Ergebnis in der Vorschau.

Erzieherbrief-10

Unfallanzeige Unfallkasse NRW (Ordner: A1_Formulare) ​

Das Formular für die Unfallanzeige muss vor dem Einsatz zunächst mit den schulspezifischen Angaben zum zuständigen Gemeindeunfallversicherungsverband und der Versicherungsnummer gefüllt werden. Wenn Sie anschließend den Report aufrufen, werden Sie mit Hilfe von Texteingabefeldern durch das Formular geleitet.

Unfallanzeige-01

Öffnen Sie den Report Unfallanzeige Unfallkasse NRW.rtm zur Bearbeitung. Wie im Formular beschrieben, verändern Sie die drei RichText-Felder, in denen die schulspezifischen Angaben eingetragen werden sollen. Diese Anpassung müssen Sie nur einmal vornehmen. Anschließend speichern Sie das veränderte Formular.

Unfallanzeige-02

Änderungen am Layout können Sie wie in allen anderen Formularen vornehmen. Wenn beispielsweise der Schulname und die Schulbezeichnung so lang sind, dass Textteile übereinander liegen, schieben Sie die Felder entsprechend auseinander.

Wenn Sie dagegen Änderungen an den Texteingabefeldern vornehmen möchten, müssen Sie sich die Programmierung ansehen. Dazu öffnen Sie den Report zum Bearbeiten und wechseln dann auf den Karteireiter Berechnungen. Klicken Sie nun auf das Berichts-Element Report (oben auf der linken Seite) und wählen Sie das grün unterlegte Ereignis BeforePrint aus.

Unfallanzeige-03

Im unteren Bildschirmbereich sollte nun die procedure ReportBeforePrint zu sehen sein, in der die Texteingabefelder aktiviert werden.

Zunächst werden verschiedene Variablen (zum Beispiel Wochentag, Datum, Hergang, Schilderung) deklariert, die beim Aufruf des Reports durch die Eingaben des Nutzers mit Inhalt gefüllt werden.

Unfallanzeige-04

Durch die Anweisung "Zeuge := StringInput ( 'Name u. Anschrift von Zeugen ' , ' ');" wird der Variablen Zeuge die Eingabe des Texteingabefeldes, das durch StringInput erzeugt wird, zugewiesen. In den Klammern steht zunächst der Text, der angezeigt wird, die beiden Hochkommata hintereinander erzeugen ein leeres Eingabefeld. Sie können hier auch schon Vorschläge für die Eingabe machen, wie es für die Variable Augenzeuge erfolgt: " Augenzeuge := StringInput ('War diese Person Augenzeuge?' , 'JA');". Dies erleichtert dem Benutzer die Eingabe, da er einfach auf OK klicken kann.

Nach dem Einlesen des Textes in die jeweilige Variable wird der Inhalt der Variablen an das Label-Feld übergeben, das an der entsprechenden Stelle im Formular steht: "Label61.Text := Zeuge;"

Unfallanzeige-05

Wenn Sie ein größeres Eingabefeld, zum Beispiel bei der Schilderung des Unfallhergangs bevorzugen, können Sie es über den Aufruf des Editors erreichen, die Zeile würde dann lauten:

"Hergang := EditPlainText('Schildern Sie hier bitte den Unfallhergang und geben Sie die Art der Veranstaltung bzw. die Sportart bei Sportunfällen an');"

Unfallanzeige-06

Leistungsuebersicht_akt_HJ_A3.rtm (Ordner: A5_Leistungsübersichten --> Uebersichten Sekundarstufe 1) ​

Im Ordner A5_Leistungsübersichten finden Sie Formulare unterschiedlicher Komplexität für die Leistungsübersichten der Sekundarstufe I und II. Die Leistungsübersicht Leistungsuebersicht_akt_HJ_A3.rtm listet die Leistungen der Schüler im aktuellen Halbjahr auf. Berechnungen werden in diesem Formular nicht durchgeführt.

Hinweis: Für diesen Report sollten Sie nur eine Klasse auswählen, für die die Übersicht ausgegeben wird. Wenn Sie mehrere Klassen auswählen, dann werden immer alle Fächer aller Klassen angezeigt (vgl. Funktion Faechervorbelegen, die für den gesamten Report gilt).

Leistungsuebersicht-01

Die Leistungsübersicht ist tabellarisch aufgebaut, wobei die Tabelle abhängig von den zugewiesenen Fächern erstellt und gefüllt wird. Somit ist die Spaltenanzahl der Tabelle nicht fest vorgegeben, sondern abhängig von der verwendeten Stundentafel beziehungsweise von den Fächern, die die ausgewählten Schüler im aktuellen Halbjahr haben.

Wenn Sie den Report im Bearbeitungsmodus öffnen, sehen Sie, dass zwei Subreports mit der Datenquelle Fachuebersicht benutzt werden.

Leistungsuebersicht-02

Der Subreport1 steht im Kopf des Reports, hier wird einmal die Überschriftenzeile für die Tabelle erzeugt, in dem alle Fächer, die den ausgewählten Schülern zugeordnet sind, ausgegeben werden. Dazu wird für jedes Fach im Subreport eine Tabellenzelle als Kästchen mit dem zugehörigen Fachkürzel angelegt.

Leistungsuebersicht-03

Der Subreport durchläuft dabei die gesamte Liste aller Fächer, die im aktuellen Abschnitt in dieser ausgewählten Gruppe vorkommen. Damit das gelingt, wird im Hauptbericht beim Ereignis "BeforePrint" die Funktion Faechervorbelegen aufgerufen.

Leistungsuebersicht-04

Die durch die Funktion Faechervorbelegen gefüllte interne Tabelle wird beim Ereignis "AfterPrint" durch den Aufruf der Funktion ResetFaechervorbelegung wieder geleert, damit bei einem erneuten Aufruf des Reports nur die zugehörigen Fächer angezeigt werden.

Die Daten aus dieser internen Tabelle werden auch im Subreport2 verwendet, der sich im Detailbereich des Reports befindet.

Leistungsuebersicht-05

Hier wird für jedes Fach aus der Datenquelle Fachuebersicht die Note in Kurzform, also als Ziffer, ausgegeben. Wird das Fach als Kurs unterrichtet, dann wird zusätzlich die Kurzbezeichnung des Kurses mit ausgegeben.

S2 Konferenz LeistÜbersicht.rtm (Ordner: A6_Konferenzen\Zeugniskonferenzen\Sekundarstufe II) ​

Mit diesem Report können Sie eine Leistungsübersicht für jeden Schüler über mehrere Schulhalbjahre hinweg erstellen. Im Beispiel sind nur die Noten für die Q1 eingetragen, daher ist die Zeile für die Q2.1 nicht gefüllt.

Leistungsuebersicht-06

Wenn Sie nun in die Bearbeitungsansicht des Reports wechseln, dann sehen Sie, dass neben der Datenquelle Leistungsuebersicht zusätzlich die Datenquelle Schuelerlaufbahn genutzt wird. Die Schuelerlaufbahn ermöglicht es, auf die Daten der abgeschlossenen Abschnitte in der schuelerlaufbahn zuzugreifen.

Leistungsuebersicht-07

Innerhalb eines abgeschlossenen Abschnittes kann dann auf die zugehörige Leistungsübersicht zugegriffen werden.

Leistungsuebersicht-08

Damit nicht alle Abschnitte von Jahrgang 5 an beginnend aufgelistet werden, sind in diesem Report nur die Abschnitte ab Jahrgangsstufe 11 auf sichtbar gesetzt worden. Sie finden die Programmierung im Detailbereich von SubReport1 beim Ereignis BeforePrint.

Leistungsuebersicht-09

Um die Noten, die schlechter als ausreichend sind, farblich zu markieren, müssen Sie in die Berechnungen von SubReport2 wechseln. Beim Ereignis OnGetText des Datenbankfeldes DBText5 ist die zugehörige Programmierung zu finden. Die Variable "sw" (für schwarz-weiß) können Sie ignorieren, da sie in diesem Report immer auf "false" steht. Die anschließende Abfrage setzt in Abhängigkeit vom Text, in diesem Fall die eingetragene Note als Ziffer mit Tendenz, die Farbe der Zelle auf gelb.

Leistungsuebersicht-10

Über den noten wird in der Leistungsübersicht gekennzeichnet, ob es sich um einen Leistungskurs handelt beziehungsweise ob der Kurs nur mündlich belgt wurde. Die zugehörige Programmierung ist auch im SubReport2, nämlich beim Label 12. In die neu definierte String-Variable S wird die Kursart eingelesen. Mit der Funktion copy werden die ersten beiden Buchstaben aus S ausgelesen und abgeglichen.

Quelle: Ausgewählte Beispiele aus der BASIC-Sammlung – ursprüngliches Wiki

Online: Reports mit dem Reportbaukasten erstellen

Reports mit dem Reportbaukasten erstellen ​

Mit dem Reportbaukasten erstellen Sie eigene Druckvorlagen nach einem vorhandenen Muster. Die Anleitung erklärt die Bausteine einer Vorlage und zeigt, wie Daten und Gestaltung zusammenwirken.

RepBau01

Der Reportbaukasten soll Benutzern dabei behilflich sein, eigene Formulare nach einem Vorbild für bestimmte Zwecke erstellen zu können.

Die Formulare können in einem ZIP-Archiv hier herunter geladen werden. Report-Baukasten mit elf Vorlagen

Dabei werden Themengruppen herausgesucht und einige Beispielreports erstellt. Diese Reports sind möglichst einfach gehalten und enthalten auch sehr wenig Layout-Elemente. Sie sollen lediglich als Beispiele für die gewünschte Funktion dienen.

Wenn Sie einen Report zur Bearbeitung geöffnet haben, dann öffnet sich die Ansicht des Reportdesigners. Üblicherweise befindet sich der Report dann im Entwurfsmodus.

Darüber befinden sich vier Karteireiter:

RepBau02

  1. Daten: Hier können Sie eigene Datenquellen mit Hilfe eines Assistenten zusammenstellen. In der Regel sollten Sie hier einige SQL-Kenntnisse mitbringen.
  2. Berechnungen: Unter diesem Karteireiter finden Sie alle Programmierungen, die sich im Report verbergen. Dies ist die Stelle, wo Sie mit einem Code zu bestimmten Zeitpunkten Berechnungen, Ersetzungen oder Ähnliches durchführen lassen können.
  3. Entwurf: Hier können Sie durch Drag&Drop die Elemente des Reports bestimmen und positionieren.
  4. Vorschau: Liefert die Voransicht des Reports.

Einige Begriffserklärungen vorab:

RepBau03

Text = freies Textfeld (Label) ohne Datenhintergrund

Diese Labels können aber unter Berechnungen per Programm verändert werden.

RepBau04

DBText = Textfeld, das sich aus der Datenbank einen Wert holt

Dieser Wert wird über Datenquelle und Datenfeld gesteuert

RepBau05

Subreport = Unterbericht, hier können Datenfelder aus SchILD-NRW 2 wiedergegeben werden, die unter Umständen mehrere Datensätze enthalten

RepBau06

Richtext = hier können formatierte Texte eingebunden werden

(existiert auch als DBRichtext)

RepBau07

Memo = unformatierter mehrzeiliger Text

(existiert auch als DBMemo)

RepBau08

DBImage = Bild aus der Datenbank, rechte Maustaste auf den Rahmen öffnet ein Kontextmenü (existiert auch ohne DB)

RepBau09

Shapes = Formen die mit Linien und Farbe versehen werden können

(gut geeignet für Gitterstrukturen im PDF-Druck)

RepBau10

Systemvarialble = kann bestimmte Umgebungsvarialblen drucken

(Datum, Zeit, Seitenzahl, Reportname usw.)

RepBau11

Ereignisse = diese Ereignisse stehen im Reportdesigner unter Berechnungen

zur Verfügung und können Programmierungen enthalten

Das am häufigsten genutzte Ereignis ist sicherlich ReportBeforePrint, mit dem man etwas vor dem Druck ablaufen lassen kann.

Beim Einfügen von Funktionen und Proceduren sollte man sich die vorhandenen Ereignisse in anderen Reports einmal ansehen.

RepBau12

Funktionen = Programmteile, die ohne bestimmtes Ereignis jederzeit im Prozedurenteil des Programms aufgerufen werden können

Beispiel 1: 01_Stammblatt.rtm ​

Das Stammblatt dient als Beispiel für einige Elemente, die häufig im Zusammenhang mit Individualdaten verwendet werden.

Barcode:

RepBau13

So befindet sich im Kopf links oben das Element DBBarCode1, welchem das Datenfeld für den Schülernamen zugewiesen ist.

Weitere Einstellungen zu diesem Element finden Sie, wenn Sie mit der rechten Maustaste darauf klicken und dann Konfigurieren wählen.

Dort stehen Ihnen dann auch die Auswahl des Barcode-Typs und einige andere Einstellungen zur Verfügung.

Schülerfoto:

RepBau14

Das Element DBImage1 bedient sich aus der Datenquelle SchuelerFotos und zeigt dort das Datenfeld Foto an. Wenn ein Bild beim Schüler in der Datenbank hinterlegt ist, dann wird dieses nun auf dem Stammblatt angezeigt. Auch hier stehen wieder einige Auswahlmöglichkeiten zur Verfügung, wenn man das Element mit der rechten Maustaste anklickt.

Eine häufige Fehlermeldung bei Bildern aus der Datenbank lautet „Ungültige Grafik“.

Hier hilft die Einstellung Grafikart, die standardmäßig auf Autodetect steht.Grundsätzlich gilt der Tipp, dass Sie möglichst mit einem Grafikformat in der gesamten Datenbank arbeiten. JPG-Bilder verhalten sich in der Regel am unproblematischsten. Der Menüpunkt Dehnen kann dazu verwendet werden, das Bild an die Größe des vorgegebenen Rahmens anzupassen (vergrößern oder verkleinern).

Subreport Erzieherdaten

Die Angaben zu den Erziehungsberechtigten werden aus einem Subreport gedruckt, weil es hier unter Umständen vorkommen kann, dass ein Schüler dort mehrere Datensätze besitzt. Diese sollen natürlich alle untereinander auf das Stammblatt gedruckt werden. Dazu werden die Datenfelder in einen Unterbericht mit der Datenquelle Erzieher gelegt, der dann so lange durchlaufen wird, wie Datensätze vorhanden sind.

Die Erziehernamen setzen sich oft aus Anrede, Titel, Vorname und Nachname zusammen, so dass das Zusammenrücken der Elemente notwendig ist, wenn man keine unnötigen Leerstellen haben möchte.

RepBau15

Dies ist im Label6 realisiert. Beim Ereignis OnGetText werden dem Text des Labels einfach die geforderten Datenelemente samt Leerzeichen zugewiesen.

Das Gleiche ist im Subreport Telefone hinterlegt, auch dort ist eine automatische Anpassung an die Länge wünschenswert, da Telefonnummern ja sehr unterschiedlich lang sein können.

Hierbei ist noch zu berücksichtigen, dass der Subreport SchuelerTelefone eine besondere Seiteneinrichtung hat. Wenn Sie den Subreport im Berichtsbaum markieren und dann im Menü Datei --> Seite einrichten ... auswählen, sehen Sie die zugrunde liegenden Seiteneinstellungen.

Reportbaukasten-02

Die vier definierten Spalten werden von links nach rechts durchlaufen.

Schülerlaufbahn

RepBau16

Auf diesem Stammblatt soll eine Übersicht aller Abschnitte gedruckt werden, die der Schüler an der Schule durchlaufen hat. Dazu reicht ein Subreport mit der Datenquelle SchuelerLaufbahn, der im ReportBeforePrint Ereignis mit dem Befehl SetUebersicht(True); initialisiert wird. Im Ereignis ReportAfterPrint wird diese Setzung dann mit SetUebersicht(False); wieder zurückgesetzt.

RepBau17

Die Berechnungen für das DBText5-Label sollen ein Beispiel geben, wie man in Abhängigkeit von den in der Datenbank hinterlegten Bezeichnungen auch eigene Texte generieren kann. So ist der Versetzungsvermerk hier nur als Kürzel hinterlegt, kann aber mit Hilfe einer kleinen Programmierung auch in Textform auf dem Report ausgegeben werden.

Schulbesuch

Die Datenfelder zur vorherigen Schule und zur aufnehmenden Schule können Sie aus dem Beispiel ersehen.

Dabei steht LS für letzte Schule und ZS für zukünftige Schule. Alle Datenfelder, die mit diesen Präfixen beginnen, gehören hier dazu.

Beispiel 2: 02_Input_Laufzeit.rtm ​

RepBau18

Dieses Formular soll eine kurze Einführung in die Möglichkeit der Dateneingabe zur Laufzeit des Reports bieten.

Dies findet im Ereignis ReportBeforePrint statt.

Die Funktionen sind alle auch im WIKI beschrieben.

RAP-Funktionen

Dort gibt es zahlreiche Funktionen, die dem Ersteller von Reports helfen sollen, bestimmte Dinge in der Reporting umzusetzen, die von der Programmierung nicht unterstützt werden oder nur sehr schwer umzusetzen sind.

RepBau19

In diesem Formular werden erstmalig Variablen benötigt, in die die Inhalte aus den Abfragen eingelesen werden. Diese Variablen müssen vor der Nutzung global deklariert werden, wenn sie in allen Prozeduren und Ereignissen zur Verfügung stehen sollen. Sehen Sie sich dazu bitte den Bereich Deklarationen in „Global“ an. Dieses Menü erreichen Sie, wenn Sie mit der rechten Maustaste in den Bereich der linken oberen Ecke klicken.

RepBau20

Die Inhalte der Variablen werden den Labels dann „einfach“ zugewiesen. Bitte sehen Sie dazu in die jeweiligen OnGetText-Ereignisse der jeweiligen Labels.

Im RichtText1 finden Sie ein Beispiel, wie Ersetzungen in größeren Textfeldern realisiert werden können. Öffnen Sie dazu das Richtextfeld mit der rechten Maustaste „Bearbeiten“. Setzen Sie den Haken bei Mail Merge. Jetzt können Sie durch Auswählen des Datenfeldes mit Add Field ein Datenbankfeld im Richtext hinzufügen.

Bestimmte Ersetzungen sind damit aber nicht möglich, dazu können feste Platzhalter, wie hier im Beispiel $Schuljahr$, verwendet werden.

RepBau21

Dort wird der Platzhalter dann durch eine entsprechende Programmierung im OnPrint-Ereignis des Richtext1 ersetzt.

Beispiel 3: 03_Lehrerdaten.rtm ​

RepBau22

Prinzipiell bedient sich dieser Report aus der Datenquelle Lehrer. Alle Stamminformationen zu den Lehrkräften sind hier enthalten.

Damit zu Beginn des Reports eine Auswahlliste der zu druckenden Lehrer erscheint, ist im Ereignis BeforeOpenDataPipelines der Befehl LehrerAuswaehlen(True) hinterlegt. Der Auswahlmodus wird im AfterPrint-Ereignis wieder zurückgesetzt. Werden diese Befehle nicht gesetzt, werden immer alle Lehrerdaten in die Datenquelle gefüllt.

Die Lehrämter, Lehrbefähigungen und Lehrerfunktionen werden in Subreports ausgegeben, da sich dort unter einem Lehrer mehrere Angaben befinden können. Die Lehrerfunktionen befinden sich auf dem Karteireiter „zeitabhängige Daten“ im Lehrerbereich von SchILD-NRW 2.

Die Lehrbefähigungen werden als Unterdatenquelle der Lehrämter gefüllt.

Das ist der Grund dafür, dass im Report ein Unterbericht mit der Datenquelle LehrerAktuellerAbschnitt eingefügt ist, weil die LehrerFunktionen sonst unter Umständen nicht gefüllt werden.

RepBau23

Eine Übersicht über die Abhängigkeit der Datenquellen finden Sie in der Reportverwaltung, wenn Sie auf das rote Fragezeichensymbol klicken.

RepBau24

Beispiel 4: 04_Konferenz.rtm ​

RepBau25

Dieser Report soll eine Übersichtsliste zum Beispiel für Konferenzen bieten, die alle Schüler einer Klasse / eines Jahrgangs mit ihren Fächern auflistet. Der Report druckt lediglich den aktuellen Abschnitt.

Dazu werden die Datenquellen FachUebersichtHeader und Fachuebersicht verwendet.

RepBau26

Der Subreport FachUebersichtHeader erzeugt eine Kopfzeile für die Übersichtsliste, die alle bei der ausgewählten Schülergruppe enthaltenen Fächer in der Sortierungsreihenfolge auflistet. Aus diesem Grund ist es auch sinnvoll, vor dem Druck klassenweise oder jahrgangsweise zu filtern, da alle auftretenden Fächer sonst in den Header wandern.

Im Ereignis BeforePrint benötigen die beiden Datenquellen den Aufruf Faechervorbelegen und im AfterPrint Ereignis den Befehl ResetFaechervorbelegen.

Mit diesen Befehlen werden die Erzeugung des Notenheaders und die Einsortierung der fachspezifischen Daten in die Übersicht erzeugt.

Der Bericht enthält zwei Gruppierungen. Die Gruppe[0]:Klasse erzeugt eine neue Seite, wenn die Klasse des Schülers wechselt. Die Gruppe[1]:ID sorgt dafür, dass die einzelnen Schülerdaten auf einer Seite zusammengehalten werden.

Beispiel 5: 05_Konferenz.rtm ​

RepBau27

Dieser Report druckt eine Leistungsübersicht der ausgewählten Schülergruppe für den aktuellen Lernabschnitt. Dieses Mal wird aber in jeder Schülerzeile eine eigene Kopfzeile für die Fächer erzeugt, die dieser Schüler hat.

Dazu wird die Datenquelle Lernabschnitte verwendet, die ohne weitere Programmierung den aktuellen Abschnitt des Schülers liefert.

RepBau28

In diesem Subreport befindet sich dann ein Unterbericht mit der Datenquelle SchuelerLeistungen, der die Leistungsdaten liefert.

Unter Berechnungen findet sich lediglich eine Ersetzung für das Label1, das den aktuellen Abschnitt ausgeben soll.

Hier wird die Funktion SchuljahrToStr verwendet, die eingeführt wurde, um komplizierte Abfragen zum aktuellen Abschnitt zu vereinfachen.

Dieser Report druckt auch zurückliegende Abschnitte, wenn dies im Report-Explorer vor dem Druckaufruf eingestellt wird!

Die Gruppe[0]: ID sorgt im Bericht lediglich dafür, dass ein Schülerdatensatz auf einer Seite zusammengehalten wird.

Beispiel 6: 06_Laufbahnuebersicht.rtm ​

RepBau30

Dieser Report druckt zu jedem Schüler die gesamte in SchILD-NRW 2 hinterlegte Laufbahn mit allen Abschnitten.

Dazu werden die Datenquellen Leistungsuebersicht (zur Erzeugung des Headers) und Schuelerlaufbahn verwendet.

Damit der Report die Kopfzeile für die Fächer und die Laufbahn über alle Abschnitte erzeugen kann, benötigt er im BeforePrint-Ereignis den Aufruf SetUebersicht(True).

RepBau31

Dies wird dann im AfterPrint-Ereignis mit SetUebersicht(False) wieder aufgehoben.

Die Gruppe[0]: ID dient lediglich dazu, dass die Schüler auf einer Seite zusammengehalten werden. Außerdem ist in allen Subreports darauf geachtet worden, dass die Seitenränder auf Null stehen, damit möglichst wenig Verschiebungen stattfinden.

Beispiel 7: 07_Laufbahnuebersicht.rtm ​

RepBau32

Dieser Bericht ist lediglich eine Abwandlung von Beispiel 6, in dem einige Ergänzungen gemacht wurden.

Der Report soll nur bestimmte, aufeinander folgende Abschnitte einer Schülerlaufbahn drucken. Hier in diesem Beispiel von EF bis Q1.

Dazu wird zusätzlich im Ereignis ReportOpenDataPipelines der Befehl FilterLaufbahnJahrgangASD(‘EF,Q1,Q2‘) aufgerufen.

Dass hier nicht ReportBeforePrint genommen wird, hat den Grund, dass unter Umständen dann der erste Schülerdatensatz nach dem Öffnen der Datenquelle erstellt wird und gegebenenfalls der Fachheader dann nicht korrekt ausgegeben wird.

Zusätzlich wird aber im ReportBeforePrint Ereignis der Übersichtsmodus geändert.

RepBau33

Wie im Screenshot zu sehen, wird dort auf die Kursart umgestellt, da der Übersichtsmodus standardmäßig auf „NurFach“ steht und dann gleiche Fächer nicht nach Kursarten unterschieden werden und in die gleiche Spalte einsortiert werden.

Dies wird im AfterPrint Ereignis zusammen mit FilterLaufbahnJahrgangASD(“) wieder zurückgesetzt.

Zusätzlich wurde in OnGetText des DBText4-Labels eine Abfrage eingebaut, die bei den Notenpunkten 0 bis 4 eine gelbe Farbe in das Element Shape1 setzt.

Beispiel 8: 08_Zeugnisbemerkungen_AUE_ASV.rtm ​

Die Felder für die Bemerkungen auf den Zeugnissen wurden vor einigen Versionen in der Datenbank in Memo-Felder umgewandelt. Das bedeutet, dass dort nun nur noch die eigentlichen Texte ohne jegliche Formatierung in der Datenbank liegen.

RepBau34

Früher waren dort Richttextinformationen mit Textformatierungen enthalten, weswegen unter Umständen manche Zeugnisbemerkungen in einer anderen Schrift erscheinen konnten.

Um an die Informationen der Bemerkungen zu gelangen, benötigen wir die Subreports zu Lernabschnitte sowie einen mit der Datenquelle SchuelerLaufbahnBem.

In diesen Subreports werden dann DBMemo-Felder mit den jeweiligen Angaben gefüllt. Die Abhängigkeiten können Sie wieder im Menü „Infos über Datenquellen“ ersehen.

Der Report gibt eine Übersicht über die Eintragungen des aktuellen Abschnittes.

Diese Unterberichte könnten so zum Beispiel auch auf einer Konferenzliste eingefügt werden, um die eingetragenen Daten zu kontrollieren.

Beispiel 9: 09_Zuweisungen.rtm ​

Dieser Report soll kurz ein Beispiel für die Verwendung der an den Gesamtschulen benötigten Zuweisungen zu den Kursarten der Folgeschuljahre geben.

Diese werden an Gesamtschulen auf Zeugnissen und Übersichten benötigt.

Beispiel 10: 10_Zeugnis.rtm ​

Das Zeugnisformular soll alle Benutzer unterstützen, die eigene Zeugnisse für besonders spezielle Verhältnisse an ihren Schulen erzeugen wollen.

RepBau35

Auch in diesem Formular wurden keine überflüssigen Programmierungen eingesetzt.

Das Formular bedient sich aus den Datenquellen der Fächergruppen und der Lernabschnitte, damit das im Reportexplorer eingestellte Schuljahr gedruckt wird.

RepBau36

Aus diesem Grund befindet sich im Ereignis ReportBeforeOpenDataPipelines auch der Befehl MitLernabschnitten(True). Dadurch wird das Befüllen der Fächergruppen-Quellen angestoßen.

Das Schuljahr und die Klassenbezeichnung steuert die Datenquelle Lernabschnitte.

RepBau37

In den Unterberichten der Fächergruppen werden einige Programmierungen vorgenommen, die je nach Fach oder nach Kursart die Detailbereiche unsichtbar schalten. Dies ist notwendig, wenn entweder Fächer in der Datenquelle vorkommen, die nicht gedruckt werden sollen (hier am Beispiel der Fremdsprachen E und F, die getrennt ausgewiesen werden), oder aber auch im Beispiel der weiteren Unterrichte, wo die Kursarten ZUV und KMFÖ in einer Datenquelle ankommen.

Weitere Unterberichte zu anderen Fächergruppen, wie zum Beispiel Naturwissenschaften oder Gesellschaftslehre, müssen für ergänzt werden, um die entsprechenden Fächer im Zeugnis auszudrucken. Die Fächergruppen der Berufskollegs beginnen mit BK. Dazu gehören beispielsweise die Fächergruppen BKBerufsuebergreifend, BKBerufsbezogen und BKDifferenzierung.

Die Zeugnisbemerkungen sind nicht wie im Beispielreport_08 aufgebaut, hier können Sie sehen, dass die Angaben in der Datenquelle ASVSek_I enthalten sind.

Bitte beachten Sie, dass dieses im ReportBeforeOpenDatenPipellines Ereignis bisher nur den Befehl MitLernabschnitten(true) enthält.

Für Zeugnisse oder Übersichten, die auf Abiturdaten, Sprachenfolge oder die Daten auf dem Karteireiter ZP10 zugreifen wollen, sind die Befehle SetAbitur(true) und SetBKAbschluss(true) notwendig!

(Der ZP10-Reiter hat an BKs den Namen BK-Abschluss.)

Beispiel 11: 11_Laufbahnuebersicht_mit_QT.rtm ​

Reportbaukasten-03

Diese Laufbahnübersicht zeigt die Noten eines jeden Quartales (QT) an. Sie entspricht ansonsten der Laufbahnübersicht in Beispiel 7.

Im Ereignis ReportBeforePrint wird dafür SetQuartalsnotenInUebersicht(true) gesetzt.

Quelle: Reportbaukasten – ursprüngliches Wiki

Online: Eigene Datenquellen für Reports einrichten

Eigene Datenquellen für Reports einrichten ​

Eine Datenquelle stellt einem Report die benötigten Daten bereit. Diese technische Anleitung erläutert, wie Sie eigene Datenquellen für besondere Ausgaben definieren und weitergeben. Für normale Listen und Formulare reichen zunächst die vorhandenen Datenquellen und Reportvorlagen.

Einleitung ​

Zur Nutzung von eigenen Datenquellen in der Reportverwaltung von SchILD-NRW 2 wurde ein Verfahren eingeführt, das es dem Nutzer ermöglicht, spezielle, für einen Report benötigte Datenquellen dynamisch zu erstellen und diese dann auch an andere SchILD-NRW 2-Installationen weiterzugeben, ohne dass die Datenquellen im Report immer wieder neu angelegt werden müssen.

Außerdem besteht mit dieser Lösung eine Möglichkeit, auch für Schild-Zentral eigene Datenquellen zu nutzen. Die jeweiligen Datenquellen-Dateien müssen dann nur nach einer Sicherheitsüberprüfung von den jeweiligen IT-Administratoren in die SchILD-NRW 2-Umgebung kopiert werden.

Einrichtung ​

Erstellen Sie zunächst ein Verzeichnis SchILD-NRW 2-Pipelines in Ihrem SchILD-NRW 2-Installationsordner.

SPD-01

In diesen Ordner werden die Datenquellen-Dateien gespeichert.

Es handelt sich dabei um einfache Textdateien mit der Dateiendung *.SPD.

Aufbau der Datenquellen-Dateien (*.SPD) ​

SPD-02

[Queries]

Hier werden alle neu zu definierenden Abfragen mit dem Namenszusatz __qry*** aufgelistet.

[Query__qryNamederAbfrage]

Da dieser Name programmintern eindeutig sein muss, gilt die Konvention, dass __qry*** im Programmcode nicht benutzt wird, so dass keine Namenskollisionen entstehen können, wenn dieses Präfix genutzt wird.

Der InitCommand-Befehl initialisiert die Abfrage und setzt die Namen der zur Verfügung stehenden Felder im Reportexplorer fest.

Die Befehle Command1 und folgende setzen den SQL-Abfrage-String auf die Datenbank zusammen. Die Zusammensetzung aus Command1 + Command2 usw. wurde aus Übersichtsgründen erstellt. Der Befehl kann also auch in einen einzigen Command1-Befehl gesetzt werden.

Mit dem Platzhalter $Schulnr$ kann die Schulnummer der DB abgefragt werden. (Wichtig für Schild-Zentral.)

Mit dem Befehl Mastersource=Schueler.Datasource kann eine übergeordnete Datenquelle angegeben werden. Dies ist über den Abfrageassistenten im Report-Designer nicht so einfach möglich.Der Datenquellenname (hier Schueler) muss in der Reporting bereits existieren. Also entweder als feste Datenquelle oder in einer SPD-Datei, die vorher schon abgearbeitet wurde. Dies kann über die alphabetische Sortierung der SPD-Dateinamen geregelt werden.

SPD-03

Die Übergabe des Mastersource-Parameters erfolgt über den Befehl A.Schueler_ID=:ID, wobei über den Doppelpunkt :NamedesFeldesinderMasterSource die Koppelung geregelt wird.

[Datasource__qryNamederAbfrage]

Hier wird die Datenquelle mit dem Befehl Name=__dsNamederAbfrage erzeugt.

[Pipeline__qryNamederAbfrage]

Über Name=__pplnNamederQuelle wird dann die eigentliche Datenpipeline erzeugt. Die Befehle Opendatasource, CloseDatasource und SkipWhenNoRecords entnehmen Sie bitte den Beispieldateien.

Username=xxNamederDatenQuelle stellt den eigentlichen Namen bereit, den der Benutzer später im Reportdesigner zu sehen bekommt.

SPD-04

Die Zeilen geführt von einem Semikolon werden als Kommentarzeilen interpretiert.

Achtung

Die Datenquellendateien (SPD) und die zugehörigen Formulare können dann gemeinsam verteilt werden.

Bitte beachten Sie, dass bei der Verteilung der SPD-Dateien ein Schreibzugriff auf das SchILD-NRW 2-Installationsverzeichnis benötigt wird.

Beispiel

In der beiliegenden ZIP-Datei sind zwei Beispiele für solche dynamisch erstellte Datenquellen enthalten: Medium:SPD_Dateien.zip

Quelle: Eigene Datenquellen für SchILD-NRW 2-Reports – ursprüngliches Wiki

Online: Beispiel einer eigenen Report-Datenquelle

Beispiel einer eigenen Report-Datenquelle ​

Dieses Konfigurationsbeispiel ergänzt die Anleitung Eigene Datenquellen für SchILD-NRW 2-Reports. Es zeigt Abfragen und Zuordnungen für mehrere Datenquellen. Beginnen Sie mit der Grundlagenanleitung, bevor Sie die nachfolgenden technischen Angaben verwenden.

[Queries] __qryNeueDatenQuelle

Neue Datenquelle

[Query__qryNeueDatenQuelle] Name=__qryNeueDatenQuelle InitCommand=select F.FachKrz, L.NotenKrz, L.FachLehrer, L.Kursart, L.Warnung, L.VorherAbgeschl from EigeneSchule_Faecher F, SchuelerLeistungsdaten L where L.ID=-1 and F.ID=L.Fach_ID Command1=select F.FachKrz, L.NotenKrz, L.FachLehrer, L.Kursart, L.Warnung, L.VorherAbgeschl Command2=from EigeneSchule_Faecher F, SchuelerLeistungsdaten L, SchuelerLernabschnittsdaten A, EigeneSchule ES Command3=where ES.SchulnrEigner=$SCHULNR$ and A.SchulnrEigner=$SCHULNR$ and A.Jahr=ES.Schuljahr Command4=and A.Abschnitt=ES.AnzahlAbschnitte/2 and A.Schueler_ID=:ID Command5=and L.Abschnitt_ID=A.ID and L.AufZeugnis='+' and L.VorherAbgeschl = '-' and L.Kursart NOT IN ('EES','EGS1','ZUV','AGGT','FOGT') and L.Hochrechnung=0 Command6=and F.ID=L.Fach_ID Command7=and ( F.StatistikKrz IN ('D','M','E','E5','F','F6','F7','F8','F9','F0','F1','L','L5','L6','L7','L8','L9','L0') Command8=or L.Kursart IN ('WPI','WP1FS','WP1NT','WP1SW','WP1MU') ) Command9=order by F.Sortierung MasterSource=Schueler.Datasource

[Datasource__qrySchuelerLeistungenHJ1FG1] Name=__dsSchuelerLeistungenHJ1FG1

[Pipeline__qrySchuelerLeistungenHJ1FG1] Name=__pplnSchuelerLeistungenHJ1FG1 OpendataSource=1 CloseDataSource=1 SkipWhenNoRecords=0 UserName=xxSchuelerLeistungenHJ1FG1

Fachgruppe2

[Query__qrySchuelerLeistungenHJ1FG2] Name=__qrySchuelerLeistungenHJ1FG2 InitCommand=select F.FachKrz, L.NotenKrz, L.FachLehrer, L.Kursart, L.Warnung, L.VorherAbgeschl from EigeneSchule_Faecher F, SchuelerLeistungsdaten L where L.ID=-1 and F.ID=L.Fach_ID Command1=select F.FachKrz, L.NotenKrz, L.FachLehrer, L.Kursart, L.Warnung, L.VorherAbgeschl Command2=from EigeneSchule_Faecher F, SchuelerLeistungsdaten L, SchuelerLernabschnittsdaten A, EigeneSchule ES Command3=where ES.SchulnrEigner=$SCHULNR$ and A.SchulnrEigner=$SCHULNR$ and A.Jahr=ES.Schuljahr Command4=and A.Abschnitt=ES.AnzahlAbschnitte/2 and A.Schueler_ID=:ID Command5=and L.Abschnitt_ID=A.ID and L.AufZeugnis='+' and L.VorherAbgeschl = '-' and L.Kursart IN ('PUK','PUT','WPII','FS3') and L.Hochrechnung=0 Command6=and F.ID=L.Fach_ID and F.StatistikKrz NOT IN ('D','M','E','E5','F','F6','F7','F8','F9','F0','F1','L','L5','L6','L7','L8','L9','L0') Command7=order by F.Sortierung MasterSource=Schueler.Datasource

[Datasource__qrySchuelerLeistungenHJ1FG2] Name=__dsSchuelerLeistungenHJ1FG2

[Pipeline__qrySchuelerLeistungenHJ1FG2] Name=__pplnSchuelerLeistungenHJ1FG2 OpendataSource=1 CloseDataSource=1 SkipWhenNoRecords=0 UserName=xxSchuelerLeistungenHJ1FG2

Förderunterricht

[Query__qrySchuelerFoerderung1HJ] Name=__qrySchuelerFoerderung1HJ InitCommand=select F.FachKrz, L.NotenKrz, L.FachLehrer, L.Kursart, L.Warnung, L.VorherAbgeschl from EigeneSchule_Faecher F, SchuelerLeistungsdaten L where L.ID=-1 and F.ID=L.Fach_ID Command1=select F.FachKrz, L.NotenKrz, L.FachLehrer, L.Kursart, L.Warnung, L.VorherAbgeschl Command2=from EigeneSchule_Faecher F, SchuelerLeistungsdaten L, SchuelerLernabschnittsdaten A, EigeneSchule ES Command3=where ES.SchulnrEigner=$SCHULNR$ and A.SchulnrEigner=$SCHULNR$ and A.Jahr=ES.Schuljahr Command4=and A.Abschnitt=ES.AnzahlAbschnitte/2 and A.Schueler_ID=:ID Command5=and L.Abschnitt_ID=A.ID and L.AufZeugnis='+' and L.VorherAbgeschl = '-' and L.Kursart IN ('EES','EGS1','FOGT','ZUV') and L.Hochrechnung=0 Command6=and F.ID=L.Fach_ID Command7=order by F.Sortierung MasterSource=Schueler.Datasource

[Datasource__qrySchuelerFoerderung1HJ] Name=__dsSchuelerFoerderung1HJ

[Pipeline__qrySchuelerFoerderung1HJ] Name=__pplnSchuelerFoerderung1HJ OpendataSource=1 CloseDataSource=1 SkipWhenNoRecords=0 UserName=xxSchuelerFoerderung1HJ

Abschnittsdaten

[Query__qrySchuelerAbschnittsdaten1HJ] Name=__qrySchuelerAbschnittsdaten1HJ InitCommand=select SumFehlStd, SumFehlStdU, Wiederholung, VersetzungKrz from SchuelerLernabschnittsdaten where ID=-1 Command1=select A.SumFehlStd, A.SumFehlStdU, A.Wiederholung, A.VersetzungKrz from SchuelerLernabschnittsdaten A, EigeneSchule ES Command2=where ES.SchulnrEigner=$SCHULNR$ and A.SchulnrEigner=$SCHULNR$ and A.Jahr=ES.Schuljahr Command3=and A.Abschnitt=ES.AnzahlAbschnitte/2 and A.Schueler_ID=:ID MasterSource=Schueler.Datasource

[Datasource__qrySchuelerAbschnittsdaten1HJ] Name=__dsSchuelerAbschnittsdaten1HJ

[Pipeline__qrySchuelerAbschnittsdaten1HJ] Name=__pplnSchuelerAbschnittsdaten1HJ OpendataSource=1 CloseDataSource=1 SkipWhenNoRecords=0 UserName=xxSchuelerAbschnittsdaten1HJ

2. HJ.

Fachgruppe1

[Query__qrySchuelerLeistungenHJ2FG1] Name=__qrySchuelerLeistungenHJ2FG1 InitCommand=select F.FachKrz, L.NotenKrz, L.FachLehrer, L.Kursart, L.Warnung, L.VorherAbgeschl from EigeneSchule_Faecher F, SchuelerLeistungsdaten L where L.ID=-1 and F.ID=L.Fach_ID Command1=select F.FachKrz, L.NotenKrz, L.FachLehrer, L.Kursart, L.Warnung, L.VorherAbgeschl Command2=from EigeneSchule_Faecher F, SchuelerLeistungsdaten L, SchuelerLernabschnittsdaten A, EigeneSchule ES Command3=where ES.SchulnrEigner=$SCHULNR$ and A.SchulnrEigner=$SCHULNR$ and A.Jahr=ES.Schuljahr Command4=and A.Abschnitt=ES.AnzahlAbschnitte and A.Schueler_ID=:ID Command5=and L.Abschnitt_ID=A.ID and L.AufZeugnis='+' and L.VorherAbgeschl = '-' and L.Kursart NOT IN ('EES','EGS1','ZUV','AGGT','FOGT') and L.Hochrechnung=0 Command6=and F.ID=L.Fach_ID Command7=and ( F.StatistikKrz IN ('D','M','E','E5','F','F6','F7','F8','F9','F0','F1','L','L5','L6','L7','L8','L9','L0') Command8=or L.Kursart IN ('WPI','WP1FS','WP1NT','WP1SW','WP1MU') ) Command9=order by F.Sortierung MasterSource=Schueler.Datasource

[Datasource__qrySchuelerLeistungenHJ2FG1] Name=__dsSchuelerLeistungenHJ2FG1

[Pipeline__qrySchuelerLeistungenHJ2FG1] Name=__pplnSchuelerLeistungenHJ2FG1 OpendataSource=1 CloseDataSource=1 SkipWhenNoRecords=0 UserName=xxSchuelerLeistungenHJ2FG1

Fachgruppe 2

[Query__qrySchuelerLeistungenHJ2FG2] Name=__qrySchuelerLeistungenHJ2FG2 InitCommand=select F.FachKrz, L.NotenKrz, L.FachLehrer, L.Kursart, L.Warnung, L.VorherAbgeschl from EigeneSchule_Faecher F, SchuelerLeistungsdaten L where L.ID=-1 and F.ID=L.Fach_ID Command1=select F.FachKrz, L.NotenKrz, L.FachLehrer, L.Kursart, L.Warnung, L.VorherAbgeschl Command2=from EigeneSchule_Faecher F, SchuelerLeistungsdaten L, SchuelerLernabschnittsdaten A, EigeneSchule ES Command3=where ES.SchulnrEigner=$SCHULNR$ and A.SchulnrEigner=$SCHULNR$ and A.Jahr=ES.Schuljahr Command4=and A.Abschnitt=ES.AnzahlAbschnitte and A.Schueler_ID=:ID Command5=and L.Abschnitt_ID=A.ID and L.AufZeugnis='+' and L.VorherAbgeschl = '-' and L.Kursart IN ('PUK','PUT','WPII','FS3') and L.Hochrechnung=0 Command6=and F.ID=L.Fach_ID and F.StatistikKrz NOT IN ('D','M','E','E5','F','F6','F7','F8','F9','F0','F1','L','L5','L6','L7','L8','L9','L0') Command7=order by F.Sortierung MasterSource=Schueler.Datasource

[Datasource__qrySchuelerLeistungenHJ2FG2] Name=__dsSchuelerLeistungenHJ2FG2

[Pipeline__qrySchuelerLeistungenHJ2FG2] Name=__pplnSchuelerLeistungenHJ2FG2 OpendataSource=1 CloseDataSource=1 SkipWhenNoRecords=0 UserName=xxSchuelerLeistungenHJ2FG2

Förderunterricht

[Query__qrySchuelerFoerderung2HJ] Name=__qrySchuelerFoerderung2HJ InitCommand=select F.FachKrz, L.NotenKrz, L.FachLehrer, L.Kursart, L.Warnung, L.VorherAbgeschl from EigeneSchule_Faecher F, SchuelerLeistungsdaten L where L.ID=-1 and F.ID=L.Fach_ID Command1=select F.FachKrz, L.NotenKrz, L.FachLehrer, L.Kursart, L.Warnung, L.VorherAbgeschl Command2=from EigeneSchule_Faecher F, SchuelerLeistungsdaten L, SchuelerLernabschnittsdaten A, EigeneSchule ES Command3=where ES.SchulnrEigner=$SCHULNR$ and A.SchulnrEigner=$SCHULNR$ and A.Jahr=ES.Schuljahr Command4=and A.Abschnitt=ES.AnzahlAbschnitte and A.Schueler_ID=:ID Command5=and L.Abschnitt_ID=A.ID and L.AufZeugnis='+' and L.VorherAbgeschl = '-' and L.Kursart IN ('EES','EGS1','FOGT','ZUV') and L.Hochrechnung=0 Command6=and F.ID=L.Fach_ID Command7=order by F.Sortierung MasterSource=Schueler.Datasource

[Datasource__qrySchuelerFoerderung2HJ] Name=__dsSchuelerFoerderung2HJ

[Pipeline__qrySchuelerFoerderung2HJ] Name=__pplnSchuelerFoerderung2HJ OpendataSource=1 CloseDataSource=1 SkipWhenNoRecords=0 UserName=xxSchuelerFoerderung2HJ

Abschnittsdaten

[Query__qrySchuelerAbschnittsdaten2HJ] Name=__qrySchuelerAbschnittsdaten2HJ InitCommand=select SumFehlStd, SumFehlStdU, Wiederholung, VersetzungKrz, Abschluss, MoeglNPFaecher from SchuelerLernabschnittsdaten where ID=-1 Command1=select A.SumFehlStd, A.SumFehlStdU, A.Wiederholung, A.VersetzungKrz, A.Abschluss, A.MoeglNPFaecher from SchuelerLernabschnittsdaten A, EigeneSchule ES Command2=where ES.SchulnrEigner=$SCHULNR$ and A.SchulnrEigner=$SCHULNR$ and A.Jahr=ES.Schuljahr Command3=and A.Abschnitt=ES.AnzahlAbschnitte and A.Schueler_ID=:ID MasterSource=Schueler.Datasource

[Datasource__qrySchuelerAbschnittsdaten2HJ] Name=__dsSchuelerAbschnittsdaten2HJ

[Pipeline__qrySchuelerAbschnittsdaten2HJ] Name=__pplnSchuelerAbschnittsdaten2HJ OpendataSource=1 CloseDataSource=1 SkipWhenNoRecords=0 UserName=xxSchuelerAbschnittsdaten2HJ

Epochenunterricht

[Query__qrySchuelerLeistungenHJ2EP] Name=__qrySchuelerLeistungenHJ2EP InitCommand=select F.FachKrz, L.NotenKrz, L.FachLehrer, L.Kursart, L.Warnung, L.VorherAbgeschl from EigeneSchule_Faecher F, SchuelerLeistungsdaten L where L.ID=-1 and F.ID=L.Fach_ID Command1=select F.FachKrz, L.NotenKrz, L.FachLehrer, L.Kursart, L.Warnung, L.VorherAbgeschl Command2=from EigeneSchule_Faecher F, SchuelerLeistungsdaten L, SchuelerLernabschnittsdaten A, EigeneSchule ES Command3=where ES.SchulnrEigner=$SCHULNR$ and A.SchulnrEigner=$SCHULNR$ and A.Jahr=ES.Schuljahr Command4=and A.Abschnitt=ES.AnzahlAbschnitte and A.Schueler_ID=:ID Command5=and L.Abschnitt_ID=A.ID and L.AufZeugnis='+' and L.VorherAbgeschl = '+' Command6=and L.Kursart IN ('PUK','PUT','WPII','FS3') and L.Hochrechnung = 0 Command7=and F.ID=L.Fach_ID Command8=order by F.Sortierung MasterSource=Schueler.Datasource

[Datasource__qrySchuelerLeistungenHJ2EP] Name=__dsSchuelerLeistungenHJ2EP

[Pipeline__qrySchuelerLeistungenHJ2EP] Name=__pplnSchuelerLeistungenHJ2EP OpendataSource=1 CloseDataSource=1 SkipWhenNoRecords=0 UserName=xxSchuelerLeistungenHJ2EP

Quelle: DQ01-Demo.spd – ursprüngliches Wiki

Online: RAP-Funktionsreferenz

RAP-Funktionsreferenz ​

RAP ist die Programmiersprache für zusätzliche Berechnungen und Abläufe im Reportdesigner. Zum Auswählen und Drucken vorhandener Reports brauchen Sie diese Funktionen nicht. Die Referenz richtet sich an Personen, die Vorlagen programmieren oder vorhandenen Code nachvollziehen möchten.

Begriff Bedeutung
Funktion Ein Aufruf, der ein Ergebnis liefert, etwa einen Text oder eine Zahl.
Prozedur Ein Aufruf, der einen Vorgang ausführt oder übergebene Werte verändert.
Signatur Die Schreibweise eines Aufrufs mit seinem Namen und den übergebenen Parametern.
Parameter Ein Wert, den Sie beim Aufruf übergeben. Ein mit var gekennzeichneter Parameter kann einen veränderten Wert zurückliefern.
Zeichenkette oder String Text, zum Beispiel ein Name oder ein Dateipfad.
Wahrheitswert True oder False, also wahr oder falsch. Die genaue Bedeutung steht beim jeweiligen Parameter.
Datenquelle Die für einen Report bereitgestellten Datensätze und Felder.
Ereignis Ein festgelegter Zeitpunkt der Reportverarbeitung, an dem Code ausgeführt wird.

Die Einträge bleiben alphabetisch geordnet. Das Seitenmenü fasst sie zusätzlich in Buchstabenbereiche zusammen. Lesen Sie bei einem Aufruf zuerst die Beschreibung und anschließend Parameter und Beispiel. Signaturen und Beispiele sind aus den Quellen übernommen; sie ersetzen keinen Test in der passenden Reportumgebung.

Schlagen Sie eine Funktion alphabetisch nach. Die Funktionsartikel enthalten die dokumentierte Beschreibung und Signatur, Parameter, Rückgabewerte und Beispiele. Die Quellen stehen am jeweiligen Artikel.

Die vollständige Referenz umfasst 122 RAP-Funktionsartikel. Die Funktionen sind alphabetisch geordnet.

RAP erweitert Reports mit Pascal-Funktionen und Prozeduren. Im Seitenmenü können Sie eine Funktion direkt auswählen.

Verändern Sie zunächst eine Kopie des Reports. Prüfen Sie die Ausgabe mit passenden Beispieldaten; ein korrekt dargestellter Quelltext belegt noch keine erfolgreiche Ausführung im Reportdesigner.

A ​

B ​

C ​

D ​

E ​

F ​

G ​

I ​

J ​

K ​

L ​

M ​

N ​

P ​

Q ​

R ​

S ​

T ​

U ​

V ​

W ​

Z ​

Quelle: RAP-Funktionen – ursprüngliches Wiki

Online: AlleFaecherLaden

AlleFaecherLaden ​

Beschreibung ​

Stellt die Grundeinstellung "Auch Leistungsdaten ohne Noten laden" für einen Report um.

pascal
procedure AlleFaecherLaden(const Value: Boolean);

Parameter ​

Parameter Bedeutung
Value Boolescher Wert

Beispiel ​

pascal
procedure ReportBeforePrint;
begin
  AlleFaecherLaden(True);
end;

Zurück zu RAP-Funktionen

Quelle: AlleFaecherLaden – ursprüngliches Wiki

Online: Anrede

Anrede ​

Beschreibung ​

Erzeugt aus den Namen, Titeln und Anreden die gemeinsame Anrede für die Erziehungsberechtigten.

pascal
function Anrede(aAnrede1,aTitel1,aName1,aAnrede2,aTitel2,aName2: String): String;

Parameter ​

Parameter Bedeutung
aAnrede1 Anrede der ersten Person
aTitel1 Titel der ersten Person
aName1 Name der ersten Person
aAnrede2 Anrede der zweiten Person
aTitel2 Titel der zweiten Person
aName2 Name der zweiten Person

Rückgabewert ​

Korrekte Anrede

Beispiel ​

pascal
lAnrede:=Anrede('Herr','','Meier','Frau','Dr.','Müller-Lüdenscheid')

Ergebnis: Sehr geehrter Herr Meier, sehr geehrte Frau Dr. Müller-Lüdenscheid

Zurück zu RAP-Funktionen

Quelle: Anrede – ursprüngliches Wiki

Online: AnzahlElemente

AnzahlElemente ​

Beschreibung ​

Liefert die Anzahl der durch das Trennzeichen getrennten Einzelelemente in "text"

pascal
function AnzahlElemente( const text, trennzeichen: string ): integer;

Parameter ​

Parameter Bedeutung
text der zu analysierende Text
trennzeichen Das Trennzeichen

Rückgabewert ​

Integerwert der Elementanzahl.

Beispiel ​

pascal
txt := '1,2,3,4':
if AnzahlElemente( txt, ',' ) > 2 then

Zurück zu RAP-Funktionen

Quelle: AnzahlElemente – ursprüngliches Wiki

Online: AssignFont

AssignFont ​

Beschreibung ​

Ändert die Schriftart eines formatierten Textes. Die Schriftgröße bleibt unverändert.

pascal
procedure AssignFont(aText: TppCustomRichText; aFont: TFont);

Parameter ​

Parameter Bedeutung
aText der zu verändernde Richtext
aFont der neue Zeichensatz

Rückgabewert ​

Der veränderte Richtext

Beispiel ​

pascal
AssignFont(Richtext1,Label1.Font);
(*Dem Richtext wird der Zeichensatz eines Labels zugewiesen*)

Zurück zu RAP-Funktionen

Quelle: AssignFont – ursprüngliches Wiki

Online: AufFaecherFiltern

AufFaecherFiltern ​

Beschreibung ​

Ermöglicht eine Filterung in der Datenquelle „SchuelerJahresuebersicht“ auf bestimmte Fächer. Der Aufruf erfolgt typischerweise im Ereignis „ReportBeforPrint“

pascal
procedure AufFaecherFiltern( const fachliste: string);

Es ist aber geplante, die Filterung auch auf andere Datenquellen zu erweitern

Parameter ​

Parameter Bedeutung
Fachliste Durch Komma oder Semikolon getrennte Liste der schulinternen Fachkürzel

Hinweis: Komma oder Semikolon dürfen nicht vermischt werden, das heißt es dürfen nur Kommas oder nur Semikolons verwendet werden.

Beispiel ​

pascal
AufFaecherFiltern('D,E,M');

Zurück zu RAP-Funktionen

Quelle: AufFaecherFiltern – ursprüngliches Wiki

Online: AufzaehlungRTF

AufzaehlungRTF ​

Beschreibung ​

Fügt eine Aufzählung ohne Nummerierung in einen RTF-Text ein. RTF ist ein Format für Texte mit Schrift- und Formatangaben.

pascal
function AufzaehlungRTF(aRichtext: String; const Label: String;aListe: TStrings): String;

Parameter ​

Parameter Bedeutung
aRichtext Der Richtext, in den die Aufzählung eingefügt werden soll
aLabel Positionsmarke, an der die Aufzählung eingefügt werden soll, eingeschlossen von <ul>..</ul> für eine ungeordnete Liste beziehungsweise <ol>..</ol> für eine geordnete (nummerierte) Liste.
aListe Stringliste, die die einzufügenden Zeilen enthält

Rückgabewert ​

Der veränderte Richtext

Beispiel ​

Die Liste muss global deklariert werden:

pascal
var
   lListe : TStringList;

Im folgenden Ereignis wird die Liste erzeugt:

pascal
procedure ReportBeforePrint;
 Begin
  lListe:=TStringList.Create;

Hier wird sie befüllt:

pascal
 procedure DetailBeforePrint;
 begin
   lListe.Clear;
   lListe.Add('Zeile 1');
   lListe.Add('Zeile 2');
   Richtext1.Richtext:=AufzaehlungRTF(Richtext1.Richtext,'$LISTE$',lListe);
   lListe:=TStringList.Free;
 end;

Im Richtext muss <ul>$LISTE$</ul> oder <ol>$LISTE$</ol> eingefügt werden.

Die Quelle enthält einen unvollständigen Ereignisblock und die auffällige Zeile lListe:=TStringList.Free;. Das Beispiel ist als historischer Quelltext erhalten und nicht als lauffähiges vollständiges Reportprogramm bestätigt.

Zurück zu RAP-Funktionen

Quelle: AufzaehlungRTF – ursprüngliches Wiki

Online: Bestaetigung

Bestaetigung ​

Beschreibung ​

Zeigt eine Frage in einem Bestätigungsdialog an und liefert zurück, ob die Eingabe bestätigt wurde.

pascal
function Bestaetigung(const aFrage: String): Boolean;

Parameter ​

Parameter Bedeutung
aFrage String mir einer Frage, die sich durch Ja oder nein beantworten lässt

Rückgabewert ​

TRUE, falls 'OK' angeklickt wird, FALSE sonst

Beispiel ​

pascal
Procedure ReportBeforePrint;
 var
   lFilename : String;
begin
  If Bestaetigung('Soll der Text geladen werden?') then begin
    lFilename:=FileOpenDlg('*.txt','c:\Texte','Textdateien|*.txt|Alle Dateien|*.*');
    If lFilename <> '' then Memo1.Text:=LoadFromFile(lFilename)
  end;
end;

Zurück zu RAP-Funktionen

Quelle: Bestaetigung – ursprüngliches Wiki

Online: CreateNotenHeader

CreateNotenHeader ​

Beschreibung ​

Im tatsächlich erzeugten Header stehen die Fächer in der unter „Unterrichtsfächer“ festgelegten Sortierreihenfolge. Diese Prozedur ist nur nötig und sinnvoll, wenn eine tabellarische Übersicht über alle gewählten Schüler und deren Leistungsdaten gewünscht wird, da ein Aufruf dieser Prozedur dazu führt, dass die Leistungsdaten aller in der Auswahl befindlichen Schüler gelesen werden, damit eine interne Tabelle mit diesen Fächern angelegt werden kann. In allen anderen Fällen ist dieser Aufruf unnötig! Nach der Darstellung der Tabelle muss unbedingt die Prozedur 'ResetFaechervorbelegung' aufgerufen werden!

pascal
procedure CreateNotenHeader(aFaecherListe: String);

Parameter ​

Parameter Bedeutung
aFaecherListe Kommaseparierte Liste der Fachkürzel, für die eine Übersicht erzeugt werden soll.

Beispiel ​

pascal
CreateNotenHeader('D,E,M,F,L');

Bei den "Konferen-Übersichten (das heißt Vorlagen, die die Datenquellen FachUebersichtHeader und FachUebersicht verwenden) stehen im Befehl "CreateNotenHeader" weitere Optionen zum Filtern auf Fächer zur Verfügung:

  • Es können "Platzhalter * oder % (gleichbedeutend) verwendet werden Beispiel:
pascal
CreateNotenHeader( 'D,M,E*' );

würde nur die Fächer D,M und solche, die mit E anfangen, berücksichtigen (also zum Beispiel E5, EK)

  • Der Platzhalter # kann speziell für Fremdsprachen mit Jahrgangsangabe verwendet werden Beispiel
pascal
CreateNotenHeader( 'D,M,E#' );

würde nur die Fächer D,M und alle Englisch-Fächer berücksichtigen (aber nicht EK)

Zurück zu RAP-Funktionen

Quelle: CreateNotenHeader – ursprüngliches Wiki

Online: CreateNotenHeaderUS

CreateNotenHeaderUS ​

Beschreibung ​

US steht für unsortiert, das heißt der erzeugte Header entspricht der im Parameter übergebenen Fächerfolge. Diese Prozedur ist nur nötig und sinnvoll, wenn eine tabellarische Übersicht über alle gewählten Schüler und deren Leistungsdaten gewünscht wird, da ein Aufruf dieser Prozedur dazu führt, dass die Leistungsdaten aller in der Auswahl befindlichen Schüler gelesen werden, damit eine interne Tabelle mit diesen Fächern angelegt werden kann. In allen anderen Fällen ist dieser Aufruf unnötig! Nach der Darstellung der Tabelle muss unbedingt die Prozedur 'ResetFaechervorbelegung' aufgerufen werden!

pascal
procedure CreateNotenHeaderUS(aFaecherListe: String);

Parameter ​

Parameter Bedeutung
aFaecherListe Kommaseparierte Liste der Fachkürzel, für die eine Übersicht erzeugt werden soll.

Beispiel ​

pascal
CreateNotenHeaderUS('D,E,M,F,L');

Zurück zu RAP-Funktionen

Quelle: CreateNotenHeaderUS – ursprüngliches Wiki

Online: DateinameFuerDVAuswaehlen

DateinameFuerDVAuswaehlen ​

Beschreibung ​

Der Aufruf dieser Prozedur (typischerweise im Ereignis ReportBeforePrint) bewirkt, dass vor der Ausgabe eines Reportes als PDF-Datei in der Dokumentenverwaltung ein individueller Dateiname eingegeben werden kann. Dieser Name wird dann bei der Ermittlung des „schülerspezifischen“ Dateinamens anstelle des Namens der Reportvorlage verwendet. Dies ist besonders bei Serienbriefvorlagen hilfreich, bei denen der Briefinhalt zur Laufzeit aus einer RTF-Datei geladen wird.

pascal
procedure DateinameFuerDVAuswaehlen;

Rückgabewert ​

Die Reportvorlage heißt „RTFBrief.rtm“, der nachgeladene RTF-Brieftext heißt "Hausaufgaben.rtf". Normalerweise würde dann die in der Dokumentenverwaltung des Schülers abgelegte Datei zum Beispiel den Namen „Hausaufgaben_2013_05_24.pdf“ erhalten, das heißt aus dem Dateinamen geht die Bedeutung des Schreibens bereits hervor. Durch Aufruf von „DateinameFuerDVAuswaehlen“ kann aber ein Dialog aufgerufen werden, in dem ein individueller Name definiert werden kann (zum Beispiel „Hausaufgaben - Zweite Information“), woraus sich dann der Dateinamen „Hausaufgaben - Zweite Information_2013_05_24.pdf“ ergibt.

Beispiel ​

pascal
procedure GlobalOnCreate;
 begin
  DateinameFuerDVAuswaehlen;
 end;

Zurück zu RAP-Funktionen

Quelle: DateinameFuerDVAuswaehlen – ursprüngliches Wiki

Online: Datenliste

Datenliste ​

Beschreibung ​

Diese liefert eine Liste (getrennt durch ein wählbares Trennzeichen ) für ein Feld in einer Datenquelle, mit der Option, ob doppelt auftretende Werte ausgegeben werden sollen oder nicht.

pascal
DatenListe(aDatapipeline: TppDBPipeline; aFeld, aSep: string; duplikate: boolean ): string;

Parameter ​

Datenquelle, Datenfeld,Trennzeichen,true/false

Rückgabewert ​

Datenliste zum Beispiel 05a, 06a, 07a, 08a aus dem Beispiel

Beispiel ​

pascal
lblBesuchteKlassen.Caption := DatenListe( SchuelerLaufbahn, 'Klasse', ', ', false );

Zurück zu RAP-Funktionen

Quelle: Datenliste – ursprüngliches Wiki

Online: DatensatzZeigerBewegen

DatensatzZeigerBewegen ​

Beschreibung ​

Bewegt den Datensatzzeiger der als Parameter angegebenen Datenquelle

pascal
procedure DatensatzZeigerBewegen (aPipeline: TppDatapipeline; aSchritte: integer)

Parameter ​

Parameter Bedeutung
aPipeline Die betreffende Datenquelle
aSchritte Bewegungsschritte (-1000: Erster Datensatz, 1000: Letzter Datensatz, -1: vorheriger Datensatz, 1: Nächster Datensatz)

Beispiel ​

pascal
DatensatzZeigerBewegen( Lernabschnitte, -1 );

Zurück zu RAP-Funktionen

Quelle: DatensatzZeigerBewegen – ursprüngliches Wiki

Online: EditRichText

EditRichText ​

Beschreibung ​

Öffnet einen Editor für formatierten Text und liefert den bearbeiteten Text zurück. Der Ausgangstext wird über den Parameter Default übergeben.

pascal
function EditRichText(Const Default: String): String;

Parameter ​

Parameter Bedeutung
Default Zu bearbeitender Richtext, kann auch leer sein

Rückgabewert ​

Veränderter Richtext

Beispiel ​

pascal
RichText1.RichText:=EditRichText('Hier den Text eingeben!');

Zurück zu RAP-Funktionen

Quelle: EditRichText – ursprüngliches Wiki

Online: EditRichTextEx

EditRichTextEx ​

Beschreibung ​

Öffnet einen Editor für formatierten Text. Zusätzlich zum Ausgangstext können Sie die Überschrift des Editorfensters vorgeben.

pascal
function EditRichTextEx(const Default: String; const aCaption: String): String;

Parameter ​

Parameter Bedeutung
Default Zu bearbeitender Richtext, kann auch leer sein
aCaption Überschrift, wird im Titelbalken des Editorfensters angezeigt

Rückgabewert ​

Veränderter Richtext

Beispiel ​

pascal
RichText1.RichText:=EditRichTextEx('','Zeugnisbemerkung');

Zurück zu RAP-Funktionen

Quelle: EditRichTextEx – ursprüngliches Wiki

Online: EditText

EditText ​

Beschreibung ​

Ruft einen Texteditor für Text ohne Formatierung auf.

pascal
function EditPlainText

Rückgabewert ​

Text ohne Formatierung.

Beispiel ​

pascal
begin
 Text:= EditPlainText;
end;

Zurück zu RAP-Funktionen

Quelle: EditText – ursprüngliches Wiki

Online: EinzelElement

EinzelElement ​

Beschreibung ​

Liefert das Einzelelement an Position "position" aus dem durch das Trennzeichen getrennten Text "text"

pascal
function EinzelElement( const text, trennzeichen: string; const position: integer ):
string

Parameter ​

Parameter Bedeutung
text der zu analysierende Text
trennzeichen Das Trennzeichen
position Die Position des Einzelelementes im Text (beginnend bei 1)

Beispiel ​

pascal
txt := '1,2,3,4':
if einzelelement( txt, ',', 2 ) = '2' then

Zurück zu RAP-Funktionen

Quelle: EinzelElement – ursprüngliches Wiki

Online: Faechervorbelegen

Faechervorbelegen ​

Beschreibung ​

Erzeugt einen Header, der alle bei den gewählten Schülern im gewählten Lernabschnitt gefundenen Fächer enthält. Diese Prozedur ist nur nötig und sinnvoll, wenn eine tabellarische Übersicht über alle gewählten Schüler und deren Leistungsdaten gewünscht wird, da ein Aufruf dieser Prozedur dazu führt, dass die Leistungsdaten aller in der Auswahl befindlichen Schüler gelesen werden, damit eine interne Tabelle mit diesen Fächern angelegt werden kann. In allen anderen Fällen ist dieser Aufruf unnötig! Nach der Darstellung der Tabelle muss unbedingt die Prozedur 'ResetFaechervorbelegung' aufgerufen werden!

pascal
procedure Faechervorbelegen;

Beispiel ​

text
...

Zurück zu RAP-Funktionen

Quelle: Faechervorbelegen – ursprüngliches Wiki

Online: FileAge

FileAge ​

Beschreibung ​

Ermittelt das Datum der angegebenen Datei.

pascal
function FileAge(const aFilename: String): DateTime;

Parameter ​

Parameter Bedeutung
aFilename Dateiname incl. Pfad

Rückgabewert ​

Dateidatum

Beispiel ​

pascal
If FileAge('C:\Schild-NRW\Schild-Reports\Zeugnisse\Zeugnis_11.rtm') < StrToDate('01.01.2009') then...;

Zurück zu RAP-Funktionen

Quelle: FileAge – ursprüngliches Wiki

Online: FileExists

FileExists ​

Beschreibung ​

Prüft, ob die angegebene Datei vorhanden ist.

pascal
function FileExists(const aFilename: String): Boolean;

Parameter ​

Parameter Bedeutung
aFilename Dateiname incl. Pfad

Rückgabewert ​

True, falls die Datei existiert, sonst False

Beispiel ​

pascal
If FileExists('C:\Schild-NRW\Schild-Reports\Zeugnisse\Zeugnis_11.rtm') then...;

Zurück zu RAP-Funktionen

Quelle: FileExists – ursprüngliches Wiki

Online: FileOpenDlg

FileOpenDlg ​

Beschreibung ​

Öffnet einen Dialog zur Auswahl einer zu öffnenden Datei. Das Ergebnis enthält deren Pfad und Dateinamen; ein Abbruch liefert eine leere Zeichenkette.

pascal
function FileOpenDlg(const aFilename, aInitialDir,
                           aFilter: String): String;

Parameter ​

Parameter Bedeutung
aFilename Name der zu öffnenden Datei, gegebenenfalls mit Platzhaltern
aInitialDir Startverzeichnis, Leerer String öffnet im aktuellen Verzeichnis
aFilter Dateinamenfilter

Rückgabewert ​

Pfad plus Name der zu öffnenden Datei, leere Zeichenkette, wenn der Dialog abgebrochen wird.

Beispiel ​

pascal
Fn:=FileOpenDlg('*.txt','c:\Text','Textdateien|*.txt|Alle Dateien|*.*');

Zurück zu RAP-Funktionen

Quelle: FileOpenDlg – ursprüngliches Wiki

Online: FileSaveDlg

FileSaveDlg ​

Beschreibung ​

Öffnet einen Dialog zur Auswahl eines Speicherorts und Dateinamens. Bei einem Abbruch wird eine leere Zeichenkette zurückgegeben.

pascal
function FileSaveDlg(const aFilename, aInitialDir,
                     aFilter: String): String;

Parameter ​

Parameter Bedeutung
aFilename Name der zu speichernden Datei, gegebenenfalls mit Platzhaltern
aInitialDir Startverzeichnis, Leerer String öffnet im aktuellen Verzeichnis
aFilter Dateinamenfilter

Rückgabewert ​

Pfad plus Name der zu speichernden Datei, leerer String, wenn der Dialog abgebrochen wird

Beispiel ​

pascal
Fn:=FileSaveDlg('*.txt','c:\Text','Textdateien|*.txt|Alle Dateien|*.*');

Zurück zu RAP-Funktionen

Quelle: FileSaveDlg – ursprüngliches Wiki

Online: FilterAdressArt

FilterAdressArt ​

Beschreibung ​

Grenzt die berücksichtigten Adressen auf die angegebene Adressart ein. Die Adressart wird als Text übergeben.

pascal
procedure FilterAdressArt(aAdressArt: String);

Parameter ​

Parameter Bedeutung
aAdressArt Adressart, auf die gefiltert werden soll

Beispiel ​

Siehe SelectAdressArt.

Zurück zu RAP-Funktionen

Quelle: FilterAdressArt – ursprüngliches Wiki

Online: FilterAdresse

FilterAdresse ​

Beschreibung ​

Grenzt die berücksichtigten Adressen auf die übergebene Adresse ein.

pascal
procedure FilterAdresse(aAdresse: String);

Parameter ​

Parameter Bedeutung
aAdresse Adresse, auf die gefiltert werden soll

Beispiel ​

Siehe SelectAdressName.

Zurück zu RAP-Funktionen

Quelle: FilterAdresse – ursprüngliches Wiki

Online: FilterErzieherfunktion

FilterErzieherfunktion ​

Beschreibung ​

Wählt aus den Erziehungsberechtigten die Einträge mit der angegebenen schulinternen Funktion aus.

pascal
procedure FilterErzieherfunktion(const aFunktion: String);

Parameter ​

Parameter Bedeutung
aFunktion Schulinterne Funktion, auf die gefiltert werden soll. Aus den Erziehern werden die Einträge mit der gewählten Funktion ausgewählt.

Beispiel ​

pascal
Procedure ReportBeforePrint;
var
  lFunktion : String;
begin
  lFunktion:=SelectErzFunktion;
  FilterErzieherfunktion(lFunktion);
end;

Zurück zu RAP-Funktionen

Quelle: FilterErzieherfunktion – ursprüngliches Wiki

Online: FilterFachUebersichtAufKlasse

FilterFachUebersichtAufKlasse ​

Beschreibung ​

Mit dieser Prozedur kann bei einem Gruppenwechsel (wobei die Gruppierung auf "Klasse" sein muss) eine Fachübersicht neu initialisiert werden. Der Aufruf erfolgt typischerweise im Ereignis "BeforeGroupBreak", als Aufruf-Parameter wird die Klasse übergeben. Dadurch ist es möglich, Fachübersichten für mehrere Klassen (oder die ganze Schule) in einem Durchlauf auszugeben, wobei nur die jeweils von der betreffenden Klasse belegten Fächer in der Übersicht erscheinen.

pascal
Procedure FilterFachUebersichtAufKlasse( const klasse: string );

Parameter ​

Parameter Bedeutung
String Klasse, für die die Übersicht erzeugt werden soll

Rückgabewert ​

Erzeugt einen neuen FachUebersichtsHeader, sobald die Gruppe wechselt.

Beispiel ​

pascal
FilterFachUebersichtAufKlasse(Schueler['Klasse']);

Wichtig

Der Aufruf sollte nur in Verbindung mit der Datenquelle "Fachuebersicht" erfolgen. Ein Aufruf von "FaecherVorbelegen" ist nicht notwendig (wird intern von " FilterFachUebersichtAufKlasse" gemacht) und wäre auch kontraproduktiv (erhöhter Zeitaufwand wegen doppeltem Aufruf).

Zurück zu RAP-Funktionen

Quelle: FilterFachUebersichtAufKlasse – ursprüngliches Wiki

Online: FilterLaufbahnJahr

FilterLaufbahnJahr ​

Beschreibung ​

Filtert die Laufbahndaten auf einen Zeitraum zwischen dem angegebenen Anfangs- und Endjahr.

pascal
procedure FilterLaufbahnJahr(const VonJahr, BisJahr: Integer);
  • VonJahr = 0: vom Anfang bis zum angegebenen Endjahr filtern.
  • BisJahr = 0: vom angegebenen Anfangsjahr bis zum Ende filtern.
  • Beide Werte sind 0: den Filter zurücksetzen.

Parameter ​

Parameter Bedeutung
VonJahr Beginn des Zeitraumes
BisJahr Ende des Zeitraumes

Beispiel ​

pascal
procedure ReportBeforePrint;
begin
  SetUebersicht(True);
  FilterLaufbahnJahr(2000,2009);
end;

procedure ReportAfterPrint;
begin
  SetUebersicht(false);
  FilterLaufbahnJahr(0,0);
end;

Zurück zu RAP-Funktionen

Quelle: FilterLaufbahnJahr – ursprüngliches Wiki

Online: FilterLaufbahnJahrgangASD

FilterLaufbahnJahrgangASD ​

Beschreibung ​

filtert die Laufbahndaten der Schüler für die angegebenen Jahrgänge; Jahrgangsliste = '' setzt die Abfrage zurück

pascal
procedure FilterLaufbahnJahrgandASD(const Jahrgangsliste: String);

Parameter ​

Parameter Bedeutung
Jahrgangsliste kommaseparierte Liste der Jahrgänge

Beispiel ​

pascal
procedure ReportBeforePrint;
begin
  SetUebersicht(True);
  FilterLaufbahnJahrgangASD('EF,Q1,Q2');
end;

procedure ReportAfterPrint;
begin
  SetUebersicht(false);
  FilterLaufbahnJahrgangASD('');
end;

Zurück zu RAP-Funktionen

Quelle: FilterLaufbahnJahrgangASD – ursprüngliches Wiki

Online: FilterLaufbahnStufen

FilterLaufbahnStufen ​

Beschreibung ​

Filtert für Leistungsübersichten auf bestimmte Jahrgangsstufen. Damit ist es möglich, zum Beispiel Formulare für die gymn. Oberstufe schulformunabhängig zu entwickeln

pascal
procedure FilterLaufbahnStufen(const Stufenliste: String);

Parameter ​

Parameter Bedeutung
Stufenliste Die zu betrachtenden Jahrgangsstufen, getrennt durch Komma

Beispiel ​

pascal
procedure ReportBeforePrint;
var
 vers: string;
begin
{Filter auf Q1 und Q2 bzw. 12 und 13 bzw. 5 und 6 (bei WBK)}
 FilterLaufbahnStufen('SII-2,SII-3');
end;

Zurück zu RAP-Funktionen

Quelle: FilterLaufbahnStufen – ursprüngliches Wiki

Online: FilterSchuelerAdressArt

FilterSchuelerAdressArt ​

Beschreibung ​

Filtert die Schüleradressen nach der angegebenen Adressart.

pascal
procedure FilterSchuelerAdressArt(aAdressArt: String);

Parameter ​

Parameter Bedeutung
aAdressArt Adressart, auf die gefiltert werden soll

Beispiel ​

pascal
Procedure ReportBeforePrint;
 var
   lAdressArt : String;
 begin
   lAdressArt:=SelectAdressArt;
   FilterSchuelerAdressArt(lAdressArt);
 end;
 (*Zu jedem Schüler werden die durch „lAdressArt“ gefilterten Einträge aus den „Allgemeinen
  Adressen“ angezeigt. Auf das Ergebnis kann über die Datenquelle „SchuelerAdressen“
  zugegriffen werden*)

Zurück zu RAP-Funktionen

Quelle: FilterSchuelerAdressArt – ursprüngliches Wiki

Online: FormatRTF

FormatRTF ​

Beschreibung ​

Formatiert einen Richtext, also einen Text mit Schrift- und Formatangaben. Die Parameter bestimmen Schriftart, Größe, Farbe und Hervorhebungen.

pascal
procedure FormatRTF(aRichtext: TppcustomRichtext; aFontname: String; Groesse: Integer;Fett: Boolean; Kursiv: Boolean; Unterstrichen: Boolean; Gestrichen: Boolean; Farbe: TColor);

Parameter ​

Parameter Bedeutung
aRichtext Richtextelement, dessen Text neu formatiert werden soll
aFontname Name des Zeichensatzes
Groesse Schriftgröße (in Punkten)
Fett Boolescher Wert, falls true, wird das Attribut gesetzt.
Kursiv Boolescher Wert, falls true, wird das Attribut gesetzt.
Unterstrichen Boolescher Wert, falls true, wird das Attribut gesetzt.
Gestrichen Boolescher Wert, falls true, wird das Attribut gesetzt.
Farbe Schriftfarbe (zum Beispiel clRed, clBlue...)

Beispiel ​

pascal
begin
   FormatRTF(Richtext1,'Tahoma',11,true,true,false,false,clRed);
 end;
 (*Formatiert den Text in Tahoma, Größe 11, Fett, Kursiv, Schriftfarbe Rot*)

Zurück zu RAP-Funktionen

Quelle: FormatRTF – ursprüngliches Wiki

Online: GeRNiveauAusFachKrz

GeRNiveauAusFachKrz ​

Beschreibung ​

bestimmt das eingetragene Sprachniveau zum Fachkürzel aus der Sprachenfolge

pascal
function GeRNiveauAusFachKrz(FachKrz: String): String;

Parameter ​

Parameter Bedeutung
FachKrz Fachkürzel aus der Fächertabelle

Rückgabewert ​

Klartextname GeRNiveau

Beispiel ​

pascal
GeRNiveauAusFachKrz('E5');

Zurück zu RAP-Funktionen

Quelle: GeRNiveauAusFachKrz – ursprüngliches Wiki

Online: GeschlechtToString

GeschlechtToString ​

Beschreibung ​

Wählt abhängig von der übergebenen Geschlechtsangabe die männliche oder weibliche Textform aus.

pascal
function GeschlechtToString(aGeschlecht: integer; aMaennl_Form, aWeibl_Form: String): String;

Parameter ​

Parameter Bedeutung
aGeschlecht Geschlecht, m=3, w=4
aMaennl_Form männliche Form
aWeibl_Form weibliche Form

Rückgabewert ​

Vorgabe, je nach Geschlecht

Beispiel ​

pascal
lAnrede:=GeschlechtToString(Schueler['Geschlecht'],'Schüler','Schülerin')

Zurück zu RAP-Funktionen

Quelle: GeschlechtToString – ursprüngliches Wiki

Online: GetFachgruppe

GetFachgruppe ​

Beschreibung ​

bestimmt den Klartextnamen einer bestimmten Fächergruppe

pascal
function GetFachgruppe(aFG_Id: Integer): String;

Parameter ​

Parameter Bedeutung
aFG_Id Id-Nummer der Fachgruppe

Rückgabewert ​

Klartextname

Beispiel ​

text
...

Zurück zu RAP-Funktionen

Quelle: GetFachgruppe – ursprüngliches Wiki

Online: GetSqlText

GetSqlText ​

Beschreibung ​

liefert den Text der SQL-Abfrage, die der als Parameter übergebenen Datenquelle zugrunde liegt.

pascal
function GetSqlText(aPipeline: TppDatapipeline): String;

Parameter ​

Parameter Bedeutung
aPipeline Name der Datenpipeline

Rückgabewert ​

SqlText, falls die Pipeline eine DB-Pipeline ist, sonst ein leerer String

Beispiel ​

pascal
ShowMessage('Abfragetext: ' + GetSqlText(Schueler))

Zurück zu RAP-Funktionen

Quelle: GetSqlText – ursprüngliches Wiki

Online: GruppenDesBenutzers

GruppenDesBenutzers ​

Beschreibung ​

Ermittelt die Benutzergruppen, denen ein Benutzer angehört

pascal
function GruppenDesBenutzers(const aLoginName: String): String;

Parameter ​

Parameter Bedeutung
aLoginName Loginname des Benutzers

Rückgabewert ​

Gruppen, denen der Benutzer angehört

Beispiel ​

pascal
procedure DetailBeforePrint;
var
  lGruppen : String;
begin
  lGruppen:=GruppenDesBenutzers(SchildUmgebung['Login_Name']);
  Detail.Visible:=pos('LEHRER',lGruppen) > 0
end;

Zurück zu RAP-Funktionen

Quelle: GruppenDesBenutzers – ursprüngliches Wiki

Online: IncFontSize

IncFontSize ​

Beschreibung ​

Vergrößert oder verkleinert die Schriftgröße.

pascal
procedure IncFontSize(aReport: TppReport; const aIncrement: Integer);

Parameter ​

Parameter Bedeutung
aReport der Report, dessen Komponenten bearbeitet werden sollen
aIncrement Wert, um den der Zeichensatz vergrößert (oder bei negativem Increment) verkleinert werden soll

Beispiel ​

pascal
...procedure ReportOnStartFirstPass;
begin
  IncFontSize(Report,1);
end;

Zurück zu RAP-Funktionen

Quelle: IncFontSize – ursprüngliches Wiki

Online: IstInDerGruppe

IstInDerGruppe ​

Beschreibung ​

Diese Funktion ermittelt, ob ein bestimmter Benutzer einer Gruppe angehört

pascal
function IstInDerGruppe(const aLoginName, aGruppenName: String): Boolean;

Parameter ​

Parameter Bedeutung
aLoginname der SchILD-NRW 2-Loginname des Benutzers
aGruppenname die zu überprüfende Gruppe

Rückgabewert ​

TRUE, wenn der Benutzer der Gruppe angehört, FALSE sonst

Beispiel ​

pascal
procedure DetailBeforePrint;
begin
  Detail.Visible:=IstInDerGruppe('LEHRER',SchildUmgebung['Login_Name'])
end;

Zurück zu RAP-Funktionen

Quelle: IstInDerGruppe – ursprüngliches Wiki

Online: IstLeer

IstLeer ​

Beschreibung ​

Prüft, ob das angegebene Feld einer Datenquelle leer ist. Das Ergebnis ist ein Wahrheitswert: True bedeutet hier „leer“.

pascal
function IstLeer(aDataPipeline: TppDataPipeline; const aFieldname: String): Boolean;

Parameter ​

Parameter Bedeutung
aDataPipeline Zu prüfende Datenquelle
aFieldname Name des zu überprüfenden Felde

Rückgabewert ​

True, falls das Datenfeld leer ist

Beispiel ​

pascal
Procedure DBText1OnGetText(var Text: String);
begin
  If IstLeer(Schueler,'Geburtsdatum') then
    Text:='Geburtsdatum fehlt';
end;

Zurück zu RAP-Funktionen

Quelle: IstLeer – ursprüngliches Wiki

Online: JahrgangsListe

JahrgangsListe ​

Beschreibung ​

Erzeugt eine durch Kommas getrennte Liste von Jahrgängen. Die Parameter legen den Endjahrgang und den Abstand zum Startjahrgang fest.

pascal
function JahrgangsListe(Const aEndJg: String; const aDiff: Integer): String;

Parameter ​

Parameter Bedeutung
aEndJg Letzter Jahrgang des Intervalls
aDiff Abstand zum Startjahrgang

Rückgabewert ​

Kommaseparierte Liste der Jahrgänge

Beispiel ​

pascal
Procedure ReportBeforePrint;
 var
   lJahrgaenge : String;
 begin
   lJahrgaenge:=JahrgangsListe('Q2',3); //Ergebnis: '08,09,EF,Q1'
   SetJgIntervall_ASD(lJahrgaenge);
 end;

Zurück zu RAP-Funktionen

Quelle: JahrgangsListe – ursprüngliches Wiki

Online: KursBezIgnorieren

KursBezIgnorieren ​

Beschreibung ​

Durch den Aufruf dieser Prozedur wird bei der Einsortierung der Leistungsdaten in die Leistungsübersichten die Kursbezeichnung ignoriert. Diese Prozedur ist nur im Zusammenhang mit SetUebersicht notwendig und sinnvoll. Standardmäßig wird die Kursbezeichnung berücksichtigt.

pascal
Procedure KursBezIgnorieren(Const Ignore : Boolean);

Parameter ​

Parameter Bedeutung
ignore wahr-> Kursarten ignorieren

Beispiel ​

pascal
Procedure ReportBeforePrint;
 begin
   SetUebersicht(True);
   KursBezIgnorieren(True);
 end;

 Procedure ReportAfterPrint;
 begin
   SetUebersicht(false);
   KursBezIgnorieren(False);
 end;

Zurück zu RAP-Funktionen

Quelle: KursBezIgnorieren – ursprüngliches Wiki

Online: LehrerAuswaehlen

LehrerAuswaehlen ​

Beschreibung ​

Bisher wurde vor dem Druck eines Berichtes mit der Datenquelle 'Lehrer' grundsätzlich der Lehrerauswahldialog auf gerufen. Dieser Dialog wird jetzt nur noch aufgerufen, wenn in einem geeigneten Ereignis (hier bietet sich BeforeOpenDataPipelines an) die Procedur LehrerAuswaehlen(True) aufgerufen wird. Sinnvollerweise sollte die Auswahl nach dem Druck wieder zurückgesetzt werden.

pascal
procedure LehrerAuswaehlen(const Auswahlzeigen: Boolean)

Parameter ​

Parameter Bedeutung
Auswahlzeigen Boolea

Beispiel ​

pascal
Procedure ReportBeforeOpenDataPipelines;
begin
  LehrerAuswaehlen(True);
end;

Procedure ReportAfterPrint;
begin
  LehrerAuswaehlen(false);
end;

Zurück zu RAP-Funktionen

Quelle: LehrerAuswaehlen – ursprüngliches Wiki

Online: LehrerDatenLaden

LehrerDatenLaden ​

Beschreibung ​

Lädt Angaben zu einer Lehrkraft in die übergebenen Variablen, darunter Name, Anrede und Amtsbezeichnung.

pascal
procedure LehrerDatenLaden(const Kuerzel: String; var Name, Vorname, Anrede, Titel, Amtsbez: String);

Parameter ​

Parameter Bedeutung
Name Nachname des Lehrers
Vorname ..des Lehrers
Anrede ..des Lehrers
Titel ..des Lehrers
Amtsbez ..des Lehrers

Beispiel ​

pascal
procedure Label4711OnGetText(var Text: String);
var
  lName, lVorname, lAnrede, lTitel, lAmtsbez: String;
begin
  LehrerdatenLaden(Schueler['Lehrer'],lName, lVorname, lAnrede, lTitel,lAmtsbez);
  Text:=lAnrede;
  if lAmtsBez <> '' then Text:=Text + lAmtsBez;
  if lTitel <> '' then Text:=Text +  lTitel;
  Text:=Text + lVorname +  lName;
end;

Zurück zu RAP-Funktionen

Quelle: LehrerDatenLaden – ursprüngliches Wiki

Online: LehrerKursartStatistikLaden

LehrerKursartStatistikLaden ​

Beschreibung ​

Durch den Aufruf dieser Prozedur wird die Datenquelle 'LehrerUnterrichtsStatistik' mit Daten gefüllt. Diese Datenquelle sollte nur als Datenquelle für eine Kreuztabelle eingesetzt werden, die dann statistische Aussagen über den Unterricht des Lehrers (Anzahl der Schüler mit Kursart xyz...) liefert. Auch diese Datenquelle ist Detaildatenquelle der Datenquelle 'Lehrer'.

pascal
Procedure LehrerKursartStatistikLaden;

Beispiel ​

pascal
Procedure DetailBeforeGenerate;
 begin
   LehrerUnterrichtLaden;
   LehrerKursartStatistikLaden;
 end;

Zurück zu RAP-Funktionen

Quelle: LehrerKursartStatistikLaden – ursprüngliches Wiki

Online: LehrerUnterrichtLaden

LehrerUnterrichtLaden ​

Beschreibung ​

Durch den Aufruf dieser Prozedur werden die Datenquellen 'KursUnterricht' und 'Klassenunterricht', die beide Detaildatenquellen der Hauptdatenquelle 'Lehrer' sind, mit Daten gefüllt

pascal
Procedure LehrerUnterrichtLaden;

Beispiel ​

pascal
Procedure DetailBeforeGenerate;
 begin
   LehrerUnterrichtLaden
end;

Zurück zu RAP-Funktionen

Quelle: LehrerUnterrichtLaden – ursprüngliches Wiki

Online: LernfelderZuFachklasse

LernfelderZuFachklasse ​

Beschreibung ​

Gibt die Lernfelder einer Fachklasse aus

pascal
function LernfelderZuFachklasse( fachklasse_id: integer): string;

Parameter ​

Parameter Bedeutung
fachklasse_id Die Fachklasse_ID des Schülers (aus Stammdaten oder Lernabschnittsdaten)

Rückgabewert ​

Lernfelder im Richtext.

Beispiel ​

pascal
procedure DetailBeforePrint;
 begin
  RichText_LF.RichText := LernfelderZuFachklasse( Schueler[ 'Fachklasse_ID'] );
End;

Zurück zu RAP-Funktionen

Quelle: LernfelderZuFachklasse – ursprüngliches Wiki

Online: LoadFromFile

LoadFromFile ​

Beschreibung ​

Liest den Inhalt einer Textdatei ein und gibt ihn als Text zurück. Übergeben Sie dazu den vollständigen Pfad und Dateinamen.

pascal
function LoadFromFile(aFilename: String): String;

Parameter ​

Parameter Bedeutung
aFilename Pfad + Dateiname der zu ladenden Textdatei

Rückgabewert ​

Inhalt der Textdatei

Beispiel ​

pascal
lFilename:=FileOpenDlg('*.rtf','c:\Texte','Richtexte|*.rtf|Alle Dateien|*.*');
RichText1.RichText:=LoadFromFile(lFilename')

Zurück zu RAP-Funktionen

Quelle: LoadFromFile – ursprüngliches Wiki

Online: LoadNotenliste

LoadNotenliste ​

Beschreibung ​

Die zu ladende Textdatei muss pro Zeile ein Paar der Form 'Numerischer Wert=Klartext' enthalten. Die interne Zuordnungsliste wird dadurch überschrieben.

pascal
procedure LoadNotenliste(aFilename: String);

Parameter ​

Parameter Bedeutung
aFilename Dateiname (incl.Pfad) der Textdatei

Beispiel ​

text
...

Zurück zu RAP-Funktionen

Quelle: LoadNotenliste – ursprüngliches Wiki

Online: LoadVermerke

LoadVermerke ​

Beschreibung ​

Liest die Vermerke der angegebenen Vermerkart aus und verbindet sie zu einem Text. Das Trennzeichen zwischen den einzelnen Vermerken können Sie vorgeben.

pascal
function LoadVermerke(aVermerkart, aDelimiter: String): String

Parameter ​

Parameter Bedeutung
aVermerkart Gewünschte Vermerkart, wie im Katalog „Vermerkarten definiert.
aDelimiter Trenner für die Vermerke. Hier ist eine beliebige Zeichenkette zulässig. Besondere Bedeutung haben '\t ' beziehungsweise '\T' (fügt einen Tabulatorschritt ein) und '\n' beziehungsweise '\N' (fügt einen Zeilenvorschub ein).

Rückgabewert ​

Alle Vermerke der gewählten Art, durch den Delimiter voneinander getrennt.

Beispiel ​

pascal
 Procedure DetailBeforePrint;
 begin
   Memo1.Text:=LoadVermerke('Betreuung','\n');
 end;
(*Ergebnis: Alle Betreuungs-Vermerke werden untereinander in einem Memofeld
 dargestellt.*)

Zurück zu RAP-Funktionen

Quelle: LoadVermerke – ursprüngliches Wiki

Online: LoadVermerkeEx

LoadVermerkeEx ​

Beschreibung ​

Liest Vermerke einer gewählten Art aus. Zusätzlich zum Trennzeichen können Sie festlegen, ob das Eintragsdatum mit ausgegeben wird.

pascal
function LoadVermerkeEx(const aVermerkart, aDelimiter: String; const MitDatum: Boolean): String;

Parameter ​

Parameter Bedeutung
aVermerkart Gewünschte Vermerkart, wie im Katalog „Vermerkarten definiert.
aDelimiter Trenner für die Vermerke. Hier ist eine beliebige Zeichenkette zulässig. Besondere Bedeutung haben '\t ' beziehungsweise '\T' (fügt einen Tabulatorschritt ein) und '\n' beziehungsweise '\N' (fügt einen Zeilenvorschub ein).
MitDatum Boolescher Wert. Falls TRUE, wird den Ergebniszeilen das Eintragsdatum vorangestellt

Rückgabewert ​

Alle Vermerke der gewählten Art, durch den Delimiter voneinander getrennt.

Beispiel ​

pascal
 Procedure DetailBeforePrint;
 begin
   Memo1.Text:=LoadVermerkeEx('Betreuung','\n',True);
 end;
(*Ergebnis: Die Zeilen haben die Form '31.02.2123: XYZ aufgenommen'*)

Zurück zu RAP-Funktionen

Quelle: LoadVermerkeEx – ursprüngliches Wiki

Online: LoadVermerkeVonBis

LoadVermerkeVonBis ​

Beschreibung ​

Liest Vermerke einer gewählten Art innerhalb eines Zeitraums aus. Beginn, Ende, Trennzeichen und die Ausgabe des Datums werden über Parameter festgelegt.

pascal
function LoadVermerkeVonBis(Const aVermerkart, aDelimiter, aStart, aEnde: String; mitDatum: Boolean): String;

Parameter ​

Parameter Bedeutung
aVermerkart Gewünschte Vermerkart, wie im Katalog „Vermerkarten definiert.
aDelimiter Trenner für die Vermerke. Hier ist eine beliebige Zeichenkette zulässig. Besondere Bedeutung haben '\t ' beziehungsweise '\T' (fügt einen Tabulatorschritt ein) und '\n' beziehungsweise '\N' (fügt einen Zeilenvorschub ein).
aStart Beginn des Suchzeitraumes
aEnde Ende des Suchzeitraumes
mitDatum Falls true, wird jedem Vermerk das Vermerkdatum vorangestellt

Rückgabewert ​

Alle Vermerke der gewählten Art, durch den Delimiter voneinander getrennt.

Beispiel ​

pascal
 Procedure DetailBeforePrint;
 begin
   Memo1.Text:=LoadVermerkeVonBis('Betreuung','\n','01.08.2011','31.01.2012',True);
 end;
(*Ergebnis: Alle Betreuungs-Vermerke, die im ersten Halbjahr 2011/12
  eingetragen wurden, werden untereinander in einem Memofeld
  dargestellt.*)

Zurück zu RAP-Funktionen

Quelle: LoadVermerkeVonBis – ursprüngliches Wiki

Online: LongDayNames

LongDayNames ​

Beschreibung ​

Gibt den ausgeschriebenen Namen eines Wochentags zurück. Die übergebene Zahl bestimmt den Wochentag.

pascal
function LongDayNames(aTag: Integer): String;

Parameter ​

Parameter Bedeutung
aTag Nr. des Wochentages (1=Sonntag,..., 7=Samstag)

Rückgabewert ​

Langname des Wochentages

Beispiel ​

pascal
Label27.Caption:=LongDayNames(1); //(*Sonntag*)

Zurück zu RAP-Funktionen

Quelle: LongDayNames – ursprüngliches Wiki

Online: LookupSprachenfolge

LookupSprachenfolge ​

Beschreibung ​

Prüft, ob das über sein Statistikkürzel angegebene Fach in der Sprachenfolge vorhanden ist.

pascal
Function LookupSprachenfolge(aStatistikKrz: String):Boolean;

Parameter ​

Parameter Bedeutung
aStatistikKrz Statistikkürzel des gesuchten Faches

Rückgabewert ​

Wahr, wenn das Fach existiert, sonst Falsch

Beispiel ​

pascal
Hinweis: Damit diese Funktion genutzt werden kann, muss vor dem Druck (sinnvollerweise
im Ereignis ReportBeforePrint) die Funktion SetAbitur mit dem Parameter „True“ und nach
dem Druck (in ReportAfterPrint) mit dem Parameter „False“ aufgerufen werden.
Procedure DetailBeforePrint;
begin
  Checkbox1.Checked:=LookupSprachenfolge('L7')
end;

Zurück zu RAP-Funktionen

Quelle: LookupSprachenfolge – ursprüngliches Wiki

Online: Mehrfachauswahl

Mehrfachauswahl ​

Beschreibung ​

ermöglicht die Auswahl mehrerer Elemente einer Auswahlliste

pascal
function Mehrfachauswahl(Prompt, Optionsliste: String; Trennzeichen: Char): TStringList;

Parameter ​

Parameter Bedeutung
Prompt Eingabeaufforderung
Optionsliste Liste der verfügbaren Optionen
Trennzeichen Trennt die Optionen in der Liste voneinander

Rückgabewert ​

Eine Stringliste mit den gewählten Optionen

Beispiel ​

pascal
procedure DetailBeforePrint;
begin
  Memo1.Lines:=MehrfachAuswahl('Bitte wählen Sie eine oder mehrere Optionen:',
    'Option 1;Option 2;Option 3',';');
end

Zurück zu RAP-Funktionen

Quelle: Mehrfachauswahl – ursprüngliches Wiki

Online: MehrfachauswahlEx

MehrfachauswahlEx ​

Beschreibung ​

ermöglicht die Auswahl mehrerer Elemente einer Auswahlliste

pascal
function MehrfachauswahlEx(Prompt: String, Optionsliste: String; Trennzeichen: Char): String;

Parameter ​

Parameter Bedeutung
Prompt Eingabeaufforderung
Optionsliste Liste der verfügbaren Optionen
Trennzeichen Trennt die Optionen in der Liste voneinander

Rückgabewert ​

Ein String mit den durch Bindestriche begrenzeten Indizes der gewählten Optionen; Wenn keine Auswahl getroffen wurde, besteht der String nur aus einem Bindestrich.

Beispiel ​

pascal
procedure DetailBeforePrint;
var
  lResult : String;
begin
  lResult:=MehrfachAuswahlEx(Bitte wählen Sie eine oder mehrere Optionen:',
    'Option 1;Option 2;Option 3',';');
  if pos('-1-',lResult) > 0 then...
  if pos('-2-',lResult) > 0 then...
end

Zurück zu RAP-Funktionen

Quelle: MehrfachauswahlEx – ursprüngliches Wiki

Online: MitLernabschnitten

MitLernabschnitten ​

Beschreibung ​

Erzwingt die Aktualisierung der Datenquelle Lernabschnitte beim Wechsel eines Schülerdatensatzes.

pascal
procedure MitLernabschnitten(const Value: Boolean);

Parameter ​

Parameter Bedeutung
Value Boolescher Wert

Beispiel ​

pascal
procedure ReportBeforePrint;
begin
  MitLernabschnitten(True);
end;

procedure ReportAfterPrint;
begin
  MitLernabschnitten(false);
end

Zurück zu RAP-Funktionen

Quelle: MitLernabschnitten – ursprüngliches Wiki

Online: NotenDurchschnitt

NotenDurchschnitt ​

Beschreibung ​

var Beste, Schlechteste: Integer; var Schnitt: String);

pascal
procedure NotenDurchschnitt(const aSchuelerId, aJahr, aAbschnitt: Integer;

Parameter ​

Parameter Bedeutung
aSchuelerId Id-Nummer des Schülers
aJahr Schuljahr und
aAbschnitt Abschnitt des Schuljahres, für das der Schnitt berechnet wird.

Rückgabewert ​

Beste - Beste Note des Abschnitte Schlechteste - Schlechteste Note des Abschnittes Schnitt - Formatierte Schnitt (zwei Nachkommastellen)

Beispiel ​

pascal
procedure DetailBeforePrint;
var
  lBeste, lSchlechteste : integer;
  lSchnitt : String;
begin
  NotenDurchschnitt(Schueler['ID'],Schueler['AktSchuljahr'],Schueler['AktAbschnitt'],
  Label1.Caption:=IntToStr(lBeste);
  Label2.Caption:=IntToStr(lSchlechteste);
  Label3.Caption:=lSchnitt;
end;

Zurück zu RAP-Funktionen

Quelle: NotenDurchschnitt – ursprüngliches Wiki

Online: NurErzieherMitAnschreiben

NurErzieherMitAnschreiben ​

Beschreibung ​

Steuert, ob nur Erziehungsberechtigte mit dem gesetzten Merkmal Erhält Anschreiben berücksichtigt werden.

pascal
procedure NurErzieherMitAnschreiben(Filtern: Boolean);

Parameter ​

Parameter Bedeutung
Filtern TRUE, falls nur Erzieher berücksichtigt werden sollen, bei denen das Flag „Erhält Anschreiben“ gesetzt ist.

Beispiel ​

pascal
Procedure ReportBeforePrint;
 begin
   NurErzieherMitAnschreiben(True);
 end;

Procedure ReportAfterPrint;
begin
  NurErzieherMitAnschreiben(False);
end;

Zurück zu RAP-Funktionen

Quelle: NurErzieherMitAnschreiben – ursprüngliches Wiki

Online: NurFaecherMitAufsZeugnisFlag

NurFaecherMitAufsZeugnisFlag ​

Beschreibung ​

Durch die Verwendung dieser Prozedur kann erreicht werden, dass bei den Schülerleistungsdaten auch Fächer mit ausgegeben werden, bei denen das Flag "Auf Zeugnis" nicht gesetzt ist. Voreinstellung für diesen Wert ist TRUE, das heißt es werden nur Fächer ausgegeben, bei denen dieses Flag gesetzt ist.

pascal
Procedure NurFaecherMitAufsZeugnisFlag(aValue : Boolean);

Parameter ​

Parameter Bedeutung
aValue Boolscher Wert: FALSE schaltet die Überprüfung ab, TRUE schaltet sie wieder ein.

Beispiel ​

pascal
procedure ReportBeforePrint;
begin
  NurFaecherMitAufsZeugnisFlag(False)
end;

procedure ReportAfterPrint;
begin
  NurFaecherMitAufsZeugnisFlag(True)
end;

Zurück zu RAP-Funktionen

Quelle: NurFaecherMitAufsZeugnisFlag – ursprüngliches Wiki

Online: NurFaecherMitNoten

NurFaecherMitNoten ​

Beschreibung ​

Steuert, ob nur Leistungsdaten mit einer eingetragenen Note geladen werden.

pascal
procedure NurFaecherMitNoten(const Value: Boolean);

Parameter ​

Parameter Bedeutung
Value True, wenn nur Leistungsdaten mit eingetragenen Noten geholt werden sollen

Beispiel ​

pascal
Procedure ReportBeforePrint;
 begin
   NurFaecherMitNoten(True)
 end;
 z.B. in einem Zeugnis: Fächer ohne Noten erscheinen nicht
 auf dem Zeugnis. Damit Übersichten etc. funktionieren,
 sollte diese Option in ReportAfterPrint wieder zurückgesetzt werden

Zurück zu RAP-Funktionen

Quelle: NurFaecherMitNoten – ursprüngliches Wiki

Online: NurGewerteteAbschnitte

NurGewerteteAbschnitte ​

Beschreibung ​

Steuert, ob ausschließlich gewertete Lernabschnitte angezeigt werden. Die nachfolgenden Hinweise erläutern die Voreinstellung und ihre Bedeutung für Leistungsübersichten.

pascal
NurGewerteteAbschnitte( zeigen: boolen );

Parameter ​

Parameter Bedeutung
Anzeigewerte True, False

Beispiel ​

pascal
NurGewerteteAbschnitte( false );

Wichtig: Der "Default" steht" auf "true" (das heißt nur gewertete Abschnitte zeigen). Andernfalls könnte es Probleme bei Reports geben, die nur gewertete Abschnitte zeigen dürfen (zum Beispiel Abi-Übersichten). Wenn man für ein Stammblatt auch die nicht gewerteten Abschnitte sehen will.

Zurück zu RAP-Funktionen

Quelle: NurGewerteteAbschnitte – ursprüngliches Wiki

Online: PickDatum

PickDatum ​

Beschreibung ​

Zeigt einen Dialog zur Datumsauswahl an. Das gewählte Datum wird als Text zurückgegeben.

pascal
function PickDatum(aCaption, aDate: String): String;

Parameter ​

Parameter Bedeutung
aCaption Überschrift des Dialoges
aDate Datumsvorgabe

Rückgabewert ​

Datum als Zeichenkette, zum Beispiel '31.12.2010'

Beispiel ​

pascal
Var
KDate : String;
Begin
 Pickdatum('Datum Konferenz',KDate);
End;

Zurück zu RAP-Funktionen

Quelle: PickDatum – ursprüngliches Wiki

Online: PipelineOeffnen

PipelineOeffnen ​

Beschreibung ​

Öffnet die angegebene Datenquelle für den Report. Der Name der Datenquelle wird als Text übergeben.

pascal
procedure PipelineOeffnen(aPipeline: TppDBpipeline);

Parameter ​

Parameter Bedeutung
DBpipeline Die zu öffnende Datenquelle als Zeichenkette.

Beispiel ​

pascal
procedure ReportBeforePrint;
 begin
   PipelineOeffnen( Erzieher );
 end;

Zurück zu RAP-Funktionen

Quelle: PipelineOeffnen – ursprüngliches Wiki

Online: PluginVersion

PluginVersion ​

Beschreibung ​

Liefert die Version der Reporting.dll

pascal
function PluginVersion: string;

Beispiel ​

pascal
procedure ReportBeforePrint;
 var
  vers: string;
 begin
  vers := PluginVersion;
  if vers >= ‘2’ then
  begin
  end;
 end;

Zurück zu RAP-Funktionen

Quelle: PluginVersion – ursprüngliches Wiki

Online: Praktikumstage

Praktikumstage ​

Beschreibung ​

Liefert die Anzahl der Praktikumstage eines Schülers (optional nur solche mit Kennung „Betriebspraktikum“). Voraussetzung ist, dass das Praktikum bei dem jeweiligen Betrieb als solches gekennzeichnet ist (mit Anfangs- und Enddatum)

pascal
function PraktikumsTage( const nur_betriebspraktikum: boolean): integer;

Rückgabewert ​

Anzahl der Tage.

Beispiel ​

pascal
procedure DetailBeforePrint;
 Begin
 {Alle Praktikumstage ausgeben}
 LblPraktikumstage.Text := IntToStr( Praktikumstage( false ) );
End;

Zurück zu RAP-Funktionen

Quelle: Praktikumstage – ursprüngliches Wiki

Online: QuotedStr

QuotedStr ​

Beschreibung ​

schließt den String Value in Delphi-Hochkommata ein

pascal
function QuotedStr(const Value: String): String;

Parameter ​

Parameter Bedeutung
Value String, der eingeschlossen werden soll

Rückgabewert ​

In Hochkommata eingeschlossener String

Beispiel ​

pascal
Setzefilter(Klassenlehrer_mit_Noten,'Fachkrz=' + QuotedStr('M'));

Zurück zu RAP-Funktionen

Quelle: QuotedStr – ursprüngliches Wiki

Online: ReadDateTime

ReadDateTime ​

Beschreibung ​

Zeigt einen Dialog für Datum und Uhrzeiten an. Bei Bedarf lässt sich ein Zeitintervall mit Beginn und Ende erfassen.

pascal
function ReadDateTime(aPrompt: String; var D,T1,T2: TDateTime; IsIntervall: Boolean): Boolean;

Parameter ​

Parameter Bedeutung
aPrompt Hinweistext im Dialogtitel
D Datum)
T1 Uhrzeit (Beginn)
T2 Uhrzeit(Ende
IsIntervall Falls True, wird die Uhrzeit (Ende) eingeblendet und kann verändert werden

Rückgabewert ​

True: Dialog durch „Ok“ beendet, False sonst

Beispiel ​

pascal
Procedure Label1OnGetText(var Text: String);
 var
   D,T1,T2 : Datetime;
 begin
   If ReadDateTime('Sprechtag', D, T1, T2, True) then
     Text:='Elternsprechtag am ' + DateToStr(D)
     + ' von ' + TimeToStr(T1) + ' Uhr'
     + ' bis ' + TimeToStr(T2) + ' Uhr'
   else
     Text:='---';
 end;

Zurück zu RAP-Funktionen

Quelle: ReadDateTime – ursprüngliches Wiki

Online: ReplaceDefault

ReplaceDefault ​

Beschreibung ​

Platzhalter | Wird ersetzt durch --------------------------+---------------------------------- $_NAME$ | Schueler['Name'] $_VORNAME$ | Schueler['Vorname'] $_NAME_VORNAME$ | Schueler['NameVorname'] $_VORNAME_NAME$ | Schueler['VornameName'] $_ANREDE$ | Schueler['Anrede'] $_ER_ODER_SIE$ | Schueler['ErSie'] $_SOHN_ODER_TOCHTER$ | Schueler['SohnOderTochter'] $_ADRESSANREDE$ | Schueler['AdressAnrede'] $_STRASSE$ | Schueler['Strasse'] $_PLZ_ORT$ | Schueler['PLZ + ' ' + Schueler['OrtAbk'] $_ERZ_ADRESSANREDE$ | SchErzAdr['BriefAnrede'] $_ERZ_FORMALEANREDE$ | SchErzAdr['FormaleAnrede'] $_ERZ_VORNAMEN_UND_NAME$ | SchErzAdr['VornamenUndName'] $_ERZ_STRASSE$ | SchErzAdr['ErzStrasse'] $_ERZ_PLZ_ORT$ | SchErzAdr['ErzPLZ + ' ' + SchErzAdrOrt']

pascal
function ReplaceDefault(aText: String): String;

Zusätzlich werden im Text geschlechtsspezifische Umwandlungen nach dem Muster der Bemerkungsfelder vorgenommen, das heißt aus &Text_männlich%Text_weiblich& wird in Abhängigkeit vom Geschlecht des Schülerdatensatzes die korrekte Form gewählt.

Parameter ​

Parameter Bedeutung
aText Text, in dem die oder der Standard-Platzhalter ersetzt werden sollen.

Beispiel ​

pascal
Procedure DetailBeforePrint;
begin
  ...
  RichText1.Richtext:=ReplaceDefault(RichText1.Richtext);
  ...
end;

Zurück zu RAP-Funktionen

Quelle: ReplaceDefault – ursprüngliches Wiki

Online: ReplaceStandardVar

ReplaceStandardVar ​

Beschreibung ​

Ersetzt einen angegebenen Standardplatzhalter in einem Text. Die Parameter bestimmen den Text und die zu ersetzende Standardvariable.

pascal
function ReplaceStandardVar(aText, aStandardVar: String): String;

Parameter ​

Parameter Bedeutung
aText Text, in dem die oder der Standard-Platzhalter ersetzt werden sollen.
aStandardVar Standardvariable, die ersetzt werden soll

Beispiel ​

pascal
Procedure DetailBeforePrint;
 begin
   ...
   RichText1.Richtext:=ReplaceStandardVar(RichText1.Richtext,'$_NAME$');
   ...
 end;

Zurück zu RAP-Funktionen

Quelle: ReplaceStandardVar – ursprüngliches Wiki

Online: ReplaceText

ReplaceText ​

Beschreibung ​

Ersetzt eine vorgegebene Textstelle durch einen anderen Text und liefert den veränderten Text zurück.

pascal
function ReplaceText(aSourceText, aSearchText,
                     aReplaceText: String): String;

Parameter ​

Parameter Bedeutung
aSourceText Text, der den zu ersetzenden String (selbst definierter Platzhalter) enthält
aSearchText String, der ersetzt werden soll
aReplaceText String, der eingefügt werden soll

Rückgabewert ​

Veränderter Quelltext

Beispiel ​

pascal
Memo1.Text:=ReplaceText(Memo1.Text,'$VORNAME$',Schueler['Vorname']);

Zurück zu RAP-Funktionen

Quelle: ReplaceText – ursprüngliches Wiki

Online: ReplaceTextEx

ReplaceTextEx ​

Beschreibung ​

Im Unterschied zu ReplaceText berücksichtigt ReplaceTextEx Groß- und Kleinschreibung.

pascal
function ReplaceTextEx(aSourceText, aSearchText,
                       aReplaceText: String): *   String;

Parameter ​

Parameter Bedeutung
aSourceText Text, der den zu ersetzenden String (selbst definierter Platzhalter) enthält
aSearchText String, der ersetzt werden soll
aReplaceText

Rückgabewert ​

Veränderter Quelltext

Beispiel ​

pascal
Memo1.Text:=ReplaceTextEx(Memo1.Text,'$VORNAME$',Schueler['Vorname']);

Zurück zu RAP-Funktionen

Quelle: ReplaceTextEx – ursprüngliches Wiki

Online: ResetAdressArt

ResetAdressArt ​

Beschreibung ​

Hebt einen zuvor gesetzten Adressartfilter für die angegebene Zieldatenquelle wieder auf.

pascal
procedure ResetAdressArt(aZiel: String);

Parameter ​

Parameter Bedeutung
aZiel ALLEADRESSEN setzt den Filter der Datenquelle „AllgAdresseUndSchueler“ zurück; KLASSENADRESSEN setzt den Filter der Datenquelle „AllgAdresseZurLKlasse“ zurück.

Beispiel ​

pascal
Procedure ReportAfterPrint;
 begin
   ResetAdressArt('ALLEADRESSEN');
 end;

Zurück zu RAP-Funktionen

Quelle: ResetAdressArt – ursprüngliches Wiki

Online: ResetAdressFilter

ResetAdressFilter ​

Beschreibung ​

Entfernt den über FilterAdresse gesetzten Filter

pascal
procedure ResetAdressFilter;

Beispiel ​

text
...

Zurück zu RAP-Funktionen

Quelle: ResetAdressFilter – ursprüngliches Wiki

Online: ResetFaechervorbelegung

ResetFaechervorbelegung ​

Beschreibung ​

Setzt interne Abfragen zurück, muss immer nach Verwendung von Faechervorbelegen oder CreateNotenHeader aufgerufen werden.

pascal
procedure ResetFaechervorbelegung;

Beispiel ​

pascal
Procedure ReportBeforePrint;
 begin
   Faechervorbelegen;
 end;

 Procedure ReportAfterPrint;
 begin
   ResetFaechervorbelegung;
 end;

Zurück zu RAP-Funktionen

Quelle: ResetFaechervorbelegung – ursprüngliches Wiki

Online: ResetFilterErzieherfunktion

ResetFilterErzieherfunktion ​

Beschreibung ​

Entfernt den über FilterErzieherfunktion gesetzten Filter

pascal
procedure ResetFilterErzieherfunktion;

Beispiel ​

text
...

Zurück zu RAP-Funktionen

Quelle: ResetFilterErzieherfunktion – ursprüngliches Wiki

Online: ResetFilterLaufbahnJahr

ResetFilterLaufbahnJahr ​

Beschreibung ​

Setzt den über FilterLaufbahnJahr gesetzten Filter zurück

pascal
procedure ResetFilterLaufbahnJahr;

Beispiel ​

text
...

Zurück zu RAP-Funktionen

Quelle: ResetFilterLaufbahnJahr – ursprüngliches Wiki

Online: RtfToPlaintext

RtfToPlaintext ​

Beschreibung ​

Entfernt die Formatangaben aus einem RTF-Text. Zurück bleibt der reine Textinhalt.

pascal
function RtfToPlaintext(aRtfText: String): String;

Parameter ​

Parameter Bedeutung
aRtfText Richtext, aus dem alle Formatanweisungen entfernt werden sollen

Rückgabewert ​

Reiner Text ohne Formatierung

Beispiel ​

pascal
Memo1.Text:=RtfToPlaintext(SchuelerLernabschnitte['ZeugnisBem'])

Zurück zu RAP-Funktionen

Quelle: RtfToPlaintext – ursprüngliches Wiki

Online: SchuljahrToStr

SchuljahrToStr ​

Beschreibung ​

Bildet aus Jahr und Abschnitt eine lesbare Schuljahresangabe. Ohne Abschnitt wird die Schuljahresangabe entsprechend verkürzt.

pascal
function SchuljahrToStr(aJahr, aAbschnitt: integer): String;

Parameter ​

Parameter Bedeutung
aJahr Jahr, in dem das Schuljahr anfing
aAbschnitt Schuljahresabschnitt. Falls aAbschnitt = 0 ist, wird der String ohne Abschnitt erzeugt

Rückgabewert ​

Schuljahr in der Form 'JJJJ/JJ.A'

Beispiel ​

pascal
SchuljahrStr:=SchuljahrToStr(Schueler['AktSchuljahr'],Schueler['AktAbschnitt'])
Ergebnis (z.B.): lSchuljahrStr = '2005/06.2'

Zurück zu RAP-Funktionen

Quelle: SchuljahrToStr – ursprüngliches Wiki

Online: SchuljahrToStrEx

SchuljahrToStrEx ​

Beschreibung ​

Erzeugt eine Schuljahresangabe nach einem vorgegebenen Textformat. Die Parameter bestimmen außerdem die Reihenfolge von Jahr und Abschnitt.

pascal
function SchuljahrToStrEx(aJahr, aAbschnitt: integer; Format: String; AbschnittVorn: Boolean): String;

Parameter ​

Parameter Bedeutung
aJahr Jahr, in dem das Schuljahr anfing
aAbschnitt Schuljahresabschnitt. Falls aAbschnitt = 0 ist, wird der String ohne Abschnitt erzeugt
Format Formatanweisung. Text mit Platzhaltern für numerische Variablen. An der gewünschten Position ist ein %[w]d einzufügen. Der optionale Parameter w enthält die gewünschte Breite, falls notwendig, wird linksbündig mit Nullen aufgefüllt.
AbschnittVorn Wenn AbschnittVorn wahr ist, werden die Parameter in der Reihenfolge Abschnitt, Jahr, Jahr + 1 aufgefüllt, sonst in der Reihenfolge Jahr, Jahr + 1, Abschnitt

Rückgabewert ​

Schuljahr in der durch Format vorgegebenen Form

Beispiel ​

pascal
SchuljahrStr:=SchuljahrToStrEx(2005,3,'%d. Quartal %d/%2d',True);
Ergebnis: lSchuljahrStr = '3. Quartal 2005/06'
SchuljahrStr:=SchuljahrToStrEx(2005,2,'Schuljahr %d/%2d, %d. Halbjahr',False);
Ergebnis: lSchuljahrStr = 'Schuljahr 2005/06, 2. Halbjahr'

Zurück zu RAP-Funktionen

Quelle: SchuljahrToStrEx – ursprüngliches Wiki

Online: SchulText

SchulText ​

Beschreibung ​

Gibt den Text zurück, der dem übergebenen Kürzel zugeordnet ist.

pascal
function SchulText(const Kuerzel: String): String;

Parameter ​

Parameter Bedeutung
Kuerzel Kurzzeichen des Textes

Rückgabewert ​

der dem Kürzel zugeordnete Text

Beispiel ​

pascal
procedure Label4711OnGetText(var Text: String);
begin
  Text:='Schulleiter: ' + SchulText('Direktor');
end;

Zurück zu RAP-Funktionen

Quelle: SchulText – ursprüngliches Wiki

Online: SelectAdressArt

SelectAdressArt ​

Beschreibung ​

Diese Funktion bietet alle im Feld „AdressArt“ des Kataloges „Adressarten“ gefundenen Einträge zur Auswahl an.

pascal
function SelectAdressArt: String;

Rückgabewert ​

Adressart.

Beispiel ​

pascal
Procedure ReportBeforePrint;
 var
   lAdressArt : String;
 begin
   lAdressArt:=SelectAdressArt;
   FilterAdressArt(lAdressArt);
 end;

Zurück zu RAP-Funktionen

Quelle: SelectAdressArt – ursprüngliches Wiki

Online: SelectAdressName

SelectAdressName ​

Beschreibung ​

Diese Funktion bietet alle im Feld „Name“ der „Allgemeinen Adressen“ gefundenen Einträge zur Auswahl an.

pascal
function SelectAdressName: String;

Rückgabewert ​

Adressbestandteil „Name“

Beispiel ​

pascal
Procedure ReportBeforePrint;
 var
  lAdresse : String;
 begin
  lAdresse:=SelectAdressName;
  FilterAdresse(lAdresse);
 end;

Zurück zu RAP-Funktionen

Quelle: SelectAdressName – ursprüngliches Wiki

Online: SelectErzFunktion

SelectErzFunktion ​

Beschreibung ​

Diese Funktion bietet alle im Feld „Funktion“ im Katalog „Erzieher-Funktionen“ gefundenen Einträge zur Auswahl an.

pascal
function SelectErzFunktion: String;

Rückgabewert ​

Erzieherfunktion

Beispiel ​

pascal
Siehe „Filtererzieherfunktion“

Zurück zu RAP-Funktionen

Quelle: SelectErzFunktion – ursprüngliches Wiki

Online: Selectfont

Selectfont ​

Beschreibung ​

Dialog, um aus der Liste der im System registrierten Zeichensätze einen bestimmten Zeichensatz auszuwählen

pascal
function Selectfont(const Default: String): String;

Parameter ​

Parameter Bedeutung
Default Standardwert für den Zeichensatz

Rückgabewert ​

Gewählter Zeichensatz

Beispiel ​

pascal
procedure ReportOnStartFirstPass;
var
  NewFont : String;
begin
  NewFont:=Selectfont('Tahoma');
  Setfont(Report,NewFont);
end;

Zurück zu RAP-Funktionen

Quelle: Selectfont – ursprüngliches Wiki

Online: SelectFromList

SelectFromList ​

Beschreibung ​

ermöglicht die Auswahl eines Elemente aus einer Dropdown-Liste

pascal
function SelectFromList(Caption, Optionlist, Default: String): String;

Parameter ​

Parameter Bedeutung
Caption Titel des Dialoges
Optionslist Liste der verfügbaren Optionen
Default voreingestellter Rückgabewert

Rückgabewert ​

Die gewählte Option

Beispiel ​

pascal
Procedure ReportBeforePrint;
var
  lSchulform : String;
begin
  lSchulform:=SelectFromlist('Bitte Schulform wählen',
  'Gymnasium,Realschule,Hauptschule','Realschule');
  ...
end;

Zurück zu RAP-Funktionen

Quelle: SelectFromList – ursprüngliches Wiki

Online: SelectFromListEx

SelectFromListEx ​

Beschreibung ​

ermöglicht die Auswahl eines Elemente aus einer Dropdown-Liste, deren Elemente durch ein beliebiges Zeichen getrennt sind.

pascal
function SelectFromListEx(Caption, Optionlist, Default: String; Trennzeichen: Char): String;

Parameter ​

Parameter Bedeutung
Caption Titel des Dialoges
Optionslist Liste der verfügbaren Optionen
Default voreingestellter Rückgabewert
Trennzeichen Trennzeichen der Optionsliste

Rückgabewert ​

Die gewählte Option

Beispiel ​

pascal
Procedure ReportBeforePrint;
var
  lSchulform : String;
begin
  lSchulform:=SelectFromlistEx('Bitte Schulform wählen',
  'Gymnasium|Realschule|Hauptschule','Realschule,'|');
  ...
end;

Zurück zu RAP-Funktionen

Quelle: SelectFromListEx – ursprüngliches Wiki

Online: SelectNotenliste

SelectNotenliste ​

Beschreibung ​

Öffnet die Auswahl einer Notendefinitionsdatei und lädt die ausgewählte Datei.

pascal
procedure SelectNotenliste;

Beispiel ​

Siehe auch : LoadNotenliste

Zurück zu RAP-Funktionen

Quelle: SelectNotenliste – ursprüngliches Wiki

Online: SelectOption

SelectOption ​

Beschreibung ​

ermöglicht die Auswahl eines Elements aus einer Auswahlliste

pascal
function SelectOption(Prompt, Optionsliste: String; Trennzeichen: Char): Integer;

Parameter ​

Parameter Bedeutung
Prompt Eingabeaufforderung
Optionsliste Liste der verfügbaren Optionen
Trennzeichen Trennt die Optionen in der Liste voneinander

Rückgabewert ​

Nullbasierter Index der gewählten Option oder -1, falls der Dialog nicht über 'Ok' beendet wurde

Beispiel ​

pascal
var
  lOption : Integer;
begin
  lOption:=SelectOption('Bitte wählen Sie eine Option:',
    'Option 1;Option 2;Option 3',';');
  if lOption <> -1 then
    Label1.Caption:='Gewählt: Option Nr. ' + IntToStr(lOption)
  else
    Label1.Caption:='---';
end;

Zurück zu RAP-Funktionen

Quelle: SelectOption – ursprüngliches Wiki

Online: SelectString

SelectString ​

Beschreibung ​

Zeigt eine Auswahlliste mit vorgegebenen Texten an und liefert den gewählten Eintrag zurück. Die Einträge werden als durch Kommas getrennte Liste übergeben.

pascal
function SelectString(Prompt, Optionsliste: String): String;

Parameter ​

Parameter Bedeutung
Prompt Hinweistext
Optionsliste Mit Komma separierte Liste von Zeichenketten, die in einem Auswahldialog angezeigt werden.

Rückgabewert ​

Gewählte Option.

Beispiel ​

pascal
Procedure ReportBeforePrint;
var
  lSchulform : String;
begin
  lSchulform:=SelectString('Bitte Schulform wählen',
 'Gymnasium,Realschule,Hauptschule')

Zurück zu RAP-Funktionen

Quelle: SelectString – ursprüngliches Wiki

Online: SelectStringEx

SelectStringEx ​

Beschreibung ​

Zeigt eine Auswahlliste an und liefert den gewählten Eintrag zurück. Das Trennzeichen zwischen den vorgegebenen Einträgen können Sie selbst festlegen.

pascal
function SelectStringEx(Prompt, Optionsliste: String; Trennzeichen: Char): String;

Parameter ​

Parameter Bedeutung
Prompt Hinweistext
Optionsliste Mit Trennzeichen separierte Liste von Daten, die in einem Auswahldialog angezeigt werden.
Trennzeichen Beliebig wählbar, darf nur nicht in den zu trennenden Datensätzen vorkommen

Rückgabewert ​

Gewählte Option.

Beispiel ​

pascal
Procedure ReportBeforePrint;
 var
   lSchulform : String;
 begin
   lSchulform:=SelectStringEx('Bitte Schulform wählen',
  'Gymnasium|Realschule|Hauptschule','|');

Zurück zu RAP-Funktionen

Quelle: SelectStringEx – ursprüngliches Wiki

Online: SetAbitur

SetAbitur ​

Beschreibung ​

Schaltet die für Abiturreports benötigten Datenquellen ein oder aus. Bei eingeschalteter Funktion werden sie beim Wechsel des Schülerdatensatzes aktualisiert.

pascal
procedure SetAbitur(IsAbitur: Boolean);

Parameter ​

Parameter Bedeutung
IsAbitur Boolescher Wert, bei 'True' werden die für das Abitur relevanten Datenquellen (Abifaecher, FHRFaecher, Sprachenfolge etc. aktiviert und beim Schülerwechsel aktualisiert.

Beispiel ​

pascal
Procedure ReportBeforePrint;
 begin
   SetAbitur(True);
 end;

Procedure ReportAfterPrint;
begin
  SetAbitur(False);
end;

Zurück zu RAP-Funktionen

Quelle: SetAbitur – ursprüngliches Wiki

Online: SetAdressArt

SetAdressArt ​

Beschreibung ​

Setzt einen Filter nach Adressart für die angegebene Zieldatenquelle. Die Parameter bestimmen Ziel und gewünschte Adressart.

pascal
procedure SetAdressArt(aZiel, aAdressArt: String);

Parameter ​

Parameter Bedeutung
aZiel ALLEADRESSEN' setzt den Filter für die Datenquelle „AllgAdresseUndSchueler“, 'KLASSENADRESSEN' auf die Datenquelle „AllgAdresseZurLKlasse“
aAdressArt Gewünschte Adressart, entweder über SelectAdressArt auswählen oder als Stringliteral (zum Beispiel „Betrieb“) eingeben

Beispiel ​

pascal
Procedure ReportBeforePrint;
 begin
   SetAdressArt('ALLEADRESSEN','Betrieb');
 end

Zurück zu RAP-Funktionen

Quelle: SetAdressArt – ursprüngliches Wiki

Online: SetBKAbschluss

SetBKAbschluss ​

Beschreibung ​

Schaltet die für Abschlussreports am Berufskolleg benötigten Datenquellen ein oder aus.

pascal
procedure SetBKAbschluss(IsAbschluss: Boolean);

Parameter ​

Parameter Bedeutung
IsAbschluss Boolescher Wert, bei 'True' werden die für den Abschluss von Berufskolleg-Bildungsgängen relevanten Datenquellen (BKfaecher, BKAbschluss. aktiviert und beim Schülerwechsel aktualisiert

Beispiel ​

Analog zu SetAbitur

Zurück zu RAP-Funktionen

Quelle: SetBKAbschluss – ursprüngliches Wiki

Online: SetFont

SetFont ​

Beschreibung ​

Setzt den Zeichensatz für alle Komponenten des Reports

pascal
procedure SetFont(aReport: TppReport; const aFontname: String)

Parameter ​

Parameter Bedeutung
aReport der zu bearbeitende Report
aFontname Der Name des neuen Zeichensatzes

Beispiel ​

pascal
procedure ReportOnStartFirstPass;
begin
  Setfont(Report,'Tahoma');
end;

Zurück zu RAP-Funktionen

Quelle: SetFont – ursprüngliches Wiki

Online: SetJgIntervall

SetJgIntervall ​

Beschreibung ​

ist veraltet. Statt dessen sollte SetJgIntervall_ASD benutzt werden.

pascal
function SetJgIntervall(aStartJg, aEndJg: Integer): Boolean; Diese Funktion

Parameter ​

Parameter Bedeutung
aStartJg Beginn des Jahrgangsintervalles, für das Übersichten erzeugt werden solle
aEndJg Ende des Jahrgangsintervalles, für das Übersichten erzeugt werden sollen

Beispiel ​

pascal
Procedure ReportBeforePrint;
 begin
   If SetJgIntervall(12,13) then
     ShowMessage('Dieser Report ist für den Quartalsbetrieb nicht geeignet');
 end;

Zurück zu RAP-Funktionen

Quelle: SetJgIntervall – ursprüngliches Wiki

Online: SetJgIntervall ASD

SetJgIntervall ASD ​

Beschreibung ​

Legt fest, für welche Jahrgänge eine Leistungsübersicht erzeugt werden soll. Die Jahrgänge werden als Liste übergeben.

pascal
function SetJgIntervall_ASD(Const aJahrgangsliste: String): Boolean;

Parameter ​

Parameter Bedeutung
aJahrgangsliste Liste der Jahrgänge, für die eine Übersicht erzeugt werden soll

Beispiel ​

pascal
Procedure ReportBeforePrint;
 begin
   If SetJgIntervall_ASD('EF,Q1,Q2') then
     ShowMessage('Dieser Report ist für den Quartalsbetrieb nicht geeignet');
 end;

Zurück zu RAP-Funktionen

Quelle: SetJgIntervall ASD – ursprüngliches Wiki

Online: SetKursSchuelerFaecherListe

SetKursSchuelerFaecherListe ​

Beschreibung ​

Übergibt eine durch Kommas getrennte Liste der gewünschten Fächer für die Kurs-Schüler-Fächerliste.

pascal
procedure SetKursSchuelerFaecherListe(Const aListe: String);

Parameter ​

Parameter Bedeutung
Liste Kommaseparierte Liste der gewünschten Fächer

Beispiel ​

pascal
Procedure ReportBeforePrint;
 begin
   SetKursSchuelerFaecherListe('D,M,PH,CH');
 end;
 In einer KursListe können in einem Subreport
 die Leistungsdaten in diesen Fächern ausgegeben werden.

Zurück zu RAP-Funktionen

Quelle: SetKursSchuelerFaecherListe – ursprüngliches Wiki

Online: SetQuartalsnotenInUebersicht

SetQuartalsnotenInUebersicht ​

Beschreibung ​

Steuert, ob in Leistungsübersichten auch Quartalsnoten erscheinen sollen

pascal
procedure SetQuartalsnotenInUebersicht( MitQuartalnoten: Boolean);

Beispiel ​

pascal
procedure ReportBeforePrint;
 begin
  {Darstellung von Quartalsnoten einschalten}
  SetQuartalsnotenInUebersicht( true );
 End;

Zurück zu RAP-Funktionen

Quelle: SetQuartalsnotenInUebersicht – ursprüngliches Wiki

Online: SetTextAttributes

SetTextAttributes ​

Beschreibung ​

Bearbeitet die Textattribute eines Richtextelements. Das betreffende Element wird über den Parameter aText übergeben.

pascal
procedure SetTextAttributes(aText: TppCustomRichText);

Parameter ​

Parameter Bedeutung
aText Richtextelement

Beispiel ​

pascal
Richtext1.Font.Name:=='Tahoma';
Richtext1.Font.Size:=16;
Richtext1.Font.Bold:=True;
Richtext1.Font.Italic:=True;
SetTextattributes(Richtext1);
Formatiert den gesamten Text des Richtextelementes in dem gewünschten Zeichensatz.

Zurück zu RAP-Funktionen

Quelle: SetTextAttributes – ursprüngliches Wiki

Online: SetUebersicht

SetUebersicht ​

Beschreibung ​

Schaltet die Aufbereitung der Leistungsdaten für eine tabellarische Übersicht ein oder aus. Das berücksichtigte Jahrgangsintervall wird zuvor mit SetJgIntervall festgelegt.

pascal
procedure SetUebersicht(IsUebersicht: Boolean);

Parameter ​

Parameter Bedeutung
IsUebersicht Boolescher Wert, bei 'True' werden die Leistungsdaten eines Schülers im über SetJgIntervall definierten Zeitintervall in eine Tabellenstruktur eingefügt. Da dieser Vorgang recht zeitaufwendig ist, kann und sollte er durch diese Funktion nur bei Bedarf zugeschaltet werden

Beispiel ​

pascal
Procedure ReportBeforePrint;
 begin
   SetJgIntervall(12,13);
   SetUebersicht(True);
 end;

Zurück zu RAP-Funktionen

Quelle: SetUebersicht – ursprüngliches Wiki

Online: SetUebersichtEx

SetUebersichtEx ​

Beschreibung ​

Schaltet die Aufbereitung der Leistungsdaten für eine tabellarische Übersicht ein oder aus. Die berücksichtigten Jahrgänge werden direkt als Liste übergeben.

pascal
procedure SetUebersichtEx(IsUebersicht: Boolean;  const aJahrgangsliste: String);

Parameter ​

Parameter Bedeutung
IsUebersicht Boolescher Wert, bei 'True' werden die Leistungsdaten eines Schülers im über aJahrgangsliste definierten Zeitintervall in eine Tabellenstruktur eingefügt. Da dieser Vorgang recht zeitaufwendig ist, kann und sollte er durch diese Funktion nur bei Bedarf zugeschaltet werden
aJahrgangsliste Kommaseparierte Liste der zu berücksichtigen (ASD-)Jahrgänge

Beispiel ​

pascal
Procedure ReportBeforePrint;
 begin
   SetUebersichtEx(True, 'Q1,Q2');
 end;

Zurück zu RAP-Funktionen

Quelle: SetUebersichtEx – ursprüngliches Wiki

Online: SetUebersichtKursartFilter

SetUebersichtKursartFilter ​

Beschreibung ​

Mit dieser Funktion können jetzt alle "Leistungsdatenquellen" (nicht nur in den Übersichten) auf Kursarten gefiltert werden. Dabei ist folgendes zu beachten: -Es müssen die "schülerbezogenen" Kursarten verwendet werden (also zum Beispiel SetUebersichtKursartFilter( 'LK1,LK2'), wenn man nur Leistungskurse haben will (SetUebersichtKursartFilter( 'LK') funktioniert nicht) -Wenn ein "-" der Liste vorangestellt wird, funktioniert der Filter ausschließend (das heißt SetUebersichtKursartFilter( '-WPII,AGGT') berücksichtigt nur Leistungsdaten, die nicht die Kursart WPII oder AGGT haben)

pascal
procedure SetUebersichtKursartFilter(Const aKursartListe: String);

Parameter ​

Parameter Bedeutung
aListe Kommaseparierte Liste der gewünschten Kursarten

Beispiel ​

pascal
Procedure ReportBeforePrint;
 begin
   SetUebersichtKursartFilter('AGGT,ZUV');
 end;
 Damit werden in der Leistungsübersicht nur Fächer mit den Kursarten
 AGGT und ZUV nach Kursbezeichnung unterschieden.

Zurück zu RAP-Funktionen

Quelle: SetUebersichtKursartFilter – ursprüngliches Wiki

Online: Setzefilter

Setzefilter ​

Beschreibung ​

schränkt die Datensätze durch die übergebene Filterbedingung ein.

pascal
procedure SetzeFilter(Pipeline: TppDbPipeline; const Filter: String)

Parameter ​

Parameter Bedeutung
Pipeline Datenquelle, die gefiltert werden soll
Filter der neue Filter. Ist der Filterstring leer, wird die Filterung entfernt.

Beispiel ​

Mehrere zulässige Werte werden als OR-Bedingung durch Semikolon getrennt:

pascal
Setzefilter(Klassenlehrer_mit_Faechern,'Fachkrz=M;D');

Für „ungleich Leerstring“ können im Filter die doppelten Anführungszeichen verwendet werden:

pascal
SetzeFilter(Klassen, 'KlassenlehrerKrz <>""');

Filter wie Klasse=05* oder Klasse=*A verwenden * als Platzhalter. Mehrere Aufrufe können verschiedene Datenquellen filtern. Ein leerer Filterstring entfernt die Filterung.

Vorschau und Druck

Laut Wiki-Quelle wirkt die Filterung in manchen Fällen erst im Druckbetrieb und nicht in der Vorschau des Designers. Prüfen Sie deshalb auch die tatsächliche Druckausgabe.

Zurück zu RAP-Funktionen

Quelle: Setzefilter – ursprüngliches Wiki

Online: SetzeKlassenAdressArt

SetzeKlassenAdressArt ​

Beschreibung ​

Diese Prozedur kann benutzt werden, wenn die Datenquelle AllgAdresseZurKlasse verwendet werden soll. Voreingestellt ist die Adressart 'Betrieb'. Diese Datenquelle ist eine Detaildatenquelle zur Hauptdatenquelle 'Klassen'.

pascal
Procedure SetzeKlassenAdressArt(const AdressArt: String);

Parameter ​

Parameter Bedeutung
AdressArt zu berücksichtigende Adressenkategorie

Beispiel ​

pascal
Procedure ReportBeforeOpenDatapipelines;
 begin
   SetzeKlassenAdressArt('Kammern');
 end;

Zurück zu RAP-Funktionen

Quelle: SetzeKlassenAdressArt – ursprüngliches Wiki

Online: SetzeSortierung

SetzeSortierung ​

Beschreibung ​

Ändert die Reihenfolge der Datensätze einer Datenquelle anhand der angegebenen Sortierfelder.

pascal
procedure SetzeSortierung(Pipeline: TppDbPipeline; const Sortierfelder: String);

Parameter ​

Parameter Bedeutung
Pipeline Datenquelle, deren Abfrage neu sortiert werden soll
Sortierfelder Mit Komma separierte Liste Sortierfeldern. Es können keine Lookup- oder berechnete Felder verwendet werden, Informationen über die Felder erhalten Sie im Dialog „Info über Datenquellen“ im Reportdesigner.

Beispiel ​

pascal
Procedure ReportBeforePrint;
 begin
   (*Originalsortierung ist eine String-Variable, die global vereinbart werden muss*)
   OriginalSortierung:=SortierungVon(Report.Datapipeline);
   SetzeSortierung(Report.Datapipeline,'Klasse,Geburtsdatum');
 end

Zurück zu RAP-Funktionen

Quelle: SetzeSortierung – ursprüngliches Wiki

Online: SetzeSortierungEx

SetzeSortierungEx ​

Beschreibung ​

Ändert die Sortierung einer Datenquelle. Im Unterschied zu SetzeSortierung können auch die im Artikel beschriebenen speziellen Feldausdrücke verwendet werden.

pascal
procedure SetzeSortierungEx(Pipeline: TppDbPipeline; const Sortierfelder: String);

Parameter ​

Parameter Bedeutung
Pipeline Datenquelle, deren Abfrage neu sortiert werden soll
Sortierfelder Mit Komma separierte Liste Sortierfeldern. Im Unterschied zu „SetzeSortierung“ können hier auch spezielle Felder, wie zum Beispiel MONTH(Geburtsatum) etc verwendet werden.

Beispiel ​

pascal
Procedure ReportBeforePrint;
 begin
  (*Originalsortierung ist eine String-Variable, die global vereinbart werden muss*)
  OriginalSortierung:=SortierungVon(Report.Datapipeline);
  SetzeSortierungEx(Report.Datapipeline,'Klasse,MONTH(Geburtsdatum)');
 end;

Zurück zu RAP-Funktionen

Quelle: SetzeSortierungEx – ursprüngliches Wiki

Online: ShortDayNames

ShortDayNames ​

Beschreibung ​

Gibt den abgekürzten Namen eines Wochentags zurück. Die übergebene Zahl bestimmt den Wochentag.

pascal
function ShortDayNames(aTag: Integer): String;

Parameter ​

Parameter Bedeutung
aTag Nr. des Wochentages (1=Sonntag,..., 7=Samstag)

Rückgabewert ​

Kurzname des Wochentages

Beispiel ​

pascal
Label27.Caption:=ShortDayNames(1); (*Son*)

Zurück zu RAP-Funktionen

Quelle: ShortDayNames – ursprüngliches Wiki

Online: SortierungVon

SortierungVon ​

Beschreibung ​

Liefert die Sortierfelder der angegebenen Datenquelle als Liste zurück.

pascal
function SortierungVon(Pipeline: TppDbPipeline): String;

Parameter ​

Parameter Bedeutung
Pipeline Datenquelle; Sortierung, die angewendet werden soll

Rückgabewert ​

Liste der Sortierfelder

Beispiel ​

pascal
Procedure ReportBeforePrint;
 begin
   //Originalsortierung ist eine String-Variable, die global vereinbart werden muss
   OriginalSortierung:=SortierungVon(Report.Datapipeline);
   SetzeSortierung(Report.Datapipeline,'Klasse,Geburtsdatum');
 end;

 Procedure ReportAfterPrint;
 begin
   SetzeSortierung(Report.Datapipeline,OriginalSortierung);
 end;

Zurück zu RAP-Funktionen

Quelle: SortierungVon – ursprüngliches Wiki

Online: StatistikKuerzelAusFachKuerzel

StatistikKuerzelAusFachKuerzel ​

Beschreibung ​

Ermittelt das Statistik-Kürzel eines Faches aus dem internen Fachkürzel. Damit kann zum Beispiel ermittelt werden, um was für ein Fach es sich im Einzelfall handelt (unabhängig von der jeweils internen Bezeichnung). Dadurch können Reports, die bestimmte Fächer auswerten, unabhängig von der internen Bezeichnung gemacht werden.

pascal
Function StatistikKuerzelAusFachKuerzel ( const fach_krz: string): string;

Parameter ​

Parameter Bedeutung
fach_krz Das interne Fachkürzel

Rückgabewert ​

Statistikkürzel als String

Beispiel ​

pascal
If StatistikKuerzelAusFachKuerzel(SchuelerLeistungen[’FachKrz’]) =’D’
then ShowMessage( ’Das Fach ist DEUTSCH’ );

Zurück zu RAP-Funktionen

Quelle: StatistikKuerzelAusFachKuerzel – ursprüngliches Wiki

Online: StringInput

StringInput ​

Beschreibung ​

Öffnet einen Dialog zur Texteingabe. Sie können einen Hinweis und einen bereits vorbelegten Text übergeben.

pascal
function StringInput(aPrompt, Default: String): string;

Parameter ​

Parameter Bedeutung
aPrompt Hinweistext
Default Textvorgabe, kann leer sein

Rückgabewert ​

Eingegebener Text

Beispiel ​

pascal
Label1.Caption:=StringInput('Bitte geben Sie das KFZ-Kennzeichen ein','NRW-4711');

Zurück zu RAP-Funktionen

Quelle: StringInput – ursprüngliches Wiki

Online: SummeFehlstunden

SummeFehlstunden ​

Beschreibung ​

Ermittelt die gesamten und unentschuldigten Fehlstunden einer Person für das aktuelle Schuljahr. Die beiden Werte werden über die dafür vorgesehenen Ausgabeparameter bereitgestellt.

pascal
procedure SummeFehlstunden(aSchuelerId: integer; var FehlStd, uFehlStd: Integer);

Parameter ​

Parameter Bedeutung
aSchuelerId Id des gewünschten Schülers

Rückgabewert ​

FehlStd - Fehlstunden des Schülers im aktuellen Schuljahr, das heißt es wird über die letzten zwei Abschnitte beziehungsweise die letzten vier Quartale summiert. uFehlStd - Unentschuldigte Fehlstunden des Schülers

Beispiel ​

pascal
Var
  lFehl, lUFehl
 begin
   SummeFehlstunden(Schueler['ID'],lFehl,lUFehl);
   Label1.Caption:='FehlStunden: ' + IntoStr(lFehl);
   Label2.Caption:='davon unentschuldigt: ' + IntToStr(lUFehl

Zurück zu RAP-Funktionen

Quelle: SummeFehlstunden – ursprüngliches Wiki

Online: Textbreite

Textbreite ​

Beschreibung ​

Diese Funktion kann die Breite (in "Reporteinheiten") zum Beispiel eines Labels zur Laufzeit berechnen. Die Funktion kann zum Beispiel benutzt werden, um in Zeugnissen bei den Fächern die Position von "Hochzahlen" (für Fußnoten) zu ermitteln, damit diese bündig an die Fachbezeichnung anschließen.

pascal
Textbreite( Report, Label1.Text, Label1.Font );

Parameter ​

Report, Label-Text, Label-Font

Rückgabewert ​

Breite des Elements in "Reporteinheiten".

Beispiel ​

pascal
wt := Textbreite( Report, lblFach.Text, lblFach.Font );
lblStern.Left := lblFach.Left + wt;

Zurück zu RAP-Funktionen

Quelle: Textbreite – ursprüngliches Wiki

Online: ThemaProjektKurs

ThemaProjektKurs ​

Beschreibung ​

Liefert das bei den Leistungsdaten des Fachs hinterlegte Thema des Projektkurses.

pascal
function ThemaProjektkurs

Rückgabewert ​

Thema des Projektkurses aus den LELS der Fächer

Beispiel ​

pascal
Begin 
 Text := ThemaProjektkurs;
End;

Zurück zu RAP-Funktionen

Quelle: ThemaProjektKurs – ursprüngliches Wiki

Online: UebersichtsfachModus

UebersichtsfachModus ​

Beschreibung ​

Durch den Parameter dieser Prozedur wird die Einsortierung der Leistungsdaten in die Leistungsübersichten gesteuert. Möglich sind die drei Modi

  • NurFach : Alle Leistungsdaten mit dem gleichen Fach landen in einer Spalte
  • KursArt : Fächer mit gleichem Fachkürzel, aber unterschiedlichen Kursarten werden in verschiedene Spalten einsortiert
  • KursBezeichnung: Fächer mit gleichem Fachkürzel, aber unterschiedlichen Kursbezeichnungen werden in verschiedene Spalten einsortiert Der Aufruf von 'UebersichtsfachModus('NurFach')' entspricht dem Aufruf der Funktion 'KursbezIgnorieren(True)'.
pascal
Procedure UebersichtsfachModus(Const Modus : String);

Parameter ​

Parameter Bedeutung
Modus String, zulässig sind 'NurFach', 'KursArt' oder 'KursBezeichnung'

Beispiel ​

pascal
Procedure ReportBeforePrint;
 begin
   SetUebersicht(True);
   UebersichtsfachModus('KursArt');
 end;

 Procedure ReportAfterPrint;
 begin
   SetUebersicht(false);
   UebersichtsfachModus('KursBezeichnung');
 end;

Zurück zu RAP-Funktionen

Quelle: UebersichtsfachModus – ursprüngliches Wiki

Online: UeberspringeRecord

UeberspringeRecord ​

Beschreibung ​

überspringt einen Datensatz der Datenquelle

pascal
procedure UeberspringeRecord(aPipeline: TppDatapipeline);

Parameter ​

Parameter Bedeutung
aPipeline Name der Datenpipeline

Beispiel ​

pascal
If Copy(Schueler['Name'],1,1) = 'D' then UeberspringeRecord(Schueler);
oder
While Copy(Schueler['Name'],1,1) = 'D' Do
Begin
  UeberspringeRecord(Schueler);
End;

Bitte beachten Sie, dass die Funktion beim letzten Datensatz nicht weiterspringen kann,
dies muss u.U. berücksichtigt werden!

Zurück zu RAP-Funktionen

Quelle: UeberspringeRecord – ursprüngliches Wiki

Online: VerzeichnisseErzeugen

VerzeichnisseErzeugen ​

Beschreibung ​

VerzeichnisseErzeugen erstellt das in 'aVerzeichnis' vollständig angegebene Verzeichnis. Sind die übergeordneten Verzeichnisse nicht vorhanden, werden diese automatisch angelegt. VerzeichnisseErzeugen gibt den Wert true zurück, wenn es alle notwendigen Verzeichnisse erstellt hat, False, wenn das Verzeichnis nicht erstellt werden konnte.

pascal
function VerzeichnisseErzeugen(const aVerzeichnis : String): Boolean;

Warnung: Rufen Sie VerzeichnisseErzeugen nicht mit einem leeren String auf. Dies kann dazu führen, dass VerzeichnisseErzeugen eine Ausnahme auslöst.

Parameter ​

Parameter Bedeutung
aVerzeichnis Verzeichnis, das erzeugt werden soll

Rückgabewert ​

True, falls das Verzeichnis existiert oder erzeugt werden konnte, false sonst

Beispiel ​

pascal
if VerzeichnisseErzeugen('c:\programme\schild-nrw\ausgabe') then begin
  Filename:='c:\programme\schild-nrw\ausgabe\Hinweis.txt'
  Memo1.Lines.SaveToFile(Filename);
end;

Zurück zu RAP-Funktionen

Quelle: VerzeichnisseErzeugen – ursprüngliches Wiki

Online: WaehleDatumStr

WaehleDatumStr ​

Beschreibung ​

Öffnet eine Datumsauswahl und gibt das gewählte Datum als formatierten Text zurück. Das gewünschte Datumsformat wird über den Parameter festgelegt.

pascal
function WaehleDatumStr(const Hinweis: String; const LangFormat: Boolean): String;

Parameter ​

Parameter Bedeutung
Hinweis Hinweistext
LangFormat True: Formatierung des Ergebnisses wie „Langes Datumsformat“ in den Ländereinstellungen von Windows, sonst Kurzformat

Rückgabewert ​

Zeichenkette mit formatiertem Datum

Beispiel ​

pascal
lDatum:=WaehleDatumStr('Geburtsdatum:',True);
liefert (z.B.) 'Sonntag, 26. Mai 1996'

Zurück zu RAP-Funktionen

Quelle: WaehleDatumStr – ursprüngliches Wiki

Online: WaehleDatumUndZeit

WaehleDatumUndZeit ​

Beschreibung ​

Öffnet einen Dialog zur Auswahl von Datum und Uhrzeit. Der Rückgabewert zeigt an, ob der Dialog bestätigt wurde.

pascal
function WaehleDatumUndZeit(Hinweis: String; Var Datum, Uhrzeit: Datetime): Boolean;

Parameter ​

Parameter Bedeutung
Hinweis Hinweistext
Datum Platzhalter für die zu wählenden Daten
Uhrzeit Platzhalter für die zu wählenden Daten

Rückgabewert ​

TRUE, falls der Dialog mit Ok beendet wurde, sonst FALSE

Beispiel ​

pascal
If WaehleDatum('Bitte Beginn der Veranstaltung
                eingeben',lDatum,lUhrzeit) then...

Zurück zu RAP-Funktionen

Quelle: WaehleDatumUndZeit – ursprüngliches Wiki

Online: Wiederholungen

Wiederholungen ​

Beschreibung ​

Liefert die wiederholten Schuljahre und Jahrgänge einer Person als Text. Die Quelle kennzeichnet diese Funktion als überholt und empfiehlt, sie nicht mehr zu verwenden.

pascal
function Wiederholungen(const aSchuelerId: Integer): String;

Parameter ​

Parameter Bedeutung
aSchuelerId Id-Nummer des aktuellen Schuelers

Rückgabewert ​

String mit den wiederholten Schuljahren und Jahrgängen. Achtung: Diese Funktion ist überflüssig geworden und sollte nicht mehr verwendet werden

Beispiel ​

pascal
Procedure Label4711OnGetText(var Text: String);
 begin
   Text:=Wiederholungen(Schueler['Id']);
 end;
(*Ergebnis im akt Schuljahr 2005/06.2, wenn der Schüler im Schj. 2002/03 die 8 und
 im Schj 2005/06 die 10 wiederholt:
 '2002/03: 8.1; 2002/03: 8.2; 2005/06: 10.1; 2005/06: 10.2'

Zurück zu RAP-Funktionen

Quelle: Wiederholungen – ursprüngliches Wiki

Online: Zahlwort

Zahlwort ​

Beschreibung ​

Wandelt eine Zahl in ihre ausgeschriebene Textform um.

pascal
function Zahlwort(aZahl: String): String;

Parameter ​

Parameter Bedeutung
aZahl Zahl in numerischer Darstellung

Rückgabewert ​

Zahl in Textform

Beispiel ​

pascal
Label1.Caption:=Zahlwort('3,51');
Ergebnis: 'Drei-Komma-Fünf-Eins'

Zurück zu RAP-Funktionen

Quelle: Zahlwort – ursprüngliches Wiki

Online: ZensurToStr

ZensurToStr ​

Beschreibung ​

Wandelt eine numerische Zensur in die zugehörige Klartextdarstellung um.

pascal
function ZensurToStr(aZensur: String): String;

Parameter ​

Parameter Bedeutung
aZensur Numerische Zensur

Rückgabewert ​

Zensur im Klartext

Beispiel ​

pascal
Label1.Caption:=ZensurToStr('3');
(*ergibt 'befriedigend'*)

Zurück zu RAP-Funktionen

Quelle: ZensurToStr – ursprüngliches Wiki

Online: ZeugnisDatenquellenOeffnen

ZeugnisDatenquellenOeffnen ​

Beschreibung ​

Öffnet alle in Zeugnissen benötigten Datenquellen. In Zeugnissen, in denen die einzelnen Fächerbereiche (zum Beispiel Deutsch, Mathematik, Fremdsprachen usw.) über dynamisch nachladbare Subreports realisiert sind, scheitert die automatische Erkennung, welche Datenquellen zu öffnen sind, da die betreffenden Subreports erst geladen werden, nachdem die Analyse erfolgt ist. Der einmalige Aufruf dieser Prozedur erspart dann den mehrfachen Aufruf von „PipelineOeffnen“ für jede einzelne Datenquelle.

pascal
procedure ZeugnisDatenquellenOeffnen;

Beispiel ​

pascal
procedure ReportBeforePrint;
 begin
  ZeugnisDatenquellenOeffnen;
 end;

Zurück zu RAP-Funktionen

Quelle: ZeugnisDatenquellenOeffnen – ursprüngliches Wiki

Online: ZeugnisParameter

ZeugnisParameter ​

Beschreibung ​

Fragt Angaben für Zeugnisse ab: den Wiederbeginn des Unterrichts sowie zwei Sprechtage mit ihren Zeitangaben.

pascal
procedure ZeugnisParameter(var aBeginn, aSprechtag1, aSprechtag2: String);

Parameter ​

Parameter Bedeutung
aBeginn Wiederbeginn des Unterrichts
aSprechtag1 Erster Sprechtag (mit Anfangs – und Endzeiten)
aSprechtag2 Zweiter Sprechtag (mit Anfangs – und Endzeiten)

Beispiel ​

Im Dialog werden der Wiederbeginn des Unterrichts und zwei Sprechtage abgefragt, die jeweils Vor- und Nachmittags stattfinden können. Wenn ein Tag vollständig deaktiviert wird, ist der entsprechende Ergebnisstring leer.

pascal
Procedure ReportBeforePrint;
begin
  ZeugnisParameter(Wiederbeginn, Sprechtag1, Sprechtag2);
end;

Procedure Label1OnGetText(var Text: String);
begin
  Text:=Wiederbeginn
end;

Procedure Label2onGetText(var Text: String);
begin
  Text:='am '+ Sprechtag1;
  If Sprechtag2 <>'' then Text:=Text + ' und am ' + Sprechtag2;
end;

Gedruckt wird (Beispieldaten aus der Quelle):

pascal
Elternsprechtag: am 10. Februar 2006 von 8:00 bis 12:00 und von 14:00Uhr
bis 18:00 Uhr und am 17. Februar 2006 von 8:00 bis 12:00 und von 14:00Uhr
bis 18:00 Uhr
Wiederbeginn des Unterrichts am 10. Februar 2006 um 8:00 Uhr.

Zurück zu RAP-Funktionen

Quelle: ZeugnisParameter – ursprüngliches Wiki