Seite 1 von 2

dat-Datei mittels Report

Verfasst: Donnerstag 19. November 2020, 13:11
von Christoph Sprung
Guten Tag,
zu einem Problem, bei dessen Lösung ich nicht weiterkomme, bitte ich um Mithilfe: es geht um einen Report, der eine über die Schnittstelle importierbare dat-Datei erzeugt. Der Import klappt auch, liefert aber für einzelne Datensätze die Meldung, dass ein Schüler nicht gefunden wurde. Die Ursache ist, dass in Einzelfällen bestimmte Zeichen im Schülernamen in der dat-Datei nicht mit den Zeichen in dem Namen der SchILD-Datenbank übereinstimmen, z. B. wird aus einem 'c' mit Akut in der SchILD-Datenbank ein einfaches 'c' in der dat-Datei.
Gibt es eine Möglichkeit, das zu ändern? Ich bin mir sicher, dass die Sonderzeichen-Eigenschaften verloren gehen, wenn die vom Report gesammelten Daten (in einer TStringList - ich habe mich vergewissert, dass diese Liste die Sonderzeichen noch richtig enthält) mittels FileSave-Dialog in besagte dat-Datei geschrieben werden. Hat vielleicht jemand eine Idee, was ich tun könnte, um beim Erzeugen der dat-Datei die Sonderzeichen-Eigenschaften zu erhalten?

Re: dat-Datei mittels Report

Verfasst: Donnerstag 19. November 2020, 14:05
von Uli Dierkes
Ist der Sachverhalt anders, wenn Sie zuerst eine txt-Datei erzeugen lassen und diese dann im Dateiexplorer in *.dat umbenennen?

Re: dat-Datei mittels Report

Verfasst: Donnerstag 19. November 2020, 16:05
von Christoph Sprung
Nein, der Sachverhalt ist nicht anders; es ändert sich auch dann nichts, wenn als Dateiendung 'xls' oder 'csv' oder 'doc' gewählt wird. Welches Programm die Datei öffnet, scheint irrelevant zu sein, der unerwünschte Effekt tritt beim Erzeugen der Datei auf.

Re: dat-Datei mittels Report

Verfasst: Donnerstag 19. November 2020, 17:26
von Falko Müller
Ich hab wenig Ahnung von den Dateiexporten, also ist es nur ein Schuss ins Blaue: vielleicht hat es was mit der Einstellung "FontEncoding" bei den PDF-Settings des Reports zu tun. Da kann man zwischen ANSI und Unicode wählen...

Re: dat-Datei mittels Report

Verfasst: Donnerstag 19. November 2020, 17:41
von Raffenberg
Ich befürchte, das der Reportdesigner keinen Utf-8 oder Unicode Funktion im FileSave Dialog unterstützt. In Delphi gibt es hier einen Zusatzschalter, der im Reportdesigner nicht funktioniert. Eine Alternative habe ich nach kurzer Recherche nicht gefunden (was nicht heißt, dass es sie nicht gibt).

Darf ich fragen, weshalb sie die dat-Datei über den Reportdesigner erstellen und nicht über die Export-Schnittstelle?

Re: dat-Datei mittels Report

Verfasst: Donnerstag 19. November 2020, 22:13
von Christoph Sprung
Christoph Sprung hat geschrieben: Donnerstag 19. November 2020, 16:05 vielleicht hat es was mit der Einstellung "FontEncoding" bei den PDF-Settings des Reports zu tun
Das habe ich probiert - die Einstellungen hier haben keinen Einfluss auf den FileSave-Dialog. Danke für den Hinweis.
Raffenberg hat geschrieben: Donnerstag 19. November 2020, 17:41 In Delphi gibt es hier einen Zusatzschalter, der im Reportdesigner nicht funktioniert.
Das ist nach Ihrem Hinweis - danke dafür - und folgender Recherche auch mein Erkenntnisstand. Als Alternative kann ich den Text in ein Label schicken und den Report in eine dat-Datei drucken, dann bleiben Sonderzeichen erhalten.
SchILD kann ja UTF-8 codierte dat-Dateien über die Schnittstelle erzeugen, also wird es wohl am Reportdesigner liegen.
Raffenberg hat geschrieben: Donnerstag 19. November 2020, 17:41 Darf ich fragen, weshalb sie die dat-Datei über den Reportdesigner erstellen und nicht über die Export-Schnittstelle?
Sicher - die Schnittstelle liefert vorhandene Daten. Im vorliegenden Fall - Sprachenfolge - lasse ich den Report diese Daten aus Laufbahn- und Leistungsdaten aber erst erzeugen und lege sie mit dem Import erstmalig an bzw. trage GeR-Niveaus nach.

Re: dat-Datei mittels Report

Verfasst: Freitag 20. November 2020, 02:11
von wschrewe
Christoph Sprung hat geschrieben: Donnerstag 19. November 2020, 22:13also wird es wohl am Reportdesigner liegen.
So ist es. Ihr Problem ließe sich beheben, wenn von den Schild-Programmierern eine RAP-Funktion einbaut würde, die als Parameter eine Stringlist und den Dateinamen hat und dann den Inhalt per

Code: Alles auswählen

aStringList.SaveToFile(aFilename,TEncoding.UTF8)
in eine Datei schreibt. Standardmäßig erfolgt die Ausgabe in Ansi.

Re: dat-Datei mittels Report

Verfasst: Freitag 20. November 2020, 14:51
von Christoph Sprung
Vielen Dank, Herr Schrewe.
Auf den Zusatz 'TEncoding.UTF8' bin ich beim Recherchieren auch gestoßen und habe es wie in Ihrem Code angegeben probiert - jetzt weiß ich zumindest, dass ich keinen Syntaxfehler gemacht habe.
Wenn die SchILD-Programmierer diese nützliche Funktion einbauen können - wäre es möglich, dass sie es auch tun?

Re: dat-Datei mittels Report

Verfasst: Freitag 20. November 2020, 15:36
von Raffenberg
Christoph Sprung hat geschrieben: Donnerstag 19. November 2020, 22:13 Sicher - die Schnittstelle liefert vorhandene Daten. Im vorliegenden Fall - Sprachenfolge - lasse ich den Report diese Daten aus Laufbahn- und Leistungsdaten aber erst erzeugen und lege sie mit dem Import erstmalig an bzw. trage GeR-Niveaus nach.
UTF-8 Unterstützung im Reportdesigner wäre bestimmt für die Zukunft hilfreich. Normalerweise wird die Sprachenfolge und das Sprachniveau ja mittels Gruppenprozzess festgelegt. Haben Sie hier Datensätze, die nicht zum Ziel führen?

Re: dat-Datei mittels Report

Verfasst: Freitag 20. November 2020, 17:12
von Christoph Sprung
Raffenberg hat geschrieben: Freitag 20. November 2020, 15:36 Normalerweise wird die Sprachenfolge und das Sprachniveau ja mittels Gruppenprozzess festgelegt. Haben Sie hier Datensätze, die nicht zum Ziel führen?
Das trifft es. Für viele Studierende (die als Gruppe auch leicht zusammenzustellen sind) kann ich den Gruppenprozess sehr gut nutzen; es gibt aber viele Studierende mit uneinheitlichem Fremdsprachen-Status, insbesondere die zweite Fremdsprache betreffend - da kommen die Gruppenprozesse einer Einzelfallbehandlung nahe.