Autokorrektur in Base

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Autokorrektur in Base

Re: Autokorrektur in Base

von RobertG » So, 16.03.2014 11:40

Hallo Rik,

Du hast Recht, ist in allen Base-Versionen so. Das hat ja auch eine gewisse Logik, weil die Formatierungen ja nicht gespeichert werden können. Also noch ein bisschen weiter überlegen. Aber grundsätzlich weiß ich ja jetzt, dass ich nicht völlig daneben lag. Nur merkwürdig, dass die Felder in den Eigenschaften normalerweise genau das anbieten, was ich haben will, aber es nur ausführen, wenn stattdessen die Verbindung zu Base gekappt wird.

Da bleibt mir dann vermutlich wieder nur so ein Klimmzug wie bei den Listen/Kombinationsfeldern. Ich muss ein zusätzliches verstecktes Feld gründen, aus dem beim Start des Formulars der Inhalt in das mehrzeilig formatierte Feld übertragen wird und beim Abspeichern das Ganze in die umgekehrte Richtung läuft.


Gruß

Robert

Re: Autokorrektur in Base

von F3K Total » So, 16.03.2014 09:57

Hallo Robert,
ist es bei dir auch so, wie bei mit hier (AOO 4.0.1), dass das Feld mit der Eigenschaft .RichText (entspricht mehrzeilig mit Formatierungen) die Bindung an die DB verliert?

Gruß Rik

Re: Autokorrektur in Base

von RobertG » Do, 13.03.2014 18:24

Hallo *,

ich habe noch etwas weiter getestet und so etwas wie eine Rechtschreibprüfung versucht. Leider habe ich es bisher nicht hin bekommen, einzelne Worte farbig zu markieren oder zu unterschlängeln, um falsch geschriebene Worte zu kennzeichnen. Das müsste aber eigentlich sein, damit sich Worte, die nicht im Wörterbuch stehen, auch fehlerfrei abspeichern lassen. In der angehängten DB werden die Worte in Fragezeichen gesetzt.

Edit: Nachtrag - Es muss für eine separate Formatierung einzelner Worte das Textfeld auf "Mehrzeilig mit Formatierungen" gestellt werden. Dann ist auch eine Unterschlängelung möglich. Ich tausche die angehängte Datei mit der entsprechend funktionierenden Datei aus.

Gruß

Robert
Dateianhänge
Beispiel_Autotext.odb
Autotext und Rechtschreibüberprüfung in Base-Formularen
(13.42 KiB) 78-mal heruntergeladen

Re: Autokorrektur in Base

von RobertG » Di, 11.03.2014 17:00

Hallo Uwe, *,

ich habe jetzt das entsprechende Makro fertig. Es nutzt die Autotext-Eingaben (nicht die Autokorrektur - dazu habe ich die Verbindung noch nicht gefunden, ist aber eigentlich auch nicht für das Ersetzen von Kürzeln durch kompletten Text gedacht).

Ich hänge eine Beispieldatei an. Die Datei enthält keine Daten, nur ein Formular mit einem Textfeld, an dem die Änderungen des Inhaltes durch Eingabe von Text und Kürzeln beobachtet werden kann. So ein Makro macht natürlich dann am meisten Sinn, wenn es mit eigenem Autotext beschickt wird. Dazu ist kurz angegeben, wo dieser einzugeben und welche Änderung am Makro zu handhaben ist, damit auf die Quelle zugegriffen wird.


Gruß

Robert
Dateianhänge
Beispiel_Autotext.odb
Autotext in Formularfeldern
(12.37 KiB) 70-mal heruntergeladen

Re: Autokorrektur in Base

von RobertG » So, 09.03.2014 21:16

Hallo Airlinepapst,

alles, was ich hier so investiere und zum Funktionieren hin bekomme gibt es anschließend im Base-Handbuch zu lesen.
Ich bin bisher gut darum herum gekommen, viel Geld in Software zu investieren. Meine letzten Investitionen in der Richtung waren wohl solche Boxen wie SUSE-Linux 9.0 - sehr lange her. Dafür investiere ich hier in der Beratung Zeit.

Gruß

Robert

Re: Autokorrektur in Base

von RobertG » So, 09.03.2014 20:56

Hallo Airlinepapst,

wenn ich noch mehr Zeit zum Tüfteln investiere könnte das etwas werden. Ich habe jetzt den Zugriff zum "Autotext":
createunoservice("com.sun.star.text.AutoTextContainer")
Bei einem Formular erhalte ich nach Eingabe von "AF" jetzt
"Bitte schicken Sie uns ein verbindliches Angebot für folgende Lieferungen."
Ich weiß nicht, ob das die richtige Stelle ist. Außerdem wird mir das Ganze noch auf den Formularhintergrund geschrieben. Aber das müsste ja auch noch zu regeln sein.

Gruß

Robert

Re: Autokorrektur in Base

von RobertG » So, 09.03.2014 19:55

Hallo Airlinepapst,

das mit den Bildern muss auch in Access gehen. Ich weiß, dass bei uns in der Schulverwaltungsdatenbank (Access, vorgeschrieben vom Land) auch die Bilder der Schüler und Schülerinnen verwaltet werden.

Hier trotzdem noch einmal das Makro in leicht geänderter Fassung, da der Link da ein kleines Problem hatte und auch die richtigen Worte anzeigte:

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 = "de"
	aLocale.Country = "DE"
	s = Array("di", "Herr","Frau", "die")       
    '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
			MsgBox "Rechtschreibprüfung: Das Wort '" & s(i) & "' ist vermutlich falsch. " &chr(13)& "Alternativvorschläge: " &chr(13)& sAlternative
		END IF
		sAlternative=""
	Next
END SUB
Ich weiß nur nicht, wie ich an die Einträge der Autokorrektur statt an die des Wörterbuches komme. Dann wäre auch die Autokorrektur bei einem Formular kein Problem. Du möchtest ja Kürzel bei einem entsprechend längeren Text schreiben, oder sehe ich das falsch?

Gruß

Robert

Re: Autokorrektur in Base

von RobertG » So, 09.03.2014 19:29

Hallo Airlinepapst,

das genannte Makro zeigt Dir, wenn Du es startest, falsche Wörter erst einmal in einem Dialog an. So etwas kann natürlich bei der Datenbank von den Feldern des Formulars gefüttert werden.
Nimm einmal das Makro, ersetze in aLocale ... die entsprechenden Landescodes und lasse es mit entsprechenden eigenen Einträgen in s=Array( ) laufen:

Code: Alles auswählen

aLocale.Language = "de"
aLocale.Country = "DE"
s = Array("ni", "Airline","Papst", "dre")
Statt des Arrays kann jetzt auch der Inhalt eines Formularfeldes eingelesen und überprüft werden.

Du möchtest allerdings keine Rechtschreibhilfe, sondern eine Autokorrektur. Ich kann mir vorstellen, dass auch die entsprechend gefüttert werden kann. So einem Problem habe ich mich allerdings bislang nicht gestellt - weil ich eher der Typ bin, der verzweifelt danach sucht, an welcher Stelle denn die Autokorrektur ausgestellt bzw. vorübergehend überlistet werden kann

Re: Autokorrektur in Base

von F3K Total » So, 09.03.2014 18:40

Airlinepapst2 hat geschrieben:Hat jemand eine Idee woran es liegen kann??
Ja, es gibt keine Autokorretur in Formular-Kontrollelementen, kann man sich nur per Makro basteln.
Siehe z.B. hier.
HTH R

Nach oben