- Berichten: 391
- Bedankjes 128
variabele
- Carel Plantagie
-
- Offline
Lees minder
Lees meer
Re: variabele
25 nov 2021 21:10
Dit bericht vond ik wel interessant en omdat ik in het verleden ook zoiets nodig had, leek me dat nu dit wel realiseerbaar zou moeten zijn met de bestaande sjablooncode. Dus heb ik onderstaan in elkaar geflanst. Doe er je voordeel mee.
Code:
_SETDEF(S_string)
_SETDEF(S_substring1)
_SETDEF(S_substring2)
_SETDEF(S_substring3)
_VARDEF(V_lengte)
_VARDEF(V_vanaf)
_SETADD(S_string, "Amsterdam")
_VARIN (V_vanaf, 3)
_VARIN (V_lengte, 4)
:. Doel, haal tekstfragment "ster" uit een tekst (c.q. 1e voorkomen in een set) m.b.v. 2 (tekst)variabelen
_SETADD(S_substring1, [:F_MidString("Amsterdam", "3", "4"):] )
_SETADD(S_substring2, [:F_MidString("Amsterdam",[:_VAROUT(V_vanaf):],[:_VAROUT(V_lengte):]):] )
_SETADD(S_substring3, [:F_MidString([:_SETEXP(S_string,1,_SETSTRI):],[:_VAROUT(V_vanaf):],[:_VAROUT(V_lengte):]):] )
:. Toon resultaat (3x hetzelfde tekstfragment; niet meer en niet minder)
1. _SETBEGI(S_substring1)[::](_NUMB) _SETSTRI[::]_SETEND
2. _SETBEGI(S_substring2)[::](_NUMB) _SETSTRI[::]_SETEND
3. _SETBEGI(S_substring3)[::](_NUMB) _SETSTRI[::]_SETEND
_FUNCBEGI(F_MidString, P_tekst, P_vanaf, P_aantal)
:. Definieer hulpvelden
_SETDEF(SF_letters, _SETDUPL)
_VARDEF(VF_teller)
_VARDEF(VF_totmet)
:. Haal letters uit tekst
_SETFILL(SF_letters, P_tekst, 1)
:. Initialiseer telveld en eindposititie
_VARIN (VF_teller, 1)
_VARIN (VF_totmet, [:P_vanaf:])
_VARADD(VF_totmet, [:P_aantal:])
_VARSUB(VF_totmet, 1)
_SETBEGI(SF_letters)
[?_VAROUT(VF_teller)<=_VAROUT(VF_totmet)?]?_BEGI
[?_VAROUT(VF_teller)>=P_vanaf?]?_BEGI
[:_SETSTRI:]
_END
_END
_VARADD(VF_teller, 1)
_SETEND
:. Verwijder hulpvelden
_SETDEL(SF_letters)
_VARDEL(VF_teller)
_VARDEL(VF_totmet)
_FUNCEND
- Francke
- Auteur
Lees minder
Lees meer
- Bedankjes 0