Marsau Posted June 2, 2021 Posted June 2, 2021 Vind het leuk om met jullie een truukje te delen, die ik al een tijdje met veel plezier toepas. Neem natuurlijk het risico dat jullie het in jullie tomeloze creativiteit zelf al lang bedacht hebben, maar gok er nu nog maar even op dat dit nog niet zo is. De aanleiding: uit zichzelf kan FileMaker in tekstvelden geen URL’s detecteren en dus ook niet openen. Ik heb dat altijd een wat hinderlijk gebrek gevonden, juist omdat we nu zo gewend zijn geraakt om altijd URL's te kunnen aanklikken. Je kan echter vrij gemakkelijk URL’s klikbaar maken door een combinatie van een custom functie en een klein (getriggered) scriptje. Het werkt zolang gebruik wordt gemaakt van het openingsmoment van het veld. Door via een het-functie de cursorpositie op te vragen kan razendsnel worden bepaald of er op een URL wordt geklikt, en zo ja, welke dat dan is. Dit vereist wel dat het de URL van zichtbaar is in een nog gesloten veld, maar dat is niet per se bezwaarlijk. De (parameterloze) custom functie is: GetURLAtSelection Let ([ content = Get(InhoudActiefVeld) ; cursorPos = Get(StartActieveSelectie) ; pos0 = Max ( Position ( content ; "¶"; cursorPos; -1); Position ( content ; " "; cursorPos; -1) ) + 1 ; pos1 = Min ( Position ( content ; "¶"; cursorPos; 1); Position ( content ; " "; cursorPos; 1) ) ; pos1 = If ( pos1 = 0; Length (content) + 1; pos1) ; rip = pos1 - pos0 ; result = Middle ( content ; pos0 ; rip ) ] ; If ( Left ( result; 7 ) = "http://" or Left ( result; 8 ) = "https://"; result; "" ) ) // end let De URL-detector werkt nu uitsluitend met http en https. Maar dat kan je vanzelfsprekend uitbreiden met andere protocollen. Maak vervolgens een OnObjectEnter trigger aan voor het volgende scriptje: # process URL # Variabele instellen [ $p ; Waarde: GetURLAtSelection ] If [ not IsEmpty ( $p ) ] URL openen [ Met dialoogvenster: Uit ; $p ] Records/verzoeken vastleggen [ Met dialoogvenster: Aan ] End If Script afsluiten [ Tekstresultaat: ] Je kan deze trigger aan elk veld koppelen waaraan je deze functionaliteit wilt toevoegen. Have fun! Quote
Banach Posted June 4, 2021 Posted June 4, 2021 Geweldig! Hartelijk bedankt dat je dit hebt willen delen. Quote
Marsau Posted June 14, 2021 Author Posted June 14, 2021 Nog een aanvullende opmerking: deze techniek is eigenlijk ook superhandig voor velden met enkel web- of mailadressen (mailto:). Gebruiker moet simpelweg op de inhoud kunnen klikken op de URL te openen. Dit lijkt mij de snelste manier om deze functionaliteit toe te voegen aan een applicatie. Voeg eventueel een klein edit-knopje toe om gewoon naar het veld te gaan. Quote
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.