Zoek- en vervang functie

Meer
29 dec 2021 19:21 #43727 door Joost
Zoek- en vervang functie werd gestart door Joost
Is er voor gebruik in de sjablonen een Zoek- en vervangfunctie beschikbaar?

Vergelijkbaar met wat _PATH doet (spaties vervangen door _), maar dan met vrije keus wat te zoeken en te vervangen.

Groeten
Joost

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

Meer
29 dec 2021 23:35 #43732 door Han Kortekaas
Beantwoord door Han Kortekaas in topic Zoek- en vervang functie
Kijk eens in de Handleiding sjablonen -> Tab Aldaer codelijsten -> _SETIN of via Handleiding sjablonen -> Voorbeelden -> _SETIN

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

Meer
30 dec 2021 05:53 #43735 door De Coster René
Beantwoord door De Coster René in topic Zoek- en vervang functie
Je zou ook kunnen met Notepad++ werken en daarin zoeken en vervangen.

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

Meer
30 dec 2021 09:04 #43738 door Joost
Beantwoord door Joost in topic Zoek- en vervang functie
Dag René,

Ik wil dit graag automatisch doen bij genereren van het rapport.

Vriendelijke groet
Joost

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

Meer
30 dec 2021 09:05 - 30 dec 2021 09:06 #43739 door Joost
Beantwoord door Joost in topic Zoek- en vervang functie
Dag Han,

Als ik de (beknopte) uitleg goed begrijp, moet ik weten op welke positie (index) het karakter staat dat ik wil vervangen? Maar dat weet ik vooraf niet.

Vriendelijke groet
Joost
Laatst bewerkt 30 dec 2021 09:06 door Joost.

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

Meer
30 dec 2021 09:14 - 30 dec 2021 09:31 #43740 door Han Kortekaas
Beantwoord door Han Kortekaas in topic Zoek- en vervang functie
Datgene wat je zoekt kun je met _SETORDE de index daarvan in een set bepalen.

Aanvulling:
Uit de Handleiding, pagina Voorbeelden.

Doel map Voorbeelden:


In deze rubriek zijn alle sjablonen opgenomen onder de Tag naam zoals die in de 'Handleiding sjablonen' is beschreven.
Door op de naam te klikken wordt het script uitgevoerd. Bedenk daarbij dat soms wordt uitgegaan van de persoon in het hoofdvenster en een andere keer van het totale stamboombestand dat op dat moment geopend is.

Wilt U de code zien dan kan dat door het sjabloon te starten met de toetscombinatie SHIFT + CTRL + dubbelklik op de naam. Het sjabloon wordt dan in uw editor geopend, mits u die editor geassocieerd heeft aan de bestandsextensie *.asj

Deze voorbeelden van Tags zijn geen super uitgewerkte sjablonen; zij dienen slechts als aanvulling op de handleiding en moeten een idee geven van de mogelijkheden.

Laatst bewerkt 30 dec 2021 09:31 door Han Kortekaas.

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

Meer
30 dec 2021 11:12 #43741 door Joost
Beantwoord door Joost in topic Zoek- en vervang functie
Dag Han,

Klopt het dat er hierbij alleen naar hele termen in de set gekeken wordt?
Als ik het voorbeeld aanpas om b.v.
ar in Carel te vervangen naar
ur (dus Curel), dan werkt dat niet.

Vriendelijke groet
Joost

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

Meer
30 dec 2021 11:20 #43742 door Han Kortekaas
Beantwoord door Han Kortekaas in topic Zoek- en vervang functie
Dat klopt, doch je kunt ook ontleden in stukken van tekst.
Advies is om eens de CODElijst door te nemen. Handleiding -> Codelijsten -> in de kop 'Alabetische codelijst"

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

Meer
30 dec 2021 13:39 - 30 dec 2021 13:41 #43750 door Joost
Beantwoord door Joost in topic Zoek- en vervang functie
Goedemidag Han,

Na enig puzzelen heb ik een REPLACE functie geschreven

_FUNCBEGI(_S_REPLACE, BASESTR, FINDCHR, REPLACECHR)
:.add str to variable to leave original intact
_SETADD( str , BASESTR )
_SETBEGI( str )
[:_SETFILL( x , [:_SETSTRI:] , FINDCHR ):]
_SETEND
_SETBEGI(x)[:_SETSTRI:]._SUBS(1,0)[:[?_NUMB < _AMOU?]?_BEGI[&REPLACECHR&]_END:]_SETEND
_FUNCEND
:.


Met deze twee functies kunnen we de spatie vervangen.
_SETDEF( lijst )
_SETADD( lijst , "Den Bosch" )
_SETDEF( str )
_SETDEF( x )


_S_REPLACE([:_SETEXP( lijst , 0, _SETSTRI):]," ","")

We kunnen de spatie ook vervangen door een ander teken, b.v. de "-"
_S_REPLACE([:_SETEXP( lijst , 0, _SETSTRI):]," ","-")
Laatst bewerkt 30 dec 2021 13:41 door Joost.

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

Meer
30 dec 2021 16:41 #43755 door Han Kortekaas
Beantwoord door Han Kortekaas in topic Zoek- en vervang functie
Joost,
u bent kennelijk een kenner van het door Aldfaer gebruikte script.
Ik ken de _FUNCBEGI slechts met 2 parameters en u gebruikt er 4
ook de aanroep van de s_functie(lijst van oorsprong) is mij onbekend.

De functie overigens zou ik niet bestempelen als een zoek/vervang omdat de vervanging slechts éénmalig is en niet wordt weggeschreven, maar dat terzijde.

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

Meer
30 dec 2021 17:11 #43756 door Joost
Beantwoord door Joost in topic Zoek- en vervang functie
Dag Han,

Ik heb andere sjablonen bekeken om inspiratie op te doen.

Zoals ik het zie kan je een eigen functie maken, in dit geval _S_REPLACE(), waar je parameters aan mee kan geven, in mijn geval
BASESTR: de string waarin men een karakter wil vervangen, b.v. "Den Bosch"
FINDCHR, : het karakter dat men wil vervangen, b.v. " " (spatie)
REPLACECHR: het karakter dat in de plaats komt van het te vervangen karakter, b.v. "-"

Het resultaat van
_SETDEF( lijst )
_SETADD( lijst , "Den Bosch" )
_S_REPLACE([:_SETEXP( lijst , 0, _SETSTRI):]," ","-")


is dan

"Den-Bosch"

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

Meer
30 dec 2021 17:21 #43757 door Paul Kallenberg
Beantwoord door Paul Kallenberg in topic Zoek- en vervang functie
Han, Joost,

Dat klopt, je kan een willekeurig aantal parameters meegeven aan _FUNCBEGI. De eerste is de functienaam, de andere zijn in de functie te gebruiken argumenten.

Paul
De volgende gebruiker (s) zei dank u: Joost

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

Gemaakt door Kunena