Thank you so much, Alex. This indeed does the trick. And thanks also to Richmond and Klaus for spending time on this.
Roger > On Nov 5, 2021, at 2:08 PM, Alex Tweedly via use-livecode > <use-livecode@lists.runrev.com> wrote: > > > On 05/11/2021 20:18, Roger Guay via use-livecode wrote: >> Alex, I did not see that and it is not in my mailbox. Would you please send >> it again? >> >> Thanks, >> Roger > > Here it is again, below. > > Or download the sample stack at > https://tweedly.org/downloads/calcbuttons.livecode > > - not as pretty as Richmond's, doesn't even have all the digits ...) > > Previously I said: > > Here's an expanded snippet. The input is in a field called "fInput", the > buttons are all in a group, and handled by the group script (saves having > many tiny almost identical scripts). > > The script uses the name of the target - but since I would never, ever have > a control named as a number, the digit buttons use their label instead. > > If the user cannot select a chunk of text then some of this could be > shortened. > > >> on mouseup >> if the target = me then >> -- click in the background in the group >> exit mouseup >> end if >> local tChunk >> focus on fld "fInput" >> put the selectedchunk into tChunk >> if the label of the target is a number then >> put the label of the target into the selectedchunk >> exit mouseUp >> end if >> local tFirst, tLast >> put word 2 of tChunk into tFirst >> put word 4 of tChunk into tLast >> switch the short name of the target >> case "go left" >> select before char (min(tFirst, tLast)) of fld "fInput" >> break >> case "go right" >> select after char (max(tFirst, tLast)) of fld "fInput" >> break >> case "Del" >> -- remove the selection, or the char *after* the ibeam >> if tFirst <= tLast then >> put empty into char tFirst to tLast of fld "fInput" >> else >> put empty into char (tFirst) of fld "fInput" >> end if >> break >> case "BS" >> -- remove the selection, or the char *before* the ibeam >> if tFirst <= tLast then >> put empty into char tFirst to tLast of fld "fInput" >> else >> put empty into char (tFirst-1) of fld "fInput" >> end if >> break >> -- all the other keys !! >> default >> end switch >> end mouseup > > Alex. > > _______________________________________________ > use-livecode mailing list > use-livecode@lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription > preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode