mid -Funktion/-Anweisung missverstanden ?

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: mid -Funktion/-Anweisung missverstanden ?

Re: mid -Funktion/-Anweisung missverstanden ?

von sven-my » Do, 28.06.2012 14:30

Hallo Karolus,

- es ist eben KEINE Funktion, sondern eine Anweisung.

Es steht in der Hilfe:
Mid-Funktion, Mid-Anweisung [Laufzeit]
Gibt den angegebenen Teil eines Zeichenkettenausdrucks zurück (Mid-Funktion) oder ersetzt ihn durch eine andere Zeichenkette (Mid-Anweisung).
Left und right sind beides Funktionen, aber keine Anweisungen, deren Kombinationen ich bisher als mid-Ersatz genommen habe; daher auch das Mißverstehen der Hilfe.

so funktionierts, wie ich das Ergebnis haben wollte:

Code: Alles auswählen

Sub main()
Dim sInput As String
Dim sGe_date As String
sInput = "06-28-2012"
ersatz ="12"
mid(sInput, 4, 2,ersatz)
msgbox sInput
End Sub
gruß
sven-my

Re: mid -Funktion/-Anweisung missverstanden ?

von Karolus » Do, 28.06.2012 14:14

Hallo
sven-my hat geschrieben: Auf diesen Trichter wäre ich nie gekommen, obwohl im Nachhinein logisch.
Nein, logisch ist das nicht - das ist sehr merkwürdig daß eine Funktion ein Argument verändert aber nichts zurückgibt.

Karo

Re: mid -Funktion/-Anweisung missverstanden ?

von sven-my » Do, 28.06.2012 13:18

Herzlichen Dank Winfried !

Auf diesen Trichter wäre ich nie gekommen, obwohl im Nachhinein logisch.

gruß
sven-my

Re: mid -Funktion/-Anweisung missverstanden ?

von komma4 » Do, 28.06.2012 13:07

oder ersetzt ihn durch eine andere Zeichenkette (Mid-Anweisung)
Du nutzt die Anweisung, lasse Dir sInput nach dem Aufruf anzeigen - dort ist die Zeichenkette ersetzt.


Das hilft Dir weiter?

mid -Funktion/-Anweisung missverstanden ?

von sven-my » Do, 28.06.2012 12:58

Hallo Experten,

in der Hilfe der AOO3.4 zu Basic/Runtime -> mid- Funktion/Anweisung steht:
Mid-Funktion, Mid-Anweisung [Laufzeit]
Gibt den angegebenen Teil eines Zeichenkettenausdrucks zurück (Mid-Funktion) oder ersetzt ihn durch eine andere Zeichenkette (Mid-Anweisung).
Syntax:
Mid (Text As String, Anfang As Integer [, Laenge As Integer]) oder Mid (Text As String, Anfang As Integer , Laenge As Integer, Text As String)
Rückgabewert:
String (only by Function)
Parameter:
Text: Ein beliebiger Zeichenkettenausdruck, den Sie bearbeiten möchten.
Anfang: Integer-Ausdruck, der die Zeichenposition in der Zeichenkette angibt, an welcher der zu ersetzende oder zurückzugebende Zeichenkettenabschnitt anfängt.
Laenge: Integer-Ausdruck, der die Anzahl der Zeichen angibt, die Sie ersetzen oder zurückgeben möchten.
Entfällt bei der Mid-Funktion die Angabe zu length, werden alle Zeichen ab der angegebenen Position bis zum letzten Zeichen der Zeichenfolge ermittelt.
Ist der Längenparameter der Mid-Anweisung kleiner als die Länge des zu ersetzenden Textes, so wird der Text auf die angegebene Länge gekürzt.
Text: Die Zeichenkette, durch die der Zeichenkettenabschnitt ersetzt werden soll (Mid-Anweisung).

So funktioniert es nicht (abgewandeltes Beispiel aus der Hilfe):

Code: Alles auswählen

Sub main
Dim sInput As String
Dim sGe_date As String
sInput = "06-28-2012"
ersatz = "99"
sGe_date = mid(sInput, 4, 2,ersatz)
MsgBox sGe_date
End Sub
Was habe ich in der Hilfe falsch verstanden, wenn ich dies zurück haben möchte: "06-99-2012", es kommt aber nur ein leerer String zurück ?
Verstanden habe ich, daß das Ersetzen eine Anweisung ist, und es bei einer Anweisung keinen String zurück gibt, wie bekomme ich also den geänderten String ?

gruß
sven-my

Nach oben