Ik heb de volgende Custom-Function gecreëerd om non-printing characters uit de veldinvoer te filteren. In scripts werkt deze functie ook prima en ik denk dat het in velddefinities het ook werkt. (Deze functie is zinvol wanneer gebruikers veel informatie van webbrowsers en/of andere applicatie kopiëren en plakken in FileMaker en zo voorkom je dat bij het afdrukken rare characters verschijnen en in sommige gevallen zelfs dat FM crasht zodra je een record probeert weer te geven.).
De functie:
// Functie: CF_FilterNonPrintingASCII ( Text ; Iteration )
// Filter de non-printing characters van de lijst (lst) uit de aangeboden tekst middels de char-equivalent m.u.v. TAB (9), CR (10) en de LF (13)
Let ( [
lst = "0¶1¶2¶3¶4¶5¶6¶7¶8¶11¶12¶14¶15¶16¶17¶18¶19¶20¶21¶22¶23¶24¶25¶26¶27¶28¶29¶30¶31" ;
N = Int ( Iteration ) + 1 ;
V = GetValue ( lst ; N ) ;
C = Evaluate ( "Char(" & V & ")" ) ;
L = ValueCount ( lst ) ;
R = Substitute ( Text ; [ C ; "" ] )
] ;
If ( N > L ; Substitute ( Text ; [ Char ( 10 ) ; ¶ ] ; [ Char ( 13 ) ; ¶ ] ) ; CF_FilterNonPrintingASCII ( R ; N ) )
)
Het probleem:
Zoals gezegd werkt de functie in scripts en velddefinities, maar in de dataviewer gebeurt er iets raars. Zodra je daar de functie in gebruikt en op "Evaluate Now" klikt, dan krijg je de foutmelding
A number, text constant, field name or "(" is expected here.
terwijl in het resultaat de functie wel wordt uitgevoerd. Ik ben wel zover dat ik weet dat het probleem in feite wordt veroorzaakt door
Evaluate ( "Char(" & V & ")" )
maar ik weet niet hoe ik dat moet oplossen.
Het enige alternatief waar ik zelf op uitkom zou zijn een functie te maken zoals:
maar dat is net wat ik niet wil en bovendien gebruik ik de Evaluate-functie wel vaker en ook in recusieve functies en daar krijg ik geen enkele foutmelding bij gebruik in de dataviewer.
Dus ik ben benieuwd of iemand hier een oplossing voor weet.
Question
menno
Gegeven:
Ik heb de volgende Custom-Function gecreëerd om non-printing characters uit de veldinvoer te filteren. In scripts werkt deze functie ook prima en ik denk dat het in velddefinities het ook werkt. (Deze functie is zinvol wanneer gebruikers veel informatie van webbrowsers en/of andere applicatie kopiëren en plakken in FileMaker en zo voorkom je dat bij het afdrukken rare characters verschijnen en in sommige gevallen zelfs dat FM crasht zodra je een record probeert weer te geven.).
De functie:
Het probleem:
Zoals gezegd werkt de functie in scripts en velddefinities, maar in de dataviewer gebeurt er iets raars. Zodra je daar de functie in gebruikt en op "Evaluate Now" klikt, dan krijg je de foutmelding
terwijl in het resultaat de functie wel wordt uitgevoerd. Ik ben wel zover dat ik weet dat het probleem in feite wordt veroorzaakt door
maar ik weet niet hoe ik dat moet oplossen.
Het enige alternatief waar ik zelf op uitkom zou zijn een functie te maken zoals:
maar dat is net wat ik niet wil en bovendien gebruik ik de Evaluate-functie wel vaker en ook in recusieve functies en daar krijg ik geen enkele foutmelding bij gebruik in de dataviewer.
Dus ik ben benieuwd of iemand hier een oplossing voor weet.
Dank alvast en mvg, Menno
Edited by GuestLink to comment
3 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.