variabele

Meer
25 nov 2021 21:10 #43312 door Carel Plantagie
Beantwoord door Carel Plantagie in topic variabele
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.
_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

Gelieve Inloggen of een account aanmaken om deel te nemen aan het gesprek.

  • Francke
  • Onderwerp Auteur
  • Bezoeker
  • Bezoeker
25 nov 2021 23:13 #43313 door Francke
Beantwoord door Francke in topic variabele
Bedankt voor de 3-sterren oplossing

Gelieve Inloggen of een account aanmaken om deel te nemen aan het gesprek.

Gemaakt door Kunena