Arnoud Geplaatst: 23 maart 2008 Delen Geplaatst: 23 maart 2008 (aangepast) Het volgende krijg ik maar niet voor elkaar: Recursie is toch wel even wennen vind ik. Ik heb een String. Nu wil ik d.m.v. een recursieve CF de string doorlopen en elk karakter vervangen door een bepaalde letter stel voor de eenvoud A, in werkelijkheid is dit een Case() die bepaalt waarmee wordt vervangen. Dit heb ik, het probleem zit 'm in het opschuiven in de String. i geef ik als beginwaarde 0. CF(String; i) = If ( i < Length(String)+1 ; Replace ( String ; Left (String; i ) ; 1 ; "x" ) & CF(String ; i + 1 ) ; "" ) //EndIf gr, Arnoud 24 maart 2008 aangepast door Gast Quote Link naar reactie
0 Arnoud Geplaatst: 24 maart 2008 Auteur Delen Geplaatst: 24 maart 2008 OK, het is even een andere manier van denken maar dit is hem dan, mijn eerste recursieve CF. //StringReplace ( String ; id ) //Arnoud, 24-3-2008 //vervangt van een getalelnreeks het getal 3 door DRIE //1234 wordt 12DRIE4 // Initieel id = 1 Let ( [ Position = Middle ( String ; id ; 1 ) ; EndString = Length (String) + 1 ; Replacement = Case ( Position = 3 ; "DRIE" ; Position ) ; NewCaracter = Replace ( Position ; 1 ; 1 ; Replacement ) ] ; If ( id < EndString ;NewCaracter & StringReplace( String ; id + 1 ) ; "" ) //endIf ) //endLet Quote Link naar reactie
0 Peter Wagemans Geplaatst: 24 maart 2008 Delen Geplaatst: 24 maart 2008 Op zichzelf een goeie oefening, Arnoud, maar denk erom dat je dit ook kan via de ingebouwde FileMaker Substitute() functie. Kijk ook eens op de site van Brian Dunning ( http://briandunning.com ), daar is een repository gemaakt van allerlei custom functies die je als studiemateriaal kan gebruiken. Quote Link naar reactie
0 Arnoud Geplaatst: 24 maart 2008 Auteur Delen Geplaatst: 24 maart 2008 Ik kon zo snel niets anders verzinnen vandaar dat ik op een substituut van de Substitute uitkwam... De site van Brian Dunning is een goeie tip Peter daar zit erg leuk spul tussen. Voor de beginners onder ons staan er ook (eenvoudige) voorbeeldjes op deze site: http://clevelandconsulting.com/support/viewforum.php?f=13 gr, Arnoud Quote Link naar reactie
Vraag
Arnoud
Het volgende krijg ik maar niet voor elkaar:
Recursie is toch wel even wennen vind ik.
Ik heb een String.
Nu wil ik d.m.v. een recursieve CF de string doorlopen en
elk karakter vervangen door een bepaalde letter stel voor de eenvoud
A, in werkelijkheid is dit een Case() die bepaalt waarmee wordt vervangen.
Dit heb ik, het probleem zit 'm in het opschuiven in de String.
i geef ik als beginwaarde 0.
gr,
Arnoud
aangepast door GastLink naar reactie
3 antwoorden op deze vraag
Aanbevolen berichten
Doe mee aan dit gesprek
Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.