DISKUSE
Jak omezit vkládání textu do textového pole z kláv... 
04.04.2024 13:55

HCL Domino na NAS QNAP (1)
20.02.2024 10:34

Vložení přílohy do dokumentu MS Word (3)
14.02.2024 20:54

Problěmy s diakritikou. (4)
06.02.2024 17:34

AI pomocnici 
15.01.2024 10:16

Export do pdf souboru (1)
12.01.2024 23:11

Agent přestává fungovat (1)
18.11.2023 06:42

RTF - Computed (2)
19.10.2023 13:00


ŠKOLENÍ


REKLAMA


KOMENTÁŘE

Ekvivalent @ReplaceSubstring v LotusScriptu

Vytisknout článek

Nesmírně užitečnou funkcí formulového jazyka je @ReplaceSubstring a je kupodivu, že její ekvivalent nebyl implementován i v LotusScriptu. Většina programátorů si jej samozřejmě napsala jako funkci, tady je jedna z poměrně efektivních implementací (pochází z diskuzního fóra).


Nesmírně užitečnou funkcí formulového jazyka je @ReplaceSubstring a je kupodivu, že její ekvivalent nebyl přímo implementován i v LotusScriptu. Většina programátorů si jej samozřejmě napsala jako funkci, tady je jedna z poměrně efektivních implementací (pochází z diskuzního fóra).

Funkce má tři vstupní parametry:

sourcestr - prohledávaný řetězec
fromstr - nahrazovaný řetězec
tostr - nahrazující řetězec

Výstupem je nový (nahrazený) řetězec.

Například:
newString = ReplaceSubstring("abcdef", "b", "x")
vrátí newString s hodnotou "axcdef".

Function ReplaceSubstring(sourcestr As String, fromstr As String, tostr As String) As String
Dim tempstr As String
tempstr = sourcestr
If Len(fromstr) = 0 Then
ReplaceSubstring = sourcestr
Exit Function
End If
While Instr(tempstr, fromstr) <> 0
tempstr = Left(tempstr, Instr(tempstr, fromstr)-1) & tostr & Mid(tempstr, Instr(tempstr, fromstr)+Len(fromstr))
Wend
ReplaceSubstring = tempstr
End Function

Pozor na to, že funkce nepracuje na rozdíl od jejího ekvivalentu ve formulovém jazyku s "listy", resp. s poli jako jejich obdobou, ale pouze s řetězci.


Autor: Zdeněk Michálek
Datum: 20.03.2001


Sdílet článek Seznam komentářů

Zatím nebyl přidán žádný komentář. Buďte první!