Control of Text Fields.
Roger Guay
irog at mac.com
Fri Nov 5 18:03:16 EDT 2021
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 at 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 at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
More information about the use-livecode
mailing list