Hallo zusammen,
nachdem ich mich den ganzen Abend mit Textbearbeitungsfunktionen herumschlage, hoffe ich auf Eure Hilfe.
Aus der Textkette "Haushaltsbuch_2014" soll "Haushaltsbuch_2013" werden.
1. Variante
Folgende Anweisung liefert formal das richtige Ergebnis, alledings steckt in der Zeichenkette ein nicht sichbares Zeichen.
sDocBefor = "Haushaltsbuch_" & STR( VAL( MID( "Haushaltsbuch_2014" , InStr( "Haushaltsbuch_2014" , "20" ) , 4 ) ) - 1 )
msgbox len( sDocBefor ) & " " & LEN("Haushaltsbuch_2014")
Ausgabe: 19 18
2. VAriante
Eine weitere Variante mit MID-Statement geht auch nicht!
mid("abc",1,2,"w") = Leer
Sinniger Weise gibt es zu MID-Statement kein Beispiel.
Zwei weiter Fragen:
1. Es gibt Text-Funktionen mit deutscher bzw. englischer Namen. Mein LO kennt nur die englischen? Gibt es Einstellungen?
2. Text verketten geht in der englischen Version nur mit Join und Array?
Schonmal Danke
micha
🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
BASIC Textbearbeitungsfunktionen
Re: BASIC Textbearbeitungsfunktionen
Hallo
Ja die Textfunktionen in Basic sind recht armselig im Vergleich zu richtigen Programmiersprachen - aber in dem Fall tuts schon:
1.) In Calc gibts lokalisierte Funktionsnamen, die haben aber nicht mit den Runtime-Funktionen von Basic zu tun
2.) Text verketten geht mit join und man muss u.a. ein Array als Argument übergeben.
Karolus
Ja die Textfunktionen in Basic sind recht armselig im Vergleich zu richtigen Programmiersprachen - aber in dem Fall tuts schon:
Code: Alles auswählen
newstr = replace( oldstring , "2013", "2014" )

1.) In Calc gibts lokalisierte Funktionsnamen, die haben aber nicht mit den Runtime-Funktionen von Basic zu tun
2.) Text verketten geht mit join und man muss u.a. ein Array als Argument übergeben.
Karolus
Zuletzt geändert von karolus am So 2. Feb 2014, 00:28, insgesamt 1-mal geändert.
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Re: BASIC Textbearbeitungsfunktionen
So?
R
Code: Alles auswählen
Sub S_HHB1
Dim nYear as Integer
sHHB = "Haushaltsbuch_2014"
nYear = Right(sHHB,4)
nNewYear = nYear - 1
sHHBNew = MID(sHHB,1,len(sHHB)-4) & nNewYear
msgbox sHHBNew
End Sub
Sub S_HHB2
Dim nYear as Integer
sHHB = "Haushaltsbuch_2014"
nYear = Right(sHHB,4)
nNewYear = nYear - 1
sHHBNew = Replace(sHHB,nYear,nNewYear)
msgbox sHHBNew
End Sub
Windows 11: AOO, LO Linux Mint: AOO, LO
Re: BASIC Textbearbeitungsfunktionen
Hallo,
vielen Dank für Eure schnellen Tips. Hat sofort funktioniert.
Inzwischen habe ich das Problem gefunden.
Die STR-Funktion liefert am Anfang der Textkette ein nicht sichtbares Zeichen!
Gruß aus Dresden
micha
vielen Dank für Eure schnellen Tips. Hat sofort funktioniert.
Inzwischen habe ich das Problem gefunden.
Die STR-Funktion liefert am Anfang der Textkette ein nicht sichtbares Zeichen!

Gruß aus Dresden
micha
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.