Schreiben in 2 Textfeldern

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

Moderator: Moderatoren

rammi22
****
Beiträge: 126
Registriert: Mo, 26.03.2012 02:59

Schreiben in 2 Textfeldern

Beitrag von rammi22 »

Hallo,
ich möchte in ein Textfeld schreiben und dieser Text soll gleichzeitig in einem anderen Textfeld ausgegeben werden. Ohne Bestätigung, sozusagen live, dafür möchte ich ein Makro bauen, was mir fehlt sind die Funktionen:

1. Textfeld A, hier wird ein Text eingegeben
2. Das Makro nimmt bei Eingabe jedes eingegebene Zeichen entgegen und gibt es sofort im Textfeld B aus

Ausgabe scheint mir klar mit setString(), aber mit welcher Funktion kann beim Tippen das eingegebene Zeichen entgegengenommen werden?
Gruss Rammi
----------------------------------------------------
Linux 22.04 | Win11 | LibreOffice 7.3.5.2
rammi22
****
Beiträge: 126
Registriert: Mo, 26.03.2012 02:59

Re: Schreiben in 2 Textfeldern

Beitrag von rammi22 »

Gast hat geschrieben:...Unter Kontrollfeld - Daten- Verknüpfte Zelle die gleiche Zelle auswählen. z.B hinter einem Textfeld.
Beim zweiten Textfeld dann Kontrollfeld - Allgemein - Tabstop auf Nein...
Danke, ich werde es ausprobieren...

ABER: ich fürchte, das geht nur mit einer Zelle, im Endeffekt gibt es aber mehrere Eingabefelder und nur EIN Kontrollfeld, das alle Daten aus den Eingabefeldern ausgeben soll...
Gruss Rammi
----------------------------------------------------
Linux 22.04 | Win11 | LibreOffice 7.3.5.2
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Schreiben in 2 Textfeldern

Beitrag von Stephan »

aber mit welcher Funktion kann beim Tippen das eingegebene Zeichen entgegengenommen werden?
Dazu müsste man zunächst einmal wissen um was für ein Textfeld es sich handelt.

Ich kann jedenfalls nicht nachvollziehen woher "Gast" zu wissen glaubt das das Ganze in einer Calc-Tabelle spielt und das Textfeld ein Textformularfeld ist.



Gruß
Stephan
rammi22
****
Beiträge: 126
Registriert: Mo, 26.03.2012 02:59

Re: Schreiben in 2 Textfeldern

Beitrag von rammi22 »

Stephan hat geschrieben:...Dazu müsste man zunächst einmal wissen um was für ein Textfeld es sich handelt...
Also, ich habe diese Textfelder in einem Datenbank-Dokument angelegt, dazu werde ich es mal etwas genauer skizzieren:
Textfeld Eingabe A (Eingabe)
Textfeld Eingabe B (Eingabe)
Textfeld Ausgabe (Ausgabe Eingabe A + Eingabe B, bei jeglicher Änderung im Textfeld A oder B)
Gruss Rammi
----------------------------------------------------
Linux 22.04 | Win11 | LibreOffice 7.3.5.2
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Schreiben in 2 Textfeldern

Beitrag von Stephan »

Also, ich habe diese Textfelder in einem Datenbank-Dokument angelegt
schön, nur was für Textfelder und nicht wo war die Frage, denn mir scheint die Antwort nicht eindeutig.

Ich gehe aber mal auf Verdacht davon aus das es sich um Textformularfelder handelt, auch weil es dann besonders einfach ist:

schreibe ein Makro das beide Textfelder auswertet und die beiden momentanen Inhalte ins dritte Textfeld schreibt, z.B.:

Code: Alles auswählen

Sub textfeld_ab()
	With ThisComponent.Drawpage.Forms
		tmp_a = .getByName("Formular").getByName("txt1").Text
		tmp_b = .getByName("Formular").getByName("txt2").Text
		.getByName("Formular").getByName("txt3").Text = tmp_a & CHR(13) & tmp_b
	End With	
End Sub
Ordne dieses Makro dem jeweiligen EReignis "Text modifiziert" dere Felder A und B zu.



Gruß
Stephan
Dateianhänge
3_Formulartextfelder.odt
(12.7 KiB) 94-mal heruntergeladen
rammi22
****
Beiträge: 126
Registriert: Mo, 26.03.2012 02:59

Re: Schreiben in 2 Textfeldern

Beitrag von rammi22 »

Vielen Dank!
Gruss Rammi
----------------------------------------------------
Linux 22.04 | Win11 | LibreOffice 7.3.5.2
rammi22
****
Beiträge: 126
Registriert: Mo, 26.03.2012 02:59

Re: Schreiben in 2 Textfeldern

Beitrag von rammi22 »

Stephan hat geschrieben:...schreibe ein Makro das beide Textfelder auswertet ...
Ok ich habe dein Makro angepasst, habe jetzt aber das Problem, das ich das Makro zum Ausführen aufrufen muss, während Dein Makro automatisch läuftz, wo stell ich das ein?
Gruss Rammi
----------------------------------------------------
Linux 22.04 | Win11 | LibreOffice 7.3.5.2
rammi22
****
Beiträge: 126
Registriert: Mo, 26.03.2012 02:59

Re: Schreiben in 2 Textfeldern

Beitrag von rammi22 »

Stephan hat geschrieben:...schreibe ein Makro das beide Textfelder auswertet ...
Ok ich habe dein Makro angepasst, habe jetzt aber das Problem, das ich das Makro zum Ausführen aufrufen muss, während Dein Makro automatisch läuft, wo stell ich das ein?
Gruss Rammi
----------------------------------------------------
Linux 22.04 | Win11 | LibreOffice 7.3.5.2
Karolus
********
Beiträge: 7440
Registriert: Mo, 02.01.2006 19:48

Re: Schreiben in 2 Textfeldern

Beitrag von Karolus »

rammi22 hat geschrieben:
Stephan hat geschrieben:...schreibe ein Makro das beide Textfelder auswertet ...
Ok ich habe dein Makro angepasst, habe jetzt aber das Problem, das ich das Makro zum Ausführen aufrufen muss, während Dein Makro automatisch läuft, wo stell ich das ein?
wie wäre es mit lesen des Beitrags:
Stephan hat geschrieben:Ordne dieses Makro dem jeweiligen EReignis "Text modifiziert" dere Felder A und B zu.
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
rammi22
****
Beiträge: 126
Registriert: Mo, 26.03.2012 02:59

Re: Schreiben in 2 Textfeldern

Beitrag von rammi22 »

Karolus hat geschrieben:...wie wäre es mit lesen des Beitrags...
Ja, jetzt hab ichs auch...
Gruss Rammi
----------------------------------------------------
Linux 22.04 | Win11 | LibreOffice 7.3.5.2
Karolus
********
Beiträge: 7440
Registriert: Mo, 02.01.2006 19:48

Re: Schreiben in 2 Textfeldern

Beitrag von Karolus »

@Stephan

Ich würde sowas bevorzugen:

Code: Alles auswählen

Sub textfeld_ab( event )   
	with event.Source.Model.Parent
		tmp_a = .getByName("txt1").Text
		tmp_b = .getByName("txt2").Text
		.getByName("txt3").Text = tmp_a & CHR(13) & tmp_b
	End With	
End Sub
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Schreiben in 2 Textfeldern

Beitrag von Stephan »

Karolus hat geschrieben:@Stephan

Ich würde sowas bevorzugen:

Code: Alles auswählen

Sub textfeld_ab( event )   
	with event.Source.Model.Parent
		tmp_a = .getByName("txt1").Text
		tmp_b = .getByName("txt2").Text
		.getByName("txt3").Text = tmp_a & CHR(13) & tmp_b
	End With	
End Sub
Ja, stimmt diese Variante ist eleganter.


Gruß
Stephan
Antworten