Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Obrac am 19.05.03 - 12:06:23

Titel: @Middle in Lotus Script?
Beitrag von: Obrac am 19.05.03 - 12:06:23
Hi,

Der Titel dieses Threads sagt schon alles. Gibt es etwas wie @Middle oder @Right in Lotus Script?

/Nad
Titel: Re:@Middle in Lotus Script?
Beitrag von: lrzwkle am 19.05.03 - 12:19:00
Gibt es: Left[$], Mid[$] und Right[$]

zB: Syntax Mid[$] ( expr , start [ , length ] )

fg Siegi
Titel: Re:@Middle in Lotus Script?
Beitrag von: Obrac am 19.05.03 - 13:44:57
Ah, super, danke..Wenn jetzt noch jemand etwas wie @replacesubstring kennt, wäre ich überglücklich. Es soll eine bestimmte Zeichenfolge eines Strings durch eine andere ersetzt werden.
Titel: Re:@Middle in Lotus Script?
Beitrag von: Meff am 19.05.03 - 13:48:08
Hi NadjaAbelFarrag,

bitte sehr :

Sub Initialize
   Dim array1(2) As string
   Dim array2(2) As string
   Dim array3(2) As string
   Dim ret As Variant
   array1(0) = "original0"
   array1(1) = "ThisShouldNotBeReplaced1"
   array1(2) = "original2"
   array2(0) = "original"
   array2(1) = "ShouldNotFindThis"
   array2(2) = "once"
   array3(0) = "replaced--once--"
   array3(1) = "this should be skipped"
   array3(2) = "twice"
   ret = replace(array1, array2, array3)
   for x = 0 to 2
      Print ret(x)
   Next
End Sub

Kleiner Tipp: Schau Dir mal die Designer Hilfe genauer an, ist stets eine Quelle an Informationen.

Meff
Titel: Re:@Middle in Lotus Script?
Beitrag von: Obrac am 19.05.03 - 14:00:49
Ich versteh das Skript nicht so ganz. Mir will nicht einleuchten, wie ich mit dieser Syntax mein Problem lösen soll. Auch in der Hilfe finde ich diese Methode nicht.
Titel: Re:@Middle in Lotus Script?
Beitrag von: Axel am 19.05.03 - 14:08:23
Hi,

schau mal hier:

Zitat
http://www.free.dominoserver.de/computer/noteslibrary.nsf/1af7bead26d85723c1256ca800382b3a/4b72e8439c418c6080256c9300736699!OpenDocument

Hier findest du ein Bibliothek mit allerlei @-Funktionen in Skript.
ReplaceSubString ist auch dabei.


Axel
Titel: Re:@Middle in Lotus Script?
Beitrag von: forrest g am 19.05.03 - 14:30:55
Hi,

eine Möglichkeit ist zb die funktion INSTR und dann den string auseinandernehmen...


InStr function  

Returns the position of the character that begins the first occurrence of one string within another string.
Syntax
InStr ( [ begin , ] string1 , string2 [, compMethod ] )
Titel: Re:@Middle in Lotus Script?
Beitrag von: Obrac am 19.05.03 - 14:42:44
Das mit den Bibliotheken hat bereits funktioniert, Danke Euch allen.
Titel: Re:@Middle in Lotus Script?
Beitrag von: Glombi am 20.05.03 - 09:59:28
Seit R5 gibt es die Funktionen

strLeft, strRight, strLeftback und strRightBack

die einem das Leben leichter machen, da man dort den Trennstring eingeben kann. Man muss nicht erst mit Instr.. die Position bestimmen und dann mit Left$ etc. das rausfummeln.

Um @Functions in Script zu verwenden, würde ich immer Evaluate nehmen, dann kann man sich etliches sparen:

Beispiel
dim ret_eval as Variant
dim ret_str as String
ret_eval = Evaluate( |@ReplaceSubstring("String mit .";".";",")| )
ret_str = ret_eval(0)

Dann steht in ret_str "String mit ,"
Titel: Re:@Middle in Lotus Script?
Beitrag von: Obrac am 20.05.03 - 16:15:33
Ja, nur Evaluate bringt mir in dem Fall nicht viel, weil ich innerhalb von Evaluate keine Lotus Script Variablen verwenden kann.
Titel: Re:@Middle in Lotus Script?
Beitrag von: Axel am 20.05.03 - 16:25:21
Hi,

du kannst sehr wohl Scriptvariablen und Evaluate benutzen.

Schau dir mal folgende Funktion an:

Function SplittedStr ( ImplodedStr$, StrDelimiter$) as variant

SplittedStr = Evaluate(|@Explode("| & ImplodedStr & |";"| & StrDelimiter & |")|)

End function


Axel