Seite 1 von 1

BASIC Textbearbeitungsfunktionen

Verfasst: Sa 1. Feb 2014, 22:40
von lomich
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

Re: BASIC Textbearbeitungsfunktionen

Verfasst: So 2. Feb 2014, 00:26
von karolus
Hallo

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

Re: BASIC Textbearbeitungsfunktionen

Verfasst: So 2. Feb 2014, 00:27
von F3K Total
So?

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
R

Re: BASIC Textbearbeitungsfunktionen

Verfasst: So 2. Feb 2014, 11:50
von lomich
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