That is damn handy. That could be massaged to work with a Livecode field too. I’m going to work on that.
Bob S > On Mar 6, 2024, at 10:13 AM, Ralph DiMola via use-livecode > <use-livecode@lists.runrev.com> wrote: > > Dan, > > Nice... thanks! > > Ralph DiMola > IT Director > Evergreen Information Services > rdim...@evergreeninfo.net > > -----Original Message----- > From: use-livecode [mailto:use-livecode-boun...@lists.runrev.com] On Behalf > Of Dan Friedman via use-livecode > Sent: Wednesday, March 06, 2024 11:15 AM > To: How to use LiveCode > Cc: Dan Friedman > Subject: Re: Cursor Placement in MobileControl > > Panos, > > Thank you for the suggestion! That worked out well! For anyone > interested, here's the snippet for formatting a phone number as you type in > a mobile native field control: > > //this assumes that the mobileControl type for Android is "multiline" and > the mobileSetKeyboardType has been set to "email" > > on inputTextChanged > put mobileControlTarget() into pField > put mobileControlGet(pField,"text") into pText > > if pField = "phoneNumber" then > put "" into fText > put numbersOnly(pText) into pText > > if char 1 of pText = "1" then > put "" into fText > mobileControlSet "phoneNumber","text",fText > androidGoLastChar "phoneNumber",fText > put fText into dataEntered["phone"] > exit inputTextChanged > end if > > if the number of chars in pText < 4 then > put pText into fText > mobileControlSet "phoneNumber","text",fText > androidGoLastChar "phoneNumber",fText > else > if (the number of chars in pText > 3) then > put "(" & char 1 to 3 of pText & ")" into char 1 to 3 of fText > put " " & char 4 to 6 of pText after fText > end if > if the number of chars in pText > 6 then > put "-" & char 7 to 10 of pText after fText > end if > > mobileControlSet "phoneNumber","text",fText > androidGoLastChar "phoneNumber",fText > end if > end if > end inputTextChanged > > function numbersOnly pNum > //returns only the numbers in pNum > put "" into fNum > repeat for each char c in pNum > if isNumber(c) then > put c after fNum > end if > end repeat > > return fNum > end numbersOnly > > on androidGoLastChar mControl,xText > if ("Android" is in the platform) then > mobileControlSet mControl,"selectedRange",(the number of chars in > xText+1,0) > end if > end androidGoLastChar > > > Thank you! > > Dan Friedman > CEO, ClearVision Technologies, LLC > Voice: 909/484-2052 > http://www.clearvisiontech.com > > > From: use-livecode <use-livecode-boun...@lists.runrev.com> on behalf of > panagiotis merakos via use-livecode <use-livecode@lists.runrev.com> > Date: Tuesday, March 5, 2024 at 9:45 AM > To: How to use LiveCode <use-livecode@lists.runrev.com> > Cc: panagiotis merakos <merak...@gmail.com> > Subject: Re: Cursor Placement in MobileControl Hello Dan, > > I take it you are formatting the text in inputTextChanged? > > Unfortunately yes, on Android calling > > mobileControlSet "phoneNumber","text", pText > > puts the cursor in the beginning of the text: > > https://quality.livecode.com/show_bug.cgi?id=24055 > > RE using the selectedRange with mobile native controls, I think this > property is supported only on multiline input fields. So I suppose you could > make the fields to be multiline and give it a try. > > Kind regards, > Panos > -- > > On Tue, 5 Mar 2024 at 18:53, Dan Friedman via use-livecode < > use-livecode@lists.runrev.com> wrote: > >> I am trying to create a field on mobile (iOS and Android) that will >> format a phone number as your type (client request). I am able to do >> this on iOS as the command: mobileControlSet >> "phoneNumber","text",pText puts the cursor AFTER the text so the user >> can simply continue typing. But, on Android, the cursor is placed at the > beginning of the text after the >> mobileControlSet command is called. Is there a way to set the position > of >> the cursor on a native mobile text field? >> >> I did notice that the Android Native Field widget has a selectedRange >> property. Can I use this property on a native Android control? And, >> can I set the selectedRange to "16,15" to set the cursor location, not >> select text? >> >> Why not just use the Android Native Field widget, you ask? I will if I >> have to. but I prefer to use the native control as it is >> cross-platform and I don't need to case out for which platform we're >> on. You would need to create the control and hide the widget for iOS >> and show the widget for Android. I'll also have to case out the >> setting and getting of the text as they have different methods. I'll do > this if I have to, but I'd rather >> have a single code set and not have to manage/update separate methods. I >> would use the standard LC field, but client wants the standard >> hold->popupMenu->paste command to work. >> >> Any thoughts or ideas? >> >> -Dan >> _______________________________________________ >> 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 > _______________________________________________ > 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 _______________________________________________ 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