Schul-OfficeSoftware für Schulen und Schulämter
Schul - Office : Software und Service für Schulen und Schulämter
Clarion 5.5 / Links

Programmschnipsel

Einbinden eines E-Mail-Clients
Einbinden der Wählhilfe
Windows Farbauswahl-Dialog
Prüfen, ob eine Datei vorhanden ist
Prüfen, ob eine Datei benutzt wird
Cursortasten zur Navigation benutzen
Systemdatum einstellen
Datenkompression mit zlib1.dll
Serienbriefe mit OpenOffice
Rechtschreibprüfung mit Hunspell

Rechtschreibprüfung mit Hunspell

Zur Rechtschreibprüfung benutzen wir Hunspell, das auch in OpenOffice zum Einsatz kommt. Damit wir die Datei "libhunspell.dll" in unseren Clarion-Programmen nutzen können, mussten wir jedoch den Sourcecode der "libhunspell.dll" etwas ändern und ergänzen. Die Dll-Datei exportiert im Original gleichzeitig Funktionen wie "hunspell_spell" und "Hunspell_spell". In C++ ist das in Ordnung. In Clarion führt dies jedoch Link-Fehlern, da Clarion nicht case sensitiv ist.
Wir haben daher die kleingeschriebenen Funktionen alle in "libhunspell_..." umbenannt. Wir hätten auch die großgeschriebenen Funktionen vom Export ausschließen können, damit wäre allerdings die Dll nicht mehr voll nutzbar gewesen und wäre zu sehr von der Dokumentation abgewichen.
Neben den Änderungen haben wir außerdm noch die Funktion "slo_getsuggest" in die Dll eingebaut. Die vorhandene Funktion "libhunspell_suggest" erwartet als dritten Parameter einen "char ***slst", also einen Pointer auf eine Liste von CSTRING's. So etwas geht auch in Clarion, aber es war uns zu mühselig. "slo_getsuggest" holt die Korrekturvorschläge auf der C++ - Ebene und schreibt die Liste in einen CSTRING, der als dritter Parameter an "slo_getsuggest" übergeben wird. Der CSTRING muss in Clarion mit einer Größe von 2021 Bytes initialisiert werden und kann somit maximal 20 Korrekturvorschläge aufnehmen. Die einzelnen Korrekturvorschläge werden durch "|" getrennt, so dass der CSTRING direkt an ein Popup-Menü übergeben werden kann.

Die Datei hunspell4clarion.zip enthält die Dateien "hunspelldll.h" und "hunspelldll.c", die von uns geändert wurden.
Die Datei libhunspell.dll enthält unsere komplette Dll.
Zusammen mit der Datei libhunspell.lib, die wir mit "Libmaker" erstellt haben, kann jeder Clarion-Programmierer sehr leicht seine Anwendungen mit einer leistungsfähigen Rechtschreibprüfung ausstatten.
Aus der Datei module_libhunspell_lib.clw kann entnommen werden, wie wir die "libhunspell.dll" in unsere Programme einbinden.

Hier noch einige Links, die wir als sehr hilfreich bei der Programmierung der Rechtschreibprüfung empfunden haben:
Hunspell-Dokumentation
C++ - Source für einen Spellchecker
Valid XHTML 1.0 Transitional CSS ist valide!