🙏 Bitte helfen Sie uns das LibreOffice Forum zu erhalten. 🙏
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.

🍀 Wir hoffen auf Ihre Unterstützung - vielen Dank!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

[GELÖST] Ungebundenes Textfeld: Inhalt löschen

Alles zur Programmierung im LibreOffice.
Antworten
teuff
! Supporter - Spende !
Beiträge: 11
Registriert: Di 26. Mär 2013, 20:13

[GELÖST] Ungebundenes Textfeld: Inhalt löschen

Beitrag von teuff » Sa 31. Mai 2014, 07:17

Hallo!
Ich hänge schon eine Zeitlang an folgendem Problem mit einem LibreOffice Basic Makro:
In einem Formular mit lauter ungebundenen Textfeldern habe ich 4 davon zur variablen Suche in der Datenbank (einzeln und kombiniert in verschiedenen Datenbankfeldern) und eines zur Anzeige der gefundenen Datensätze. Mit einer Schaltfläche möchte ich alle Inhalte der Textfelder zugleich löschen. Das funktioniert aber nur mit dem Anzeigefeld, in das über eine andere Prozedur geschrieben habe. Das wird durch den Leerstring wie geplant ersetzt. Wenn der Textfeld aber manuell ausgefüllt wird (in diesem Fall die Suchbegriffe in den Feldern Such1 bis Such4), bleibt der Inhalt erhalten. Der im Code angegebene String (in diesemFall "") wird einfach vor den bestehenden Inhalt gesetzt. Falls ich also ein paar Leerzeichen setze (z.B. Such1 = " "), werden diese an den Beginn des Textfelds geschrieben und der vorhandene Text bleibt. Das passiert offensichtlich generell mit solchen Textfeldern. Wenn ich beispielsweise in das mehrzeilige Feld txtAnzeige etwas hineinschreibe und dann erst über das Makro den gesuchten Datensatz, bleibt auch dieser Text am Ende erhalten. Hier der Code:

Code: Alles auswählen

Sub Loeschen
	' Inhalt der Anzeige aller Suchfelder löschen

	oDoc = thisComponent
	oDrawpage = oDoc.drawpage
	oForm = oDrawpage.forms.getByName("frmProbe")
	Dim oSuch1 As Object, oSuch2 As Object, oSuch3 As Object, oSuch4 As Object
	oSuch1 = oForm.getByName("txtNr")
	oSuch2 = oForm.getByName("txtWerk")
	oSuch3 = oForm.getByName("txtKomp")
	oSuch4 = oForm.getByName("txtAlle")
 	oTextfeld = oForm.getByName("txtInhalt")

	oSuch1.String = ""
	oSuch2.String = ""
	oSuch3.String = ""
	oSuch4.String = ""
	oTextfeld.String = ""
	ReDim DatenArray(0,0)

End Sub
Kennt jemand das Phänomen und die Lösung, wie ich den Inhalt so eines Textfeldes über ein Makro löschen kann?
Zuletzt geändert von teuff am So 1. Jun 2014, 15:20, insgesamt 2-mal geändert.

gogo
* LO-Experte *
Beiträge: 1081
Registriert: Sa 5. Feb 2011, 19:07

Re: Ungebundenes Textfeld: Inhalt lässt sich nicht löschen

Beitrag von gogo » Sa 31. Mai 2014, 10:02

versuch's mal so:

Code: Alles auswählen

oSuch1.getText.setString("")
btw:
... In einem Formular mit lauter ungebundenen Textfeldern ...
Dann ist es eleganter einen Dialog zu verwenden - aber das ist Geschmackssache (und da gibt's auch nicht alle Kontrollelemente, die ein Formular bietet)
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

teuff
! Supporter - Spende !
Beiträge: 11
Registriert: Di 26. Mär 2013, 20:13

Re: Ungebundenes Textfeld: Inhalt lässt sich nicht löschen

Beitrag von teuff » So 1. Jun 2014, 14:21

Danke, das funktioniert so.
Einen Dialog werde ich eher nicht verwenden, weil ich das Formular noch ausbauen muss und die Anzeige im gleichen Formular habe.

teuff
! Supporter - Spende !
Beiträge: 11
Registriert: Di 26. Mär 2013, 20:13

Re: Ungebundenes Textfeld: Inhalt lässt sich nicht löschen

Beitrag von teuff » So 1. Jun 2014, 14:39

gogo hat geschrieben:versuch's mal so:

Code: Alles auswählen

oSuch1.getText.setString("")
btw:
... In einem Formular mit lauter ungebundenen Textfeldern ...
Dann ist es eleganter einen Dialog zu verwenden - aber das ist Geschmackssache (und da gibt's auch nicht alle Kontrollelemente, die ein Formular bietet)
Danke, das funktioniert so.
Einen Dialog werde ich eher nicht verwenden, weil ich das Formular noch ausbauen muss und die Anzeige im gleichen Formular habe. Und für kleine Änderung der Suchbegriffe soll der Text ja erhalten bleiben.


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten