gelöst:Rechtschreibprüfung-String vor Speichern in DB prüfen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

sarotti
****
Beiträge: 105
Registriert: So, 12.03.2006 17:40
Wohnort: Nähe Krefeld

gelöst:Rechtschreibprüfung-String vor Speichern in DB prüfen

Beitrag von sarotti »

Hallo zusammen,

ich bastle gerade an einem Vokabeltrainer auf Basis einer HSQL Datenbank herum. Da hier die Vokabeln (durch meinen noch nicht besonders sprachkundigen Sohn) frei eingegeben werden können, werden Tippfehler und Rechtschreibschwächen bei der Eingabe (also falsch) in die Datenbank übernommen.... Leider habe ich bisher keine Möglichkeit gefunden den Eingabestring vor dem Speichern in der Datenbank (oder innerhalb einer Datenbanktabelle)auf korrekte Schreibweise zu prüfen (quasi wie die Prüfung im Writer bei Calc). Den Umweg alles über den Export in ein Writer Dokument zu prüfen wollte ich mir eigentlich sparen....

Meine Versuche über den Makrorekorder die Rechtschreibprüfung anzusprechen sind über den Dispatcher gescheitert. Es wird im Writer ledglich die allgemeine Rechtschreibprüfung aufgerufen (d.h. der Dialog) - das einzelne Wort habe ich nicht ansprechen können und folglich auch keine Rückmeldung erzeugen können....

Wer hat einen Ansatz für mich?

Gruss und Dank
sarotti
sarotti
****
Beiträge: 105
Registriert: So, 12.03.2006 17:40
Wohnort: Nähe Krefeld

Re: gelöst:Rechtschreibprüfung-String vor Speichern in DB prüfen

Beitrag von sarotti »

Hallo zusammen,

habe beim weiteren Stöbern noch mal bei Andrew Pitonyak vorbeigeschaut... SUPER QUELLE!!!!

Hier die auf seinen Hinweisen basierende (modifizierte) Lösung:

Code: Alles auswählen

sub Spellcheck
Dim s() As Variant
	Dim vReturn As Variant, i As Integer
	Dim emptyArgs(0) as new com.sun.star.beans.PropertyValue
	Dim aLocale As New com.sun.star.lang.Locale
	aLocale.Language = "en"
	aLocale.Country = "GB"
    
	s = Array("xray", "anesthesiologist","Pitonyak", "misspell") 
    
'http://api.openoffice.org/common/ref/com/sun/star/linguistic2/XSpellChecker.html

	Dim vSpeller As Variant
	vSpeller = createUnoService("com.sun.star.linguistic2.SpellChecker")

	For i = LBound(s()) To UBound(s())
		vReturn = vSpeller.isValid(s(i), aLocale, emptyArgs())
	if vReturn = False then
			vReturnS= vSpeller.spell(s(i), aLocale, emptyArgs())
		sAlternativen=vReturnS.Alternatives
			for a=0 To UBound(sAlternativen)
				sAlternative=sAlternative+vReturnS.Alternatives(a)+chr(13)
			next
	end if
		MsgBox "Rechtschreibprüfung des Wortes '" & s(i) & "' ergibt: " & vReturn &chr(13)&chr(13)& sAlternative
		sAlternative=""
	Next
end sub
Vielleicht hilft es ja dem einen oder anderen

Gruß
sarotti
sarotti
****
Beiträge: 105
Registriert: So, 12.03.2006 17:40
Wohnort: Nähe Krefeld

Re: gelöst:Rechtschreibprüfung-String vor Speichern in DB prüfen

Beitrag von sarotti »

Hi, ist schon ne Weile her. Leider hat der Vokabeltrainer genau beim "Spellcheck" einen Fehler und läuft in einer Endlosschleife. Wollte ich noch immer mal herausmachen. Ansonsten funktioniert das Ding ganz ordentlich. Ich muss mal schauen, ob ich es hochladen kann
. Also wer Lust auf basteln hat ist herzlich eingeladen sich bei der Fehlerbeseitigung zu beteiligen.Gruß Sarotti
sarotti
****
Beiträge: 105
Registriert: So, 12.03.2006 17:40
Wohnort: Nähe Krefeld

Re: gelöst:Rechtschreibprüfung-String vor Speichern in DB prüfen

Beitrag von sarotti »

...hier der Vokabeltrainer...

Gruß
sarotti
Dateianhänge
VokabelTraining.odb
(168 KiB) 87-mal heruntergeladen
Antworten