From bobsneidar at iotecdigital.com Fri Mar 1 11:05:59 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 1 Mar 2024 16:05:59 +0000 Subject: sideloading updates to mobile In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> Isn’t the Library sandboxed? Bob S On Feb 29, 2024, at 6:35 PM, Mike Kerner via use-livecode wrote: any reason to store in documents instead of in library? it seems like there might be less of a chance of the user misusing the Files app to break the app. On Thu, Feb 29, 2024 at 5:32 PM Mike Kerner > wrote: ah. that's a better way of handling this. i was going to have the app check the documents folder for updates, before loading a stack, but if i keep the source stacks, there, it will work better. On Thu, Feb 29, 2024 at 3:10 PM J. Landman Gay via use-livecode < use-livecode at lists.runrev.com> wrote: You can't add or change anything inside the app bundle so downloaded files have to go in specialFolderPath("documents"). Copy the originals from the resources folder to the documents folder on first launch so you always have a known file path location. Any file in documents will be overwritten with the new download if the file name is the same. From jacque at hyperactivesw.com Fri Mar 1 11:31:35 2024 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 01 Mar 2024 10:31:35 -0600 Subject: sideloading updates to mobile In-Reply-To: <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> Message-ID: <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Both library and documents are sandboxed, I think all the listed folders are. I mostly use documents so that I have the same file paths on both iOS and Android since I generally need to build for both. But either one will work. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On March 1, 2024 10:08:15 AM Bob Sneidar via use-livecode wrote: > Isnt the Library sandboxed? > > Bob S > > > On Feb 29, 2024, at 6:35 PM, Mike Kerner via use-livecode > wrote: > > any reason to store in documents instead of in library? > it seems like there might be less of a chance of the user misusing the > Files app to break the app. > > On Thu, Feb 29, 2024 at 5:32PM Mike Kerner > > > wrote: > > ah. that's a better way of handling this. i was going to have the app > check the documents folder for updates, before loading a stack, but if i > keep the source stacks, there, it will work better. > > On Thu, Feb 29, 2024 at 3:10PM J. Landman Gay via use-livecode < > use-livecode at lists.runrev.com> wrote: > > You can't add or change anything inside the app bundle so downloaded > files > have to go in specialFolderPath("documents"). Copy the originals from the > resources folder to the documents folder on first launch so you always > have > a known file path location. Any file in documents will be overwritten > with > the new download if the file name is the same. > > > _______________________________________________ > 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 From bobsneidar at iotecdigital.com Fri Mar 1 11:40:03 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 1 Mar 2024 16:40:03 +0000 Subject: sideloading updates to mobile In-Reply-To: <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> Hell that means EVERYTHING is sandboxed! I need to go buy a pail and shovel! Bob S > On Mar 1, 2024, at 8:31 AM, J. Landman Gay via use-livecode wrote: > > Both library and documents are sandboxed, I think all the listed folders are. I mostly use documents so that I have the same file paths on both iOS and Android since I generally need to build for both. But either one will work. > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > On March 1, 2024 10:08:15 AM Bob Sneidar via use-livecode wrote: > >> Isn’t the Library sandboxed? >> >> Bob S >> >> >> On Feb 29, 2024, at 6:35 PM, Mike Kerner via use-livecode wrote: >> >> any reason to store in documents instead of in library? >> it seems like there might be less of a chance of the user misusing the >> Files app to break the app. >> >> On Thu, Feb 29, 2024 at 5:32 PM Mike Kerner > >> wrote: >> >> ah. that's a better way of handling this. i was going to have the app >> check the documents folder for updates, before loading a stack, but if i >> keep the source stacks, there, it will work better. >> >> On Thu, Feb 29, 2024 at 3:10 PM J. Landman Gay via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >> You can't add or change anything inside the app bundle so downloaded >> files >> have to go in specialFolderPath("documents"). Copy the originals from the >> resources folder to the documents folder on first launch so you always >> have >> a known file path location. Any file in documents will be overwritten >> with >> the new download if the file name is the same. >> >> >> _______________________________________________ >> 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 > > > > > _______________________________________________ > 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 From jacque at hyperactivesw.com Fri Mar 1 11:45:22 2024 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 01 Mar 2024 10:45:22 -0600 Subject: sideloading updates to mobile In-Reply-To: <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> Message-ID: <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Right. In spite of Android's "external documents" option, which I needed, it's still in the sandbox. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On March 1, 2024 10:42:04 AM Bob Sneidar via use-livecode wrote: > Hell that means EVERYTHING is sandboxed! I need to go buy a pail and shovel! > > Bob S > > >> On Mar 1, 2024, at 8:31 AM, J. Landman Gay via use-livecode >> wrote: >> >> Both library and documents are sandboxed, I think all the listed folders >> are. I mostly use documents so that I have the same file paths on both iOS >> and Android since I generally need to build for both. But either one will work. >> >> -- >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> HyperActive Software | http://www.hyperactivesw.com >> On March 1, 2024 10:08:15 AM Bob Sneidar via use-livecode >> wrote: >> >>> Isnt the Library sandboxed? >>> >>> Bob S >>> >>> >>> On Feb 29, 2024, at 6:35 PM, Mike Kerner via use-livecode >>> wrote: >>> >>> any reason to store in documents instead of in library? >>> it seems like there might be less of a chance of the user misusing the >>> Files app to break the app. >>> >>> On Thu, Feb 29, 2024 at 5:32PM Mike Kerner >>> > >>> wrote: >>> >>> ah. that's a better way of handling this. i was going to have the app >>> check the documents folder for updates, before loading a stack, but if i >>> keep the source stacks, there, it will work better. >>> >>> On Thu, Feb 29, 2024 at 3:10PM J. Landman Gay via use-livecode < >>> use-livecode at lists.runrev.com> wrote: >>> >>> You can't add or change anything inside the app bundle so downloaded >>> files >>> have to go in specialFolderPath("documents"). Copy the originals from the >>> resources folder to the documents folder on first launch so you always >>> have >>> a known file path location. Any file in documents will be overwritten >>> with >>> the new download if the file name is the same. >>> >>> >>> _______________________________________________ >>> 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 >> >> >> >> >> _______________________________________________ >> 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 > > _______________________________________________ > 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 From bobsneidar at iotecdigital.com Fri Mar 1 11:48:25 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 1 Mar 2024 16:48:25 +0000 Subject: sideloading updates to mobile In-Reply-To: <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: They should stop calling it a Sandbox then. It’s the entire beach! LOL! Bob S On Mar 1, 2024, at 8:45 AM, J. Landman Gay via use-livecode wrote: Right. In spite of Android's "external documents" option, which I needed, it's still in the sandbox. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On March 1, 2024 10:42:04 AM Bob Sneidar via use-livecode wrote: From jacque at hyperactivesw.com Fri Mar 1 12:37:19 2024 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 01 Mar 2024 11:37:19 -0600 Subject: sideloading updates to mobile In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: <18dfb178498.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> But it's a private beach. No trespassing. Guards. Barbed wire. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On March 1, 2024 10:50:17 AM Bob Sneidar via use-livecode wrote: > They should stop calling it a Sandbox then. Its the entire beach! LOL! > > Bob S > > > On Mar 1, 2024, at 8:45 AM, J. Landman Gay via use-livecode > wrote: > > Right. In spite of Android's "external documents" option, which I needed, > it's still in the sandbox. > > -- > Jacqueline Landman Gay | > jacque at hyperactivesw.com > HyperActive Software | > http://www.hyperactivesw.com > On March 1, 2024 10:42:04 AM Bob Sneidar via use-livecode > wrote: > > > > _______________________________________________ > 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 From MikeKerner at roadrunner.com Fri Mar 1 12:37:41 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Fri, 1 Mar 2024 12:37:41 -0500 Subject: sideloading updates to mobile In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: i'm going to have to mess with this, some more. i didn't think documents is sandboxed. On Fri, Mar 1, 2024 at 11:49 AM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > They should stop calling it a Sandbox then. It’s the entire beach! LOL! > > Bob S > > > On Mar 1, 2024, at 8:45 AM, J. Landman Gay via use-livecode < > use-livecode at lists.runrev.com> wrote: > > Right. In spite of Android's "external documents" option, which I needed, > it's still in the sandbox. > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com jacque at hyperactivesw.com> > HyperActive Software | http://www.hyperactivesw.com< > http://www.hyperactivesw.com/> > On March 1, 2024 10:42:04 AM Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From jacque at hyperactivesw.com Fri Mar 1 13:09:28 2024 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 01 Mar 2024 12:09:28 -0600 Subject: sideloading updates to mobile In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> A quick test would be to see if Files can access the private documents of any installed app. I could try it if I didn't have to steal my husband's phone, which is tricky business. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On March 1, 2024 11:40:09 AM Mike Kerner via use-livecode wrote: > i'm going to have to mess with this, some more. i didn't think documents is > sandboxed. > > > On Fri, Mar 1, 2024 at 11:49AM Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> They should stop calling it a Sandbox then. Its the entire beach! LOL! >> >> Bob S >> >> >> On Mar 1, 2024, at 8:45 AM, J. Landman Gay via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >> Right. In spite of Android's "external documents" option, which I needed, >> it's still in the sandbox. >> >> -- >> Jacqueline Landman Gay | jacque at hyperactivesw.com> jacque at hyperactivesw.com> >> HyperActive Software | http://www.hyperactivesw.com< >> http://www.hyperactivesw.com/> >> On March 1, 2024 10:42:04 AM Bob Sneidar via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >> >> >> _______________________________________________ >> 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 >> > > > -- > On the first day, God created the heavens and the Earth > On the second day, God created the oceans. > On the third day, God put the animals on hold for a few hours, > and did a little diving. > And God said, "This is good." > _______________________________________________ > 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 From MikeKerner at roadrunner.com Fri Mar 1 13:22:54 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Fri, 1 Mar 2024 13:22:54 -0500 Subject: sideloading updates to mobile In-Reply-To: <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: the latest pieces that i found on the topic said that files can access the documents folder (but not library), and that it is available by other means, without jailbreaking. thus, i need to screw around with this, some more. if it's unavailable, then great, no need for library. in The Before Times, documents was isolated, but i thought that changed. On Fri, Mar 1, 2024 at 1:10 PM J. Landman Gay via use-livecode < use-livecode at lists.runrev.com> wrote: > A quick test would be to see if Files can access the private documents of > any installed app. I could try it if I didn't have to steal my husband's > phone, which is tricky business. > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > On March 1, 2024 11:40:09 AM Mike Kerner via use-livecode > wrote: > > > i'm going to have to mess with this, some more. i didn't think documents > is > > sandboxed. > > > > > > On Fri, Mar 1, 2024 at 11:49 AM Bob Sneidar via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > >> They should stop calling it a Sandbox then. It’s the entire beach! LOL! > >> > >> Bob S > >> > >> > >> On Mar 1, 2024, at 8:45 AM, J. Landman Gay via use-livecode < > >> use-livecode at lists.runrev.com> wrote: > >> > >> Right. In spite of Android's "external documents" option, which I > needed, > >> it's still in the sandbox. > >> > >> -- > >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> jacque at hyperactivesw.com> > >> HyperActive Software | http://www.hyperactivesw.com< > >> http://www.hyperactivesw.com/> > >> On March 1, 2024 10:42:04 AM Bob Sneidar via use-livecode < > >> use-livecode at lists.runrev.com> wrote: > >> > >> > >> > >> _______________________________________________ > >> 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 > >> > > > > > > -- > > On the first day, God created the heavens and the Earth > > On the second day, God created the oceans. > > On the third day, God put the animals on hold for a few hours, > > and did a little diving. > > And God said, "This is good." > > _______________________________________________ > > 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 > > > > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From jacque at hyperactivesw.com Fri Mar 1 18:37:58 2024 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 01 Mar 2024 17:37:58 -0600 Subject: sideloading updates to mobile In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Let me know if you find out. I'm still running in the before times. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On March 1, 2024 12:25:21 PM Mike Kerner via use-livecode wrote: > the latest pieces that i found on the topic said that files can access the > documents folder (but not library), and that it is available by other > means, without jailbreaking. > thus, i need to screw around with this, some more. > if it's unavailable, then great, no need for library. > in The Before Times, documents was isolated, but i thought that changed. > > On Fri, Mar 1, 2024 at 1:10PM J. Landman Gay via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> A quick test would be to see if Files can access the private documents of >> any installed app. I could try it if I didn't have to steal my husband's >> phone, which is tricky business. >> >> -- >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> HyperActive Software | http://www.hyperactivesw.com >> On March 1, 2024 11:40:09 AM Mike Kerner via use-livecode >> wrote: >> >> > i'm going to have to mess with this, some more. i didn't think documents >> is >> > sandboxed. >> > >> > >> > On Fri, Mar 1, 2024 at 11:49AM Bob Sneidar via use-livecode < >> > use-livecode at lists.runrev.com> wrote: >> > >> >> They should stop calling it a Sandbox then. Its the entire beach! LOL! >> >> >> >> Bob S >> >> >> >> >> >> On Mar 1, 2024, at 8:45 AM, J. Landman Gay via use-livecode < >> >> use-livecode at lists.runrev.com> wrote: >> >> >> >> Right. In spite of Android's "external documents" option, which I >> needed, >> >> it's still in the sandbox. >> >> >> >> -- >> >> Jacqueline Landman Gay | jacque at hyperactivesw.com> >> jacque at hyperactivesw.com> >> >> HyperActive Software | http://www.hyperactivesw.com< >> >> http://www.hyperactivesw.com/> >> >> On March 1, 2024 10:42:04 AM Bob Sneidar via use-livecode < >> >> use-livecode at lists.runrev.com> wrote: >> >> >> >> >> >> >> >> _______________________________________________ >> >> 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 >> >> >> > >> > >> > -- >> > On the first day, God created the heavens and the Earth >> > On the second day, God created the oceans. >> > On the third day, God put the animals on hold for a few hours, >> > and did a little diving. >> > And God said, "This is good." >> > _______________________________________________ >> > 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 >> >> >> >> >> _______________________________________________ >> 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 >> > > > -- > On the first day, God created the heavens and the Earth > On the second day, God created the oceans. > On the third day, God put the animals on hold for a few hours, > and did a little diving. > And God said, "This is good." > _______________________________________________ > 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 From MikeKerner at roadrunner.com Sat Mar 2 12:53:08 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Sat, 2 Mar 2024 12:53:08 -0500 Subject: sideloading updates to mobile In-Reply-To: <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: looks like specialfolderpath("documents") is sandboxed, after all. apparently there is another Documents folder, that lc isn't accessing, that is not. On Fri, Mar 1, 2024 at 6:39 PM J. Landman Gay via use-livecode < use-livecode at lists.runrev.com> wrote: > Let me know if you find out. I'm still running in the before times. > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > On March 1, 2024 12:25:21 PM Mike Kerner via use-livecode > wrote: > > > the latest pieces that i found on the topic said that files can access > the > > documents folder (but not library), and that it is available by other > > means, without jailbreaking. > > thus, i need to screw around with this, some more. > > if it's unavailable, then great, no need for library. > > in The Before Times, documents was isolated, but i thought that changed. > > > > On Fri, Mar 1, 2024 at 1:10 PM J. Landman Gay via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > >> A quick test would be to see if Files can access the private documents > of > >> any installed app. I could try it if I didn't have to steal my husband's > >> phone, which is tricky business. > >> > >> -- > >> Jacqueline Landman Gay | jacque at hyperactivesw.com > >> HyperActive Software | http://www.hyperactivesw.com > >> On March 1, 2024 11:40:09 AM Mike Kerner via use-livecode > >> wrote: > >> > >> > i'm going to have to mess with this, some more. i didn't think > documents > >> is > >> > sandboxed. > >> > > >> > > >> > On Fri, Mar 1, 2024 at 11:49 AM Bob Sneidar via use-livecode < > >> > use-livecode at lists.runrev.com> wrote: > >> > > >> >> They should stop calling it a Sandbox then. It’s the entire beach! > LOL! > >> >> > >> >> Bob S > >> >> > >> >> > >> >> On Mar 1, 2024, at 8:45 AM, J. Landman Gay via use-livecode < > >> >> use-livecode at lists.runrev.com> wrote: > >> >> > >> >> Right. In spite of Android's "external documents" option, which I > >> needed, > >> >> it's still in the sandbox. > >> >> > >> >> -- > >> >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> >> jacque at hyperactivesw.com> > >> >> HyperActive Software | http://www.hyperactivesw.com< > >> >> http://www.hyperactivesw.com/> > >> >> On March 1, 2024 10:42:04 AM Bob Sneidar via use-livecode < > >> >> use-livecode at lists.runrev.com> wrote: > >> >> > >> >> > >> >> > >> >> _______________________________________________ > >> >> 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 > >> >> > >> > > >> > > >> > -- > >> > On the first day, God created the heavens and the Earth > >> > On the second day, God created the oceans. > >> > On the third day, God put the animals on hold for a few hours, > >> > and did a little diving. > >> > And God said, "This is good." > >> > _______________________________________________ > >> > 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 > >> > >> > >> > >> > >> _______________________________________________ > >> 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 > >> > > > > > > -- > > On the first day, God created the heavens and the Earth > > On the second day, God created the oceans. > > On the third day, God put the animals on hold for a few hours, > > and did a little diving. > > And God said, "This is good." > > _______________________________________________ > > 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 > > > > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From jacque at hyperactivesw.com Sat Mar 2 13:06:41 2024 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sat, 02 Mar 2024 12:06:41 -0600 Subject: sideloading updates to mobile In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Thanks for checking, now I don't have to change anything. Android also has both a sandboxed documents folder and a public one. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On March 2, 2024 11:55:52 AM Mike Kerner via use-livecode wrote: > looks like specialfolderpath("documents") is sandboxed, after all. > apparently there is another Documents folder, that lc isn't accessing, that > is not. > > On Fri, Mar 1, 2024 at 6:39PM J. Landman Gay via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> Let me know if you find out. I'm still running in the before times. >> >> -- >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> HyperActive Software | http://www.hyperactivesw.com >> On March 1, 2024 12:25:21 PM Mike Kerner via use-livecode >> wrote: >> >> > the latest pieces that i found on the topic said that files can access >> the >> > documents folder (but not library), and that it is available by other >> > means, without jailbreaking. >> > thus, i need to screw around with this, some more. >> > if it's unavailable, then great, no need for library. >> > in The Before Times, documents was isolated, but i thought that changed. >> > >> > On Fri, Mar 1, 2024 at 1:10PM J. Landman Gay via use-livecode < >> > use-livecode at lists.runrev.com> wrote: >> > >> >> A quick test would be to see if Files can access the private documents >> of >> >> any installed app. I could try it if I didn't have to steal my husband's >> >> phone, which is tricky business. >> >> >> >> -- >> >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> >> HyperActive Software | http://www.hyperactivesw.com >> >> On March 1, 2024 11:40:09 AM Mike Kerner via use-livecode >> >> wrote: >> >> >> >> > i'm going to have to mess with this, some more. i didn't think >> documents >> >> is >> >> > sandboxed. >> >> > >> >> > >> >> > On Fri, Mar 1, 2024 at 11:49AM Bob Sneidar via use-livecode < >> >> > use-livecode at lists.runrev.com> wrote: >> >> > >> >> >> They should stop calling it a Sandbox then. Its the entire beach! >> LOL! >> >> >> >> >> >> Bob S >> >> >> >> >> >> >> >> >> On Mar 1, 2024, at 8:45 AM, J. Landman Gay via use-livecode < >> >> >> use-livecode at lists.runrev.com> wrote: >> >> >> >> >> >> Right. In spite of Android's "external documents" option, which I >> >> needed, >> >> >> it's still in the sandbox. >> >> >> >> >> >> -- >> >> >> Jacqueline Landman Gay | jacque at hyperactivesw.com> >> >> jacque at hyperactivesw.com> >> >> >> HyperActive Software | http://www.hyperactivesw.com< >> >> >> http://www.hyperactivesw.com/> >> >> >> On March 1, 2024 10:42:04 AM Bob Sneidar via use-livecode < >> >> >> use-livecode at lists.runrev.com> wrote: >> >> >> >> >> >> >> >> >> >> >> >> _______________________________________________ >> >> >> 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 >> >> >> >> >> > >> >> > >> >> > -- >> >> > On the first day, God created the heavens and the Earth >> >> > On the second day, God created the oceans. >> >> > On the third day, God put the animals on hold for a few hours, >> >> > and did a little diving. >> >> > And God said, "This is good." >> >> > _______________________________________________ >> >> > 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 >> >> >> >> >> >> >> >> >> >> _______________________________________________ >> >> 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 >> >> >> > >> > >> > -- >> > On the first day, God created the heavens and the Earth >> > On the second day, God created the oceans. >> > On the third day, God put the animals on hold for a few hours, >> > and did a little diving. >> > And God said, "This is good." >> > _______________________________________________ >> > 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 >> >> >> >> >> _______________________________________________ >> 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 >> > > > -- > On the first day, God created the heavens and the Earth > On the second day, God created the oceans. > On the third day, God put the animals on hold for a few hours, > and did a little diving. > And God said, "This is good." > _______________________________________________ > 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 From MikeKerner at roadrunner.com Sat Mar 2 19:22:12 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Sat, 2 Mar 2024 19:22:12 -0500 Subject: sideloading updates to mobile In-Reply-To: <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: fyi, to anyone else coming to thie thread, you can't use revCopyFolder or revCopyFile to move your bundle stacks/files to the documents folder b/c both commands require a shell, and ios doesn't have shell support. On Sat, Mar 2, 2024 at 1:07 PM J. Landman Gay via use-livecode < use-livecode at lists.runrev.com> wrote: > Thanks for checking, now I don't have to change anything. Android also has > both a sandboxed documents folder and a public one. > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > On March 2, 2024 11:55:52 AM Mike Kerner via use-livecode > wrote: > > > looks like specialfolderpath("documents") is sandboxed, after all. > > apparently there is another Documents folder, that lc isn't accessing, > that > > is not. > > > > On Fri, Mar 1, 2024 at 6:39 PM J. Landman Gay via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > >> Let me know if you find out. I'm still running in the before times. > >> > >> -- > >> Jacqueline Landman Gay | jacque at hyperactivesw.com > >> HyperActive Software | http://www.hyperactivesw.com > >> On March 1, 2024 12:25:21 PM Mike Kerner via use-livecode > >> wrote: > >> > >> > the latest pieces that i found on the topic said that files can access > >> the > >> > documents folder (but not library), and that it is available by other > >> > means, without jailbreaking. > >> > thus, i need to screw around with this, some more. > >> > if it's unavailable, then great, no need for library. > >> > in The Before Times, documents was isolated, but i thought that > changed. > >> > > >> > On Fri, Mar 1, 2024 at 1:10 PM J. Landman Gay via use-livecode < > >> > use-livecode at lists.runrev.com> wrote: > >> > > >> >> A quick test would be to see if Files can access the private > documents > >> of > >> >> any installed app. I could try it if I didn't have to steal my > husband's > >> >> phone, which is tricky business. > >> >> > >> >> -- > >> >> Jacqueline Landman Gay | jacque at hyperactivesw.com > >> >> HyperActive Software | http://www.hyperactivesw.com > >> >> On March 1, 2024 11:40:09 AM Mike Kerner via use-livecode > >> >> wrote: > >> >> > >> >> > i'm going to have to mess with this, some more. i didn't think > >> documents > >> >> is > >> >> > sandboxed. > >> >> > > >> >> > > >> >> > On Fri, Mar 1, 2024 at 11:49 AM Bob Sneidar via use-livecode < > >> >> > use-livecode at lists.runrev.com> wrote: > >> >> > > >> >> >> They should stop calling it a Sandbox then. It’s the entire beach! > >> LOL! > >> >> >> > >> >> >> Bob S > >> >> >> > >> >> >> > >> >> >> On Mar 1, 2024, at 8:45 AM, J. Landman Gay via use-livecode < > >> >> >> use-livecode at lists.runrev.com> wrote: > >> >> >> > >> >> >> Right. In spite of Android's "external documents" option, which I > >> >> needed, > >> >> >> it's still in the sandbox. > >> >> >> > >> >> >> -- > >> >> >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> >> >> jacque at hyperactivesw.com> > >> >> >> HyperActive Software | http://www.hyperactivesw.com< > >> >> >> http://www.hyperactivesw.com/> > >> >> >> On March 1, 2024 10:42:04 AM Bob Sneidar via use-livecode < > >> >> >> use-livecode at lists.runrev.com> wrote: > >> >> >> > >> >> >> > >> >> >> > >> >> >> _______________________________________________ > >> >> >> 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 > >> >> >> > >> >> > > >> >> > > >> >> > -- > >> >> > On the first day, God created the heavens and the Earth > >> >> > On the second day, God created the oceans. > >> >> > On the third day, God put the animals on hold for a few hours, > >> >> > and did a little diving. > >> >> > And God said, "This is good." > >> >> > _______________________________________________ > >> >> > 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 > >> >> > >> >> > >> >> > >> >> > >> >> _______________________________________________ > >> >> 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 > >> >> > >> > > >> > > >> > -- > >> > On the first day, God created the heavens and the Earth > >> > On the second day, God created the oceans. > >> > On the third day, God put the animals on hold for a few hours, > >> > and did a little diving. > >> > And God said, "This is good." > >> > _______________________________________________ > >> > 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 > >> > >> > >> > >> > >> _______________________________________________ > >> 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 > >> > > > > > > -- > > On the first day, God created the heavens and the Earth > > On the second day, God created the oceans. > > On the third day, God put the animals on hold for a few hours, > > and did a little diving. > > And God said, "This is good." > > _______________________________________________ > > 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 > > > > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From dan at clearvisiontech.com Tue Mar 5 11:51:52 2024 From: dan at clearvisiontech.com (Dan Friedman) Date: Tue, 5 Mar 2024 16:51:52 +0000 Subject: Cursor Placement in MobileControl In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: 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 From merakosp at gmail.com Tue Mar 5 12:43:42 2024 From: merakosp at gmail.com (panagiotis merakos) Date: Tue, 5 Mar 2024 19:43:42 +0200 Subject: Cursor Placement in MobileControl In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From dan at clearvisiontech.com Wed Mar 6 11:15:03 2024 From: dan at clearvisiontech.com (Dan Friedman) Date: Wed, 6 Mar 2024 16:15:03 +0000 Subject: Cursor Placement in MobileControl In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: 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 on behalf of panagiotis merakos via use-livecode Date: Tuesday, March 5, 2024 at 9:45 AM To: How to use LiveCode Cc: panagiotis merakos 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 at 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 at 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 at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From rdimola at evergreeninfo.net Wed Mar 6 13:13:51 2024 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Wed, 6 Mar 2024 13:13:51 -0500 Subject: Cursor Placement in MobileControl In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0- A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: <003a01da6ff2$0e632bc0$2b298340$@net> Dan, Nice... thanks! Ralph DiMola IT Director Evergreen Information Services rdimola at evergreeninfo.net -----Original Message----- From: use-livecode [mailto:use-livecode-bounces at 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 on behalf of panagiotis merakos via use-livecode Date: Tuesday, March 5, 2024 at 9:45 AM To: How to use LiveCode Cc: panagiotis merakos 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 at 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 at 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 at 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 at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Wed Mar 6 14:06:20 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 6 Mar 2024 19:06:20 +0000 Subject: Cursor Placement in MobileControl In-Reply-To: <003a01da6ff2$0e632bc0$2b298340$@net> References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0- A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <003a01da6ff2$0e632bc0$2b298340$@net> Message-ID: <87116489-C0CA-40A7-97BA-AC158EBE38FE@iotecdigital.com> 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 wrote: > > Dan, > > Nice... thanks! > > Ralph DiMola > IT Director > Evergreen Information Services > rdimola at evergreeninfo.net > > -----Original Message----- > From: use-livecode [mailto:use-livecode-bounces at 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 on behalf of > panagiotis merakos via use-livecode > Date: Tuesday, March 5, 2024 at 9:45 AM > To: How to use LiveCode > Cc: panagiotis merakos > 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 at 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 at 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 at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From MikeKerner at roadrunner.com Wed Mar 6 14:11:48 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Wed, 6 Mar 2024 14:11:48 -0500 Subject: Cursor Placement in MobileControl In-Reply-To: <87116489-C0CA-40A7-97BA-AC158EBE38FE@iotecdigital.com> References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <003a01da6ff2$0e632bc0$2b298340$@net> <87116489-C0CA-40A7-97BA-AC158EBE38FE@iotecdigital.com> Message-ID: it would be nice to have a universal field widget, and be able to have this sort of behavior be part of it... On Wed, Mar 6, 2024 at 2:07 PM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > 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 at lists.runrev.com> wrote: > > > > Dan, > > > > Nice... thanks! > > > > Ralph DiMola > > IT Director > > Evergreen Information Services > > rdimola at evergreeninfo.net > > > > -----Original Message----- > > From: use-livecode [mailto:use-livecode-bounces at 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 on behalf of > > panagiotis merakos via use-livecode > > Date: Tuesday, March 5, 2024 at 9:45 AM > > To: How to use LiveCode > > Cc: panagiotis merakos > > 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 at 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 at 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 at 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 at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From marksmithhfx at gmail.com Wed Mar 6 15:37:56 2024 From: marksmithhfx at gmail.com (Mark Smith) Date: Wed, 6 Mar 2024 20:37:56 +0000 Subject: Cursor Placement in MobileControl In-Reply-To: References: Message-ID: <9C7F333F-AAA1-4814-9A9C-5718C74C1895@gmail.com> Very useful to know. Thanks Dan Mark Sent from my iPhone > On Mar 6, 2024, at 7:13 PM, Mike Kerner via use-livecode wrote: > > it would be nice to have a universal field widget, and be able to have this > sort of behavior be part of it... > >> On Wed, Mar 6, 2024 at 2:07 PM Bob Sneidar via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >> 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 at lists.runrev.com> wrote: >>> >>> Dan, >>> >>> Nice... thanks! >>> >>> Ralph DiMola >>> IT Director >>> Evergreen Information Services >>> rdimola at evergreeninfo.net >>> >>> -----Original Message----- >>> From: use-livecode [mailto:use-livecode-bounces at 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 on behalf of >>> panagiotis merakos via use-livecode >>> Date: Tuesday, March 5, 2024 at 9:45 AM >>> To: How to use LiveCode >>> Cc: panagiotis merakos >>> 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 at 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 at 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 at 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 at 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 at 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 at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> > > > -- > On the first day, God created the heavens and the Earth > On the second day, God created the oceans. > On the third day, God put the animals on hold for a few hours, > and did a little diving. > And God said, "This is good." > _______________________________________________ > 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 From bobsneidar at iotecdigital.com Wed Mar 6 17:00:13 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 6 Mar 2024 22:00:13 +0000 Subject: Cursor Placement in MobileControl In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <003a01da6ff2$0e632bc0$2b298340$@net> <87116489-C0CA-40A7-97BA-AC158EBE38FE@iotecdigital.com> Message-ID: <1619AE8B-1AED-4CDF-821F-3F1C52770ACF@iotecdigital.com> It’s too specific. For instance I always format phone numbers nnn-nnn-nnnn xnnn (the x is for extension). Some people bracket the area code with paras, some need the country code, some want to prepend 1+ etc. I was planning to have a format string of some sort, then follow that pattern as the user types. For instance: -- x the brackets indicating text to be replaced. I could exclude the brackets but I might want to have a format string that uses a literal n in the future, so I have to figure out how to do all that. Bob S > On Mar 6, 2024, at 11:11 AM, Mike Kerner via use-livecode wrote: > > it would be nice to have a universal field widget, and be able to have this > sort of behavior be part of it... > > On Wed, Mar 6, 2024 at 2:07 PM Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> That is damn handy. That could be massaged to work with a Livecode field >> too. I’m going to work on that. >> >> Bob S >> >> From bobsneidar at iotecdigital.com Wed Mar 6 17:03:54 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 6 Mar 2024 22:03:54 +0000 Subject: Cursor Placement in MobileControl In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <003a01da6ff2$0e632bc0$2b298340$@net> <87116489-C0CA-40A7-97BA-AC158EBE38FE@iotecdigital.com> Message-ID: Also, and without trying to put too fine a point on it, I’d like to reiterate that Livecode is much less like a furniture store, and more like an Ikea furniture factory, where there are lots of different parts, and bits to hold the furniture together, but theoretically you could make any kind of furniture you like. I think what you are asking for is a piece of furniture, when you already have everything necessary to make your own coffee table. :-) Bob S > On Mar 6, 2024, at 11:11 AM, Mike Kerner via use-livecode wrote: > > it would be nice to have a universal field widget, and be able to have this > sort of behavior be part of it... > From MikeKerner at roadrunner.com Wed Mar 6 22:04:42 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Wed, 6 Mar 2024 22:04:42 -0500 Subject: Cursor Placement in MobileControl In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <003a01da6ff2$0e632bc0$2b298340$@net> <87116489-C0CA-40A7-97BA-AC158EBE38FE@iotecdigital.com> Message-ID: we don't have a universal field widget, and, the existing controls don't make it easy to do things like this. there are often ways to overcome, just like there are in c, but that doesn't mean i prefer c or swift or java or xojo sometimes workarounds are a means to identify opportunities to improve the product. On Wed, Mar 6, 2024 at 5:04 PM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > Also, and without trying to put too fine a point on it, I’d like to > reiterate that Livecode is much less like a furniture store, and more like > an Ikea furniture factory, where there are lots of different parts, and > bits to hold the furniture together, but theoretically you could make any > kind of furniture you like. I think what you are asking for is a piece of > furniture, when you already have everything necessary to make your own > coffee table. :-) > > Bob S > > > > On Mar 6, 2024, at 11:11 AM, Mike Kerner via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > it would be nice to have a universal field widget, and be able to have > this > > sort of behavior be part of it... > > > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From david.bovill at gmail.com Fri Mar 8 03:44:55 2024 From: david.bovill at gmail.com (David Bovill) Date: Fri, 8 Mar 2024 08:44:55 +0000 Subject: Enhanced HTTPD - native HTTP 1.1 Livecode Socket Server In-Reply-To: References: Message-ID: Hi Mike and Richard, the progress I’ve made is along the lines that Richard speaks to in the thread. I have added a little to the earlier work and bundled socket based servers - mainly by making it easy to add and remove logging with before and after handlers, and layers of back scripts that allow you to add your own custom middleware. There are a few things holding me back from plunging in further and finishing the work. Firstly, as Richard says still a way to go to add things like HTTP 206 partial content support, and there are already robust libraries in other languages out there - so the strategy of integrating Livecode with one of these is also attractive given the amount of effort required it’s a question in my head as too which route would be better pursued. I also have quite a nice integration with local node servers, which took quite a lot of tweaking as simply using shell() didn’t cut it - but now works well. However with this approach I don’t get the control I need from the Livecode side. There are also issues with socket requests and timeouts which would need to be debugged and while that is not a problem in itself, the underlying concern I’d have is that at the end of the process I’d find that the cause was a Livecode bug and not something in my code. There would be little I could do in that case other than hope and wait. Funny you came across the Full Moon Happening event as I’m currently working on a new version of that early experiment for March 25th this year (a full moon, penumbral lunar eclipse and wikis birthday - should be fun. If anyone’s in London this Friday March 15th, I’ll be doing an event at the RSA in the afternoon and Newspeak House in the evening where we’ll go into this in more detail. On Wed, 28 Feb 2024 at 13:55, Mike Kerner via use-livecode < use-livecode at lists.runrev.com> wrote: > just pinging to see if anything more has happened on this > and the how list is really quiet > > On Tue, Feb 6, 2024 at 11:09 PM ambassador--- via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > David Bovill wrote: > > > > > I've been working for a while on a native server written in Livecode > > > using sockets. I feel it is definitely something that is sorely needed > > > - but to do it properly is more work that I initially thought. I need > > > to add HTTP 206 partial content support - > > > https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/206. I expect > > > there to be other things that will need to be added. > > > > > > Is anyone interested / need this? Or does anyone already have something > > > they use? > > > > > > MC shipped with a simple HTTPd example included, and many years ago back > > when Pierre was still active here I dusted it off to add support for HTTP > > 1.1 so it would work with modern browsers: > > > > https://fourthworld.net/lc/mchttpd-4W.zip > > > > It's been years since I touched it, and IIRC the only other change I made > > was to use callbacks for both ends of the network I/O (for some reason > > Raney had used callbacks only on one side, tho I can't recall if his was > on > > the write or read end). Callbacks for net I/O help a lot. > > > > If you're already far enough down the road to be thinking of 206 errors, > > there's likely nothing here you haven't already written. But as an > example > > (slightly updated) of the sort of thing that used to ship with old > versions > > to encourage exploration of network apps, it may be a fun trip down > memory > > lane. > > > > > > A question, if interesting to answer: one of the reasons I set this aside > > was the beginning of a process of moving away from my own homegrown tools > > for generic commodities like socket servers. Apache and Node cover most > of > > what I've needed since, and I don't have to maintain them, so I can focus > > on the stuff specific to my app. What are you working on these days? I > > stumbled across your chat with Ward Cunningham in the Full Moon Happening > > just a few months ago; good stuff. Curious if your interest in > > decentralization is still a focus, and whether it also includes things > like > > IPSF and blockchains. Maybe offlist if it's not too LiveCodey is fine. > > > > > > Richard Gaskin > > FourthWorld.com > > > > _______________________________________________ > > 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 > > > > > -- > On the first day, God created the heavens and the Earth > On the second day, God created the oceans. > On the third day, God put the animals on hold for a few hours, > and did a little diving. > And God said, "This is good." > _______________________________________________ > 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 > From david.bovill at gmail.com Fri Mar 8 03:54:28 2024 From: david.bovill at gmail.com (David Bovill) Date: Fri, 8 Mar 2024 08:54:28 +0000 Subject: Enhanced HTTPD - native HTTP 1.1 Livecode Socket Server In-Reply-To: <31d2bf4382641c6fd936f04d88edf69cc25f1dea@fourthworld.com> References: <31d2bf4382641c6fd936f04d88edf69cc25f1dea@fourthworld.com> Message-ID: Hi Richard - checking in again :) Yes I worked a lot with decentralised protocols and communities, and was looking to integrate those technologies with Livecode. That work got set back when Livecode pivoted away from FOSS. I believe there are still some approaches that can work but would probably be best done off list in a video call? On Wed, 28 Feb 2024 at 17:56, Richard Gaskin via use-livecode < use-livecode at lists.runrev.com> wrote: > FWIW I haven't heard from David, but with the economic numbers off to a > good start this year I suspect he's just been as busy as most I know. > > I know of at least one other LC fan with an interest in decentralized > protocols, but I'm not sure how far he's gotten with his implementations. > I've mentioned LC in some of those circles, but those communities tend to > make and use FOSS tools, so the conversation is usually very short. > > Richard Gaskin > FourthWorld.com > > > > On February 28, 2024 at 9:00 AM, Mike Kerner wrote: > > > > just pinging to see if anything more has happened on this > > > > and the how list is really quiet > > > > On Tue, Feb 6, 2024 at 11:09?PM ambassador--- via use-livecode < > > > > use-livecode at lists.runrev.com> wrote: > > > > > David Bovill wrote: > > > > > > I've been working for a while on a native server written in Livecode > > > using sockets. I feel it is definitely something that is sorely needed > > > - but to do it properly is more work that I initially thought. I need > > > to add HTTP 206 partial content support - > > > https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/206. I > expect > > > there to be other things that will need to be added. > > > Is anyone interested / need this? Or does anyone already have > something > > > they use? > > > > > MC shipped with a simple HTTPd example included, and many years ago back > > > > when Pierre was still active here I dusted it off to add support for > HTTP > > 1.1 so it would work with modern browsers: > > https://fourthworld.net/lc/mchttpd-4W.zip > > > > It's been years since I touched it, and IIRC the only other change I > made > > was to use callbacks for both ends of the network I/O (for some reason > > Raney had used callbacks only on one side, tho I can't recall if his was > on > > the write or read end). Callbacks for net I/O help a lot. > > > > If you're already far enough down the road to be thinking of 206 errors, > > there's likely nothing here you haven't already written. But as an > example > > (slightly updated) of the sort of thing that used to ship with old > versions > > to encourage exploration of network apps, it may be a fun trip down > memory > > lane. > > > > A question, if interesting to answer: one of the reasons I set this > aside > > was the beginning of a process of moving away from my own homegrown > tools > > for generic commodities like socket servers. Apache and Node cover most > of > > what I've needed since, and I don't have to maintain them, so I can focus > > on the stuff specific to my app. What are you working on these days? I > > stumbled across your chat with Ward Cunningham in the Full Moon > Happening > > just a few months ago; good stuff. Curious if your interest in > > decentralization is still a focus, and whether it also includes things > like > > IPSF and blockchains. Maybe offlist if it's not too LiveCodey is fine. > > > > Richard Gaskin > > FourthWorld.com > > _______________________________________________ > 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 > From klaus at major-k.de Wed Mar 13 05:26:28 2024 From: klaus at major-k.de (Klaus major-k) Date: Wed, 13 Mar 2024 10:26:28 +0100 Subject: Iconmaker 2.0 Message-ID: <99F2FA3E-4453-4F3F-9619-4C34C8034154@major-k.de> Hi friends, a new version of my plug-in "Iconmaker" is available, it now also creates .ICNS icon files for macOS apps. Check it here: https://major-k.de/iconmaker.html Best Klaus From bobsneidar at iotecdigital.com Wed Mar 13 12:08:10 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 13 Mar 2024 16:08:10 +0000 Subject: Iconmaker 2.0 In-Reply-To: <99F2FA3E-4453-4F3F-9619-4C34C8034154@major-k.de> References: <99F2FA3E-4453-4F3F-9619-4C34C8034154@major-k.de> Message-ID: <51A542A2-F7FD-4A90-87F6-3F3F6F246A43@iotecdigital.com> Awesome thanks! Bob S > On Mar 13, 2024, at 2:26 AM, Klaus major-k via use-livecode wrote: > > Hi friends, > > a new version of my plug-in "Iconmaker" is available, it now also creates .ICNS icon files for macOS apps. > Check it here: https://major-k.de/iconmaker.html > > > Best > > Klaus > _______________________________________________ > 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 From jbv at souslelogo.com Fri Mar 15 10:36:39 2024 From: jbv at souslelogo.com (jbv at souslelogo.com) Date: Fri, 15 Mar 2024 10:36:39 -0400 Subject: Code translation anyone ? Message-ID: Hi list, Has anyone tried to translate code from 1 version to another, or from 1 language to another ? Like from php 5 to php 8, or from php to LC ? My question concerns mainly server scripts. Thanks, jbv From jbv at souslelogo.com Fri Mar 15 10:39:57 2024 From: jbv at souslelogo.com (jbv at souslelogo.com) Date: Fri, 15 Mar 2024 10:39:57 -0400 Subject: Code translation anyone ? In-Reply-To: References: Message-ID: <85df7e46662e355a4bbafbfb0dadab8d@souslelogo.com> One detail I forgot in my question : code translation using ChatGPT or any other AI. Thanks, jbv Le 2024-03-15 10:36, jbv via use-livecode a crit : > Hi list, > > Has anyone tried to translate code from 1 version to > another, or from 1 language to another ? > Like from php 5 to php 8, or from php to LC ? > My question concerns mainly server scripts. > > Thanks, > jbv > > _______________________________________________ > 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 From bobsneidar at iotecdigital.com Fri Mar 15 11:15:19 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 15 Mar 2024 15:15:19 +0000 Subject: Code translation anyone ? In-Reply-To: <85df7e46662e355a4bbafbfb0dadab8d@souslelogo.com> References: <85df7e46662e355a4bbafbfb0dadab8d@souslelogo.com> Message-ID: <619F751C-E25E-4BEF-815E-2A6C55946D01@iotecdigital.com> I tried to write a code converter from dBase (Foxpro) to what is now called Livecode. I ran into at least one insurmountable issue. I forget exactly what it was, but it was along the lines of certain conventions used in Foxpro that had no parallel in Livecode or meant something totally different in Livecode. For instance, Foxpro uses a convention called Macro Substitution, where preceding a variable with an ampersand would at runtime replace the variable with its contents. For instance: x = "Fox" ? "&x.Pro” Would produce FoxPro. The trouble was that ampersand is *ALSO* used for concatenation! How can I tell? Periods inside quotes are just periods *unless* they are used in Macro Substitution. There were a couple others, like using $ for certain things. I came to the conclusion that the process would be more complex than I wanted, if at all possible, and in the end it would be easier to simple reproduce the application from scratch. Bob S > On Mar 15, 2024, at 7:39 AM, jbv via use-livecode wrote: > > One detail I forgot in my question : code translation using > ChatGPT or any other AI. > > Thanks, > jbv > > > Le 2024-03-15 10:36, jbv via use-livecode a écrit : >> Hi list, >> Has anyone tried to translate code from 1 version to >> another, or from 1 language to another ? >> Like from php 5 to php 8, or from php to LC ? >> My question concerns mainly server scripts. >> Thanks, >> jbv >> _______________________________________________ >> 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 > > _______________________________________________ > 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 From christerp1 at gmail.com Fri Mar 15 12:28:22 2024 From: christerp1 at gmail.com (=?utf-8?Q?Christer_Pyyhti=C3=A4?=) Date: Fri, 15 Mar 2024 18:28:22 +0200 Subject: Code translation anyone ? In-Reply-To: <619F751C-E25E-4BEF-815E-2A6C55946D01@iotecdigital.com> References: <85df7e46662e355a4bbafbfb0dadab8d@souslelogo.com> <619F751C-E25E-4BEF-815E-2A6C55946D01@iotecdigital.com> Message-ID: <973B22EA-0441-4973-A870-BFB45B7EDEDB@gmail.com> Just an ideal hacker problem. Have you tried OpenAi or Gemini? Once just for fun tried asking OpenAI to create a structure for a problem using LiveCode, and the result was acceptable giving a coarse structure for the solving the problem. Maybe those generative tools would recognise FoxPro as well. Please tell what you’ll find out. Reds Christer Pyyhtiä christerp1 at gmail.com > On 15. Mar 2024, at 17.15, Bob Sneidar via use-livecode wrote: > > I tried to write a code converter from dBase (Foxpro) to what is now called Livecode. I ran into at least one insurmountable issue. I forget exactly what it was, but it was along the lines of certain conventions used in Foxpro that had no parallel in Livecode or meant something totally different in Livecode. For instance, Foxpro uses a convention called Macro Substitution, where preceding a variable with an ampersand would at runtime replace the variable with its contents. For instance: > > x = "Fox" > ? "&x.Pro” > > Would produce FoxPro. The trouble was that ampersand is *ALSO* used for concatenation! How can I tell? Periods inside quotes are just periods *unless* they are used in Macro Substitution. > > There were a couple others, like using $ for certain things. I came to the conclusion that the process would be more complex than I wanted, if at all possible, and in the end it would be easier to simple reproduce the application from scratch. > > > Bob S > > > >> On Mar 15, 2024, at 7:39 AM, jbv via use-livecode wrote: >> >> One detail I forgot in my question : code translation using >> ChatGPT or any other AI. >> >> Thanks, >> jbv >> >> >> Le 2024-03-15 10:36, jbv via use-livecode a écrit : >>> Hi list, >>> Has anyone tried to translate code from 1 version to >>> another, or from 1 language to another ? >>> Like from php 5 to php 8, or from php to LC ? >>> My question concerns mainly server scripts. >>> Thanks, >>> jbv >>> _______________________________________________ >>> 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 >> >> _______________________________________________ >> 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 > > _______________________________________________ > 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 From jbv at souslelogo.com Fri Mar 15 14:07:36 2024 From: jbv at souslelogo.com (jbv at souslelogo.com) Date: Fri, 15 Mar 2024 14:07:36 -0400 Subject: Code translation anyone ? In-Reply-To: <973B22EA-0441-4973-A870-BFB45B7EDEDB@gmail.com> References: <85df7e46662e355a4bbafbfb0dadab8d@souslelogo.com> <619F751C-E25E-4BEF-815E-2A6C55946D01@iotecdigital.com> <973B22EA-0441-4973-A870-BFB45B7EDEDB@gmail.com> Message-ID: Le 2024-03-15 12:28, Christer Pyyhti via use-livecode a crit : > Have you tried OpenAi or Gemini? Once just for fun tried asking OpenAI > to create a structure for a problem using LiveCode, and the result was > acceptable giving a coarse structure for the solving the problem. Yes, I have tried ChatGPT, but my problem is that my php weights 500 Kb, so I started to proceed chunk by chunk, and each time ChatGPT adds lengthy comments and explanations from the php manual... From tom at makeshyft.com Sat Mar 16 15:26:14 2024 From: tom at makeshyft.com (Tom Glod) Date: Sat, 16 Mar 2024 15:26:14 -0400 Subject: Code translation anyone ? In-Reply-To: References: <85df7e46662e355a4bbafbfb0dadab8d@souslelogo.com> <619F751C-E25E-4BEF-815E-2A6C55946D01@iotecdigital.com> <973B22EA-0441-4973-A870-BFB45B7EDEDB@gmail.com> Message-ID: I think its a great task for an AI with a greater context window. Don't give up yet. CHat GPT can be prompted to be less verbose. You can also use the openai playground, upload your php, and use the model with the bigger context window. From klaus at major-k.de Sun Mar 17 13:17:52 2024 From: klaus at major-k.de (Klaus major-k) Date: Sun, 17 Mar 2024 18:17:52 +0100 Subject: is there something like "sockettimeoutinterval" for "put url... into aVariable"? Message-ID: <58CE5F5F-9F33-4524-9ABD-6234759DB18E@major-k.de> Hi friends, see subject, any hints welcome. Thanks in advance! Best Klaus -- Klaus Major https://www.major-k.de https://www.major-k.de/bass klaus at major-k.de From matthias_livecode_150811 at m-r-d.de Sun Mar 17 13:39:46 2024 From: matthias_livecode_150811 at m-r-d.de (matthias_livecode_150811 at m-r-d.de) Date: Sun, 17 Mar 2024 18:39:46 +0100 Subject: is there something like "sockettimeoutinterval" for "put url... into aVariable"? In-Reply-To: <58CE5F5F-9F33-4524-9ABD-6234759DB18E@major-k.de> References: <58CE5F5F-9F33-4524-9ABD-6234759DB18E@major-k.de> Message-ID: <3FDE5210-F3E4-4ADF-85A7-A287290FB518@m-r-d.de> What URL type are you using? When using http/ftp and so on then there is also tsNetSetTimeouts in case you are using a commercial LC Version >=8. > Am 17.03.2024 um 18:17 schrieb Klaus major-k via use-livecode : > > Hi friends, > > see subject, any hints welcome. > Thanks in advance! > > > Best > > Klaus > -- > Klaus Major > https://www.major-k.de > https://www.major-k.de/bass > klaus at major-k.de > > > _______________________________________________ > 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 From klaus at major-k.de Sun Mar 17 13:51:21 2024 From: klaus at major-k.de (Klaus major-k) Date: Sun, 17 Mar 2024 18:51:21 +0100 Subject: is there something like "sockettimeoutinterval" for "put url... into aVariable"? In-Reply-To: <3FDE5210-F3E4-4ADF-85A7-A287290FB518@m-r-d.de> References: <58CE5F5F-9F33-4524-9ABD-6234759DB18E@major-k.de> <3FDE5210-F3E4-4ADF-85A7-A287290FB518@m-r-d.de> Message-ID: <3C1B14F6-EA0D-45B3-AC79-E7766ED1EACF@major-k.de> Hi Matthias, > Am 17.03.2024 um 18:39 schrieb matthias rebbe via use-livecode : > > What URL type are you using? a https url on my server. > When using http/ftp and so on then there is also tsNetSetTimeouts in case you are using a commercial LC Version >=8. Ah, great will try this, thank you! >> Am 17.03.2024 um 18:17 schrieb Klaus major-k via use-livecode : >> >> Hi friends, >> >> see subject, any hints welcome. >> Thanks in advance! Best Klaus -- Klaus Major https://www.major-k.de https://www.major-k.de/bass klaus at major-k.de From benr_mc at cogapp.com Sun Mar 17 16:15:39 2024 From: benr_mc at cogapp.com (Ben Rubinstein) Date: Sun, 17 Mar 2024 20:15:39 +0000 Subject: Damn I missed it - happy 20th birthday! Message-ID: <0dcdc45e-1274-4400-8e8d-ef25321f55a7@cogapp.com> Sorry it's two days late, but happy 20th birthday to https://quality.livecode.com/show_bug.cgi?id=1372 ... and many happy returns? (I would have forgotten altogether but a colleague asked me how to do this conversion and I had to tell him about the workaround, and that he'd then have to code to strip out para formatting etc.... just like it always was.) Ben From dochawk at gmail.com Thu Mar 21 12:26:01 2024 From: dochawk at gmail.com (doc hawk) Date: Thu, 21 Mar 2024 09:26:01 -0700 Subject: pulling out hair connecting to postgres server Message-ID: I'm near pulling out my hair on this. I set this up, and haven't used it for so long that I can't seem to remember everything. Postrgres 9.5 is installed on this machine, and appears to be running and accepting connections: sudo -u postgres /Library/PostgreSQL/9.5/bin/pg_ctl restart -m fast -D /Library/PostgreSQL/9.5/data/ sharpshin:hawk>2024-03-08 15:48:39 PST LOG: redirecting log output to logging collector process 2024-03-08 15:48:39 PST HINT: Future log output will appear in directory "pg_log". -- Dr. Richard E. Hawkins, Esq. (702) 508-8462 From harrison at all-auctions.com Thu Mar 21 17:38:58 2024 From: harrison at all-auctions.com (harrison at all-auctions.com) Date: Thu, 21 Mar 2024 17:38:58 -0400 Subject: pulling out hair connecting to postgres server In-Reply-To: References: Message-ID: What version of the OS are you running? What is your pg_log telling you? Version 9.5 is very old. The current version of PostgreSQL is 16.2 What version of LiveCode Server are you running? Let us know! Rick > On Mar 21, 2024, at 12:26 PM, doc hawk via use-livecode wrote: > > I'm near pulling out my hair on this. > > I set this up, and haven't used it for so long that I can't seem to > remember everything. > > Postrgres 9.5 is installed on this machine, and appears to be running and > accepting connections: > > sudo -u postgres /Library/PostgreSQL/9.5/bin/pg_ctl restart -m fast -D > /Library/PostgreSQL/9.5/data/ > > sharpshin:hawk>2024-03-08 15:48:39 PST LOG: redirecting log output to > logging collector process > 2024-03-08 15:48:39 PST HINT: Future log output will appear in directory > "pg_log". From paul at researchware.com Thu Mar 21 17:48:09 2024 From: paul at researchware.com (Paul Dupuis) Date: Thu, 21 Mar 2024 17:48:09 -0400 Subject: Dropping file on an LC standalone... Message-ID: My question is what message is triggered when a file is dropped on a running LC standdalone on Windows On Windows, if the APP is started by dropping a file on it, the file name is available to any handler in the startup sequence via the $1 special variable. i.e. IF teh variable $1 contains a file name the app was started by someone droping the file on teh app or by double-clicking a file associated with teh app. On macOS, this is all handled by appleEvents. i.e. if a file is dropped on a LC standalone on macOS that standalone gets an appleEvent message and the parameters of the message can be used to get the file name . This is true on startup (if a file was dropped on the app to start it or an associated file was double clicked to start the app OR on macOS if the app is already running and a file is dropped on its icon, the app gets an appleEvent message. So, what message does a LC standalone app on Windows get, if it has been running and a file is dropped on its icon? An what is the message path of that message (i.e. is it send to the current card, current stack, the mainstack card, or the mainstack stack?) Thanks in advance! From bobsneidar at iotecdigital.com Thu Mar 21 18:46:59 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 21 Mar 2024 22:46:59 +0000 Subject: Dropping file on an LC standalone... In-Reply-To: References: Message-ID: Does it have to be the icon? If I drag a file onto an app in the Windows Tack Bar it does nothing, even if the file belongs to the app I am dragging the file onto. If however I HOVER on the icon and the app is running, it will bring the app to the front and show the frontmost window if it is hidden. If I drag the file onto the open Window, the app will open it. Case in point, drag an Excel spreadsheet onto the Excel icon in the task bar. All it will do is add a shortcut to the Excel icon for that file. But launch Excel, open a blank spreadsheet, then drag an excel file onto the icon, hover, then drop onto the blank Excel Spreadsheet. In THIS case it will open the spreadsheet in a new window. Because of this you may be able to use a Drag / Drop handler in your card script. The caveat is that the card itself will not accept a drag/drop action, but if you drag anything on top of an actual object, THEN the card will get the message. So to handle this, add an opaque rectangle the size of the card behind everything else (if the opacity is set to 99 it will appear transparent for all intents and purposes). The rectangle (or any other object on the card that doesn’t have a dragDrop handler) will get the message and it will fall through to the card where you can handle it. This in my card script: on dragEnter set the dragAction to "link" -- for files pass dragEnter end dragEnter on dragDrop put the dragData into tDragData set the dragData to empty -- do something with tDragData end dragDrop On Mar 21, 2024, at 2:48 PM, Paul Dupuis via use-livecode wrote: My question is what message is triggered when a file is dropped on a running LC standdalone on Windows On Windows, if the APP is started by dropping a file on it, the file name is available to any handler in the startup sequence via the $1 special variable. i.e. IF teh variable $1 contains a file name the app was started by someone droping the file on teh app or by double-clicking a file associated with teh app. On macOS, this is all handled by appleEvents. i.e. if a file is dropped on a LC standalone on macOS that standalone gets an appleEvent message and the parameters of the message can be used to get the file name . This is true on startup (if a file was dropped on the app to start it or an associated file was double clicked to start the app OR on macOS if the app is already running and a file is dropped on its icon, the app gets an appleEvent message. So, what message does a LC standalone app on Windows get, if it has been running and a file is dropped on its icon? An what is the message path of that message (i.e. is it send to the current card, current stack, the mainstack card, or the mainstack stack?) Thanks in advance! From bobsneidar at iotecdigital.com Thu Mar 21 18:58:58 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 21 Mar 2024 22:58:58 +0000 Subject: Dropping file on an LC standalone... In-Reply-To: References: Message-ID: <54569147-9438-416C-8235-9AA6457C0745@iotecdigital.com> Wow I just read that and it didn’t even make sense to me! Basically with Windows, dragging a file onto a taskbar icon only adds the file to the icon’s Pinned items. Dragging a file onto an open window of an App will try and open the file in that app. If the app’s window(s) are hidden, dragging and hovering over the app’s shortcut will cause the app to show it’s window(s) whereupon you can drop the file onto the open window. Bob S On Mar 21, 2024, at 3:46 PM, Bob Sneidar via use-livecode wrote: Does it have to be the icon? If I drag a file onto an app in the Windows Tack Bar it does nothing, even if the file belongs to the app I am dragging the file onto. If however I HOVER on the icon and the app is running, it will bring the app to the front and show the frontmost window if it is hidden. If I drag the file onto the open Window, the app will open it. Case in point, drag an Excel spreadsheet onto the Excel icon in the task bar. All it will do is add a shortcut to the Excel icon for that file. But launch Excel, open a blank spreadsheet, then drag an excel file onto the icon, hover, then drop onto the blank Excel Spreadsheet. In THIS case it will open the spreadsheet in a new window. Because of this you may be able to use a Drag / Drop handler in your card script. The caveat is that the card itself will not accept a drag/drop action, but if you drag anything on top of an actual object, THEN the card will get the message. So to handle this, add an opaque rectangle the size of the card behind everything else (if the opacity is set to 99 it will appear transparent for all intents and purposes). The rectangle (or any other object on the card that doesn’t have a dragDrop handler) will get the message and it will fall through to the card where you can handle it. This in my card script: on dragEnter set the dragAction to "link" -- for files pass dragEnter end dragEnter on dragDrop put the dragData into tDragData set the dragData to empty -- do something with tDragData end dragDrop From craig at starfirelighting.com Fri Mar 22 08:44:32 2024 From: craig at starfirelighting.com (Craig Newman) Date: Fri, 22 Mar 2024 08:44:32 -0400 Subject: Dropping file on an LC standalone... In-Reply-To: <54569147-9438-416C-8235-9AA6457C0745@iotecdigital.com> References: <54569147-9438-416C-8235-9AA6457C0745@iotecdigital.com> Message-ID: <385F2046-BC33-4558-A935-C5F34ED99477@starfirelighting.com> What on earth is the “1$ special variable”? Craig > On Mar 21, 2024, at 6:58 PM, Bob Sneidar via use-livecode wrote: > > Wow I just read that and it didn’t even make sense to me! > > Basically with Windows, dragging a file onto a taskbar icon only adds the file to the icon’s Pinned items. Dragging a file onto an open window of an App will try and open the file in that app. If the app’s window(s) are hidden, dragging and hovering over the app’s shortcut will cause the app to show it’s window(s) whereupon you can drop the file onto the open window. > > Bob S > > > On Mar 21, 2024, at 3:46 PM, Bob Sneidar via use-livecode wrote: > > Does it have to be the icon? If I drag a file onto an app in the Windows Tack Bar it does nothing, even if the file belongs to the app I am dragging the file onto. If however I HOVER on the icon and the app is running, it will bring the app to the front and show the frontmost window if it is hidden. > > If I drag the file onto the open Window, the app will open it. Case in point, drag an Excel spreadsheet onto the Excel icon in the task bar. All it will do is add a shortcut to the Excel icon for that file. But launch Excel, open a blank spreadsheet, then drag an excel file onto the icon, hover, then drop onto the blank Excel Spreadsheet. In THIS case it will open the spreadsheet in a new window. > > Because of this you may be able to use a Drag / Drop handler in your card script. The caveat is that the card itself will not accept a drag/drop action, but if you drag anything on top of an actual object, THEN the card will get the message. > > So to handle this, add an opaque rectangle the size of the card behind everything else (if the opacity is set to 99 it will appear transparent for all intents and purposes). The rectangle (or any other object on the card that doesn’t have a dragDrop handler) will get the message and it will fall through to the card where you can handle it. > > This in my card script: > > on dragEnter > set the dragAction to "link" -- for files > pass dragEnter > end dragEnter > > on dragDrop > put the dragData into tDragData > set the dragData to empty > -- do something with tDragData > end dragDrop > > _______________________________________________ > 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 From klaus at major-k.de Fri Mar 22 08:56:52 2024 From: klaus at major-k.de (Klaus major-k) Date: Fri, 22 Mar 2024 13:56:52 +0100 Subject: Dropping file on an LC standalone... In-Reply-To: <385F2046-BC33-4558-A935-C5F34ED99477@starfirelighting.com> References: <54569147-9438-416C-8235-9AA6457C0745@iotecdigital.com> <385F2046-BC33-4558-A935-C5F34ED99477@starfirelighting.com> Message-ID: <6764ADB2-7257-4D22-A617-B8E81D96C529@major-k.de> Hi Craig, > Am 22.03.2024 um 13:44 schrieb Craig Newman via use-livecode : > > What on earth is the “1$ special variable”? well, 1$ sounds like a good bargain for a "special variable"! :-D Actually it is -> $1 Look up $ in the dictionary for further information. > Craig > >> On Mar 21, 2024, at 6:58 PM, Bob Sneidar via use-livecode wrote: >> >> Wow I just read that and it didn’t even make sense to me! >> >> Basically with Windows, dragging a file onto a taskbar icon only adds the file to the icon’s Pinned items. Dragging a file onto an open window of an App will try and open the file in that app. If the app’s window(s) are hidden, dragging and hovering over the app’s shortcut will cause the app to show it’s window(s) whereupon you can drop the file onto the open window. >> >> Bob S >> >> >> On Mar 21, 2024, at 3:46 PM, Bob Sneidar via use-livecode wrote: >> >> Does it have to be the icon? If I drag a file onto an app in the Windows Tack Bar it does nothing, even if the file belongs to the app I am dragging the file onto. If however I HOVER on the icon and the app is running, it will bring the app to the front and show the frontmost window if it is hidden. >> >> If I drag the file onto the open Window, the app will open it. Case in point, drag an Excel spreadsheet onto the Excel icon in the task bar. All it will do is add a shortcut to the Excel icon for that file. But launch Excel, open a blank spreadsheet, then drag an excel file onto the icon, hover, then drop onto the blank Excel Spreadsheet. In THIS case it will open the spreadsheet in a new window. >> >> Because of this you may be able to use a Drag / Drop handler in your card script. The caveat is that the card itself will not accept a drag/drop action, but if you drag anything on top of an actual object, THEN the card will get the message. >> >> So to handle this, add an opaque rectangle the size of the card behind everything else (if the opacity is set to 99 it will appear transparent for all intents and purposes). The rectangle (or any other object on the card that doesn’t have a dragDrop handler) will get the message and it will fall through to the card where you can handle it. >> >> This in my card script: >> >> on dragEnter >> set the dragAction to "link" -- for files >> pass dragEnter >> end dragEnter >> >> on dragDrop >> put the dragData into tDragData >> set the dragData to empty >> -- do something with tDragData >> end dragDrop Best Klaus -- Klaus Major https://www.major-k.de https://www.major-k.de/bass klaus at major-k.de From craig at starfirelighting.com Fri Mar 22 12:09:34 2024 From: craig at starfirelighting.com (Craig Newman) Date: Fri, 22 Mar 2024 12:09:34 -0400 Subject: Dropping file on an LC standalone... In-Reply-To: <6764ADB2-7257-4D22-A617-B8E81D96C529@major-k.de> References: <54569147-9438-416C-8235-9AA6457C0745@iotecdigital.com> <385F2046-BC33-4558-A935-C5F34ED99477@starfirelighting.com> <6764ADB2-7257-4D22-A617-B8E81D96C529@major-k.de> Message-ID: <9A96E1CB-B642-4093-802B-36350EEED916@starfirelighting.com> Klaus. AHA. I did, but did not see past the fact that the “$” keyword took parameters. Craig > On Mar 22, 2024, at 8:56 AM, Klaus major-k via use-livecode wrote: > > Hi Craig, > >> Am 22.03.2024 um 13:44 schrieb Craig Newman via use-livecode >: >> >> What on earth is the “1$ special variable”? > > well, 1$ sounds like a good bargain for a "special variable"! :-D > > Actually it is -> $1 > Look up $ in the dictionary for further information. > >> Craig >> >>> On Mar 21, 2024, at 6:58 PM, Bob Sneidar via use-livecode wrote: >>> >>> Wow I just read that and it didn’t even make sense to me! >>> >>> Basically with Windows, dragging a file onto a taskbar icon only adds the file to the icon’s Pinned items. Dragging a file onto an open window of an App will try and open the file in that app. If the app’s window(s) are hidden, dragging and hovering over the app’s shortcut will cause the app to show it’s window(s) whereupon you can drop the file onto the open window. >>> >>> Bob S >>> >>> >>> On Mar 21, 2024, at 3:46 PM, Bob Sneidar via use-livecode wrote: >>> >>> Does it have to be the icon? If I drag a file onto an app in the Windows Tack Bar it does nothing, even if the file belongs to the app I am dragging the file onto. If however I HOVER on the icon and the app is running, it will bring the app to the front and show the frontmost window if it is hidden. >>> >>> If I drag the file onto the open Window, the app will open it. Case in point, drag an Excel spreadsheet onto the Excel icon in the task bar. All it will do is add a shortcut to the Excel icon for that file. But launch Excel, open a blank spreadsheet, then drag an excel file onto the icon, hover, then drop onto the blank Excel Spreadsheet. In THIS case it will open the spreadsheet in a new window. >>> >>> Because of this you may be able to use a Drag / Drop handler in your card script. The caveat is that the card itself will not accept a drag/drop action, but if you drag anything on top of an actual object, THEN the card will get the message. >>> >>> So to handle this, add an opaque rectangle the size of the card behind everything else (if the opacity is set to 99 it will appear transparent for all intents and purposes). The rectangle (or any other object on the card that doesn’t have a dragDrop handler) will get the message and it will fall through to the card where you can handle it. >>> >>> This in my card script: >>> >>> on dragEnter >>> set the dragAction to "link" -- for files >>> pass dragEnter >>> end dragEnter >>> >>> on dragDrop >>> put the dragData into tDragData >>> set the dragData to empty >>> -- do something with tDragData >>> end dragDrop > > Best > > Klaus > > -- > Klaus Major > https://www.major-k.de > https://www.major-k.de/bass > klaus at major-k.de > > > _______________________________________________ > 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 From neville.smythe at optusnet.com.au Sun Mar 24 05:45:05 2024 From: neville.smythe at optusnet.com.au (Neville Smythe) Date: Sun, 24 Mar 2024 20:45:05 +1100 Subject: FindIndex question Message-ID: <1AC244C2-FAA2-4834-B882-6B4D1CB31B88@optusnet.com.au> I am using FindIndex on a dataGrid dispatch "FindIndex" to tDataGrid with pKey, pSearchingString and I can pass multiple pKey, pSearchingString pairs such as “col1",pSearchStr1,”col2”,pSearchStr2 as cited in the dictionary entry But there is also a rather cryptic note at the end of the FindIndex dictionary entry Note that pKey can also be an array if you want to use array-valued array indexing to locate pSearchingString. I took that to mean one could set up an array pKey with values such as pKey[“col1”]=pSearchStr1, pKey[“col2”]=pSearchStr2 and then just pass the pKey array. But that doesn’t work. Neither does using two indexed arrays pKey and pSearchStr with pKey[1]=“col1”, pSearchStr[1]=pSearchStr1,pKey[2]=“col2”, pSearchStr[2]=pSearchStr2 Anyone know what it does mean? Neville Smythe From MikeKerner at roadrunner.com Sun Mar 24 10:02:27 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Sun, 24 Mar 2024 10:02:27 -0400 Subject: FindIndex question In-Reply-To: <1AC244C2-FAA2-4834-B882-6B4D1CB31B88@optusnet.com.au> References: <1AC244C2-FAA2-4834-B882-6B4D1CB31B88@optusnet.com.au> Message-ID: i don't know if you dove into the code, but it's too early to think about unpacking this, so here's the code: *## pSearchA is array-valued index for accessing sDataArray* *## pSearchA[1] = key_1* *## pSearchA[2] = key_2* *command* FindIndex pKeyIndexA, pSearchString *--, ...* *-----* *local* foundAMatch, theFoundIndex *local* i *local* theIndex *-----* *repeat* for each key theIndex in sDataArray *## Developer can pass in multiple search strings to perform an AND search* *repeat* with i = 1 to the paramCount step 2 *if* sDataArray[theIndex][param(i)] is param(i+1) *then* *put* true into foundAMatch *else* *put* false into foundAMatch *end* *if* *## AND search didn't pan out. Move on to next index.* *if* not foundAMatch *then* *exit* *repeat* *end* *repeat* *if* foundAMatch *then* *put* theIndex into theFoundIndex *exit* *repeat* *end* *if* *end* *repeat* *return* max(0, theFoundIndex) *end* FindIndex On Sun, Mar 24, 2024 at 5:46 AM Neville Smythe via use-livecode < use-livecode at lists.runrev.com> wrote: > I am using FindIndex on a dataGrid > > dispatch "FindIndex" to tDataGrid with pKey, pSearchingString > > and I can pass multiple pKey, pSearchingString pairs such as > “col1",pSearchStr1,”col2”,pSearchStr2 as cited in the dictionary entry > > But there is also a rather cryptic note at the end of the FindIndex > dictionary entry > > Note that pKey can also be an array if you want to use array-valued > array indexing to locate pSearchingString. > > I took that to mean one could set up an array pKey with values such as > pKey[“col1”]=pSearchStr1, pKey[“col2”]=pSearchStr2 > and then just pass the pKey array. But that doesn’t work. > > Neither does using two indexed arrays pKey and pSearchStr with > pKey[1]=“col1”, pSearchStr[1]=pSearchStr1,pKey[2]=“col2”, > pSearchStr[2]=pSearchStr2 > > Anyone know what it does mean? > > > Neville Smythe > > > > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From neville.smythe at optusnet.com.au Sun Mar 24 17:22:02 2024 From: neville.smythe at optusnet.com.au (Neville Smythe) Date: Mon, 25 Mar 2024 08:22:02 +1100 Subject: FindIndex question In-Reply-To: References: Message-ID: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> > On 25 Mar 2024, at 3:00 am,Mike Kerner wrote: > > i don't know if you dove into the code, but it's too early to think about > unpacking this, so here's the code: ... Thanks Mike While I was aware of the optional parameters feature of LC commands I have never used it I so was unfamiliar with the syntax. The penny had never dropped that the parameter list for a command is just an array, so evidently you can actually send an array instead of a comma delimited list Which means that you can send FindIndex a single parameter pKeyPairsA which is an array with alternating colName,searchStr values Setting up such an array is not particularly convenient for coding however. My workaround had been to use a custom function hack function myFindIndex pDataGrid, pKeyPairs — pKeyPairs is a comma delimited list such as “colname1,str1,colname2,str2,..” replace comma with quote & comma & quote in pKeyPairs put “dispatch FindIndex to” && pDataGrid && “with” && quote & pKeyPairs & quote into tCommandStr do tCommandstr put the result into tFoundIndex ... A much more elegant (if probably no faster) solution is function myFindIndex pDataGrid, pKeyPairs — pKeyPairs is a comma delimited list such as “colname1,str1,colname2,str2,..” set the columnDelimiter to comma split pKeyPairs by column dispatch “FindIndex" to pDataGrid with pKeyPairs put the result into tFoundIndex ... BTW, where did you find the source code for DataGrid handlers? I now see how one could write a FindIndices function to return all indices rather than just the first found … or even a general WHERE search :-) Neville Smythe From MikeKerner at roadrunner.com Sun Mar 24 21:59:05 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Sun, 24 Mar 2024 21:59:05 -0400 Subject: FindIndex question In-Reply-To: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> References: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> Message-ID: it's in the behavior of the dg you can also go digging through the OSS repo, if you like. On Sun, Mar 24, 2024 at 5:23 PM Neville Smythe via use-livecode < use-livecode at lists.runrev.com> wrote: > > > On 25 Mar 2024, at 3:00 am,Mike Kerner wrote: > > > > i don't know if you dove into the code, but it's too early to think about > > unpacking this, so here's the code: ... > > Thanks Mike > > While I was aware of the optional parameters feature of LC commands I have > never used it I so was unfamiliar with the syntax. The penny had never > dropped that the parameter list for a command is just an array, so > evidently you can actually send an array instead of a comma delimited list > > Which means that you can send FindIndex a single parameter pKeyPairsA > which is an array with alternating colName,searchStr values > > Setting up such an array is not particularly convenient for coding > however. My workaround had been to use a custom function hack > > function myFindIndex pDataGrid, pKeyPairs > — pKeyPairs is a comma delimited list such as > “colname1,str1,colname2,str2,..” > > replace comma with quote & comma & quote in pKeyPairs > put “dispatch FindIndex to” && pDataGrid && “with” && quote & > pKeyPairs & quote into tCommandStr > do tCommandstr > put the result into tFoundIndex > ... > > A much more elegant (if probably no faster) solution is > > function myFindIndex pDataGrid, pKeyPairs > — pKeyPairs is a comma delimited list such as > “colname1,str1,colname2,str2,..” > > set the columnDelimiter to comma > split pKeyPairs by column > dispatch “FindIndex" to pDataGrid with pKeyPairs > put the result into tFoundIndex > ... > > > BTW, where did you find the source code for DataGrid handlers? I now see > how one could write a FindIndices function to return all indices rather > than just the first found … or even a general WHERE search :-) > > Neville Smythe > > > > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From MikeKerner at roadrunner.com Sun Mar 24 22:03:14 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Sun, 24 Mar 2024 22:03:14 -0400 Subject: FindIndex question In-Reply-To: References: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> Message-ID: just to sanitycheck myself, i opened 9.6.9, created a new stack, and added a dg to it. then i fired up the pb. expand the card, and you'll see the dg. there are two behaviors assigned to the dg. the first is button id 1005 of stack "revDataGridLibrary" which has, as its behavior, stack "RevDataGridLibraryBehaviorsDataGridButtonBehavior" On Sun, Mar 24, 2024 at 9:59 PM Mike Kerner wrote: > it's in the behavior of the dg > you can also go digging through the OSS repo, if you like. > > > On Sun, Mar 24, 2024 at 5:23 PM Neville Smythe via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> >> > On 25 Mar 2024, at 3:00 am,Mike Kerner wrote: >> > >> > i don't know if you dove into the code, but it's too early to think >> about >> > unpacking this, so here's the code: ... >> >> Thanks Mike >> >> While I was aware of the optional parameters feature of LC commands I >> have never used it I so was unfamiliar with the syntax. The penny had never >> dropped that the parameter list for a command is just an array, so >> evidently you can actually send an array instead of a comma delimited list >> >> Which means that you can send FindIndex a single parameter pKeyPairsA >> which is an array with alternating colName,searchStr values >> >> Setting up such an array is not particularly convenient for coding >> however. My workaround had been to use a custom function hack >> >> function myFindIndex pDataGrid, pKeyPairs >> — pKeyPairs is a comma delimited list such as >> “colname1,str1,colname2,str2,..” >> >> replace comma with quote & comma & quote in pKeyPairs >> put “dispatch FindIndex to” && pDataGrid && “with” && quote & >> pKeyPairs & quote into tCommandStr >> do tCommandstr >> put the result into tFoundIndex >> ... >> >> A much more elegant (if probably no faster) solution is >> >> function myFindIndex pDataGrid, pKeyPairs >> — pKeyPairs is a comma delimited list such as >> “colname1,str1,colname2,str2,..” >> >> set the columnDelimiter to comma >> split pKeyPairs by column >> dispatch “FindIndex" to pDataGrid with pKeyPairs >> put the result into tFoundIndex >> ... >> >> >> BTW, where did you find the source code for DataGrid handlers? I now see >> how one could write a FindIndices function to return all indices rather >> than just the first found … or even a general WHERE search :-) >> >> Neville Smythe >> >> >> >> >> _______________________________________________ >> 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 >> > > > -- > On the first day, God created the heavens and the Earth > On the second day, God created the oceans. > On the third day, God put the animals on hold for a few hours, > and did a little diving. > And God said, "This is good." > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From bobsneidar at iotecdigital.com Mon Mar 25 11:15:22 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 25 Mar 2024 15:15:22 +0000 Subject: FindIndex question In-Reply-To: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> References: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> Message-ID: I wrote a findInArray() function that will convert an array to a memory based SQL database, and one of the arguments is the SQL query statement to use on the database. I have another called FilterArray() which simply iterates through the keys to output those matching a criteria. Bob S > On Mar 24, 2024, at 2:22 PM, Neville Smythe via use-livecode wrote: > > >> On 25 Mar 2024, at 3:00 am,Mike Kerner wrote: >> >> i don't know if you dove into the code, but it's too early to think about >> unpacking this, so here's the code: ... > > Thanks Mike > > While I was aware of the optional parameters feature of LC commands I have never used it I so was unfamiliar with the syntax. The penny had never dropped that the parameter list for a command is just an array, so evidently you can actually send an array instead of a comma delimited list > > Which means that you can send FindIndex a single parameter pKeyPairsA which is an array with alternating colName,searchStr values > > Setting up such an array is not particularly convenient for coding however. My workaround had been to use a custom function hack > > function myFindIndex pDataGrid, pKeyPairs > — pKeyPairs is a comma delimited list such as “colname1,str1,colname2,str2,..” > > replace comma with quote & comma & quote in pKeyPairs > put “dispatch FindIndex to” && pDataGrid && “with” && quote & pKeyPairs & quote into tCommandStr > do tCommandstr > put the result into tFoundIndex > ... > > A much more elegant (if probably no faster) solution is > > function myFindIndex pDataGrid, pKeyPairs > — pKeyPairs is a comma delimited list such as “colname1,str1,colname2,str2,..” > > set the columnDelimiter to comma > split pKeyPairs by column > dispatch “FindIndex" to pDataGrid with pKeyPairs > put the result into tFoundIndex > ... > > > BTW, where did you find the source code for DataGrid handlers? I now see how one could write a FindIndices function to return all indices rather than just the first found … or even a general WHERE search :-) > > Neville Smythe > > > > > _______________________________________________ > 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 From MikeKerner at roadrunner.com Mon Mar 25 13:34:06 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Mon, 25 Mar 2024 13:34:06 -0400 Subject: FindIndex question In-Reply-To: References: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> Message-ID: i would be curious to know if an in-memory sqlite db increases scroll speed with dg's. basically, you would live load the dg with pages from the db. i can't imagine that the dg is faster than the pg. everything i've tried with the pg is faster than the dg. just one more reason to resurrect the script compiler and release it. On Mon, Mar 25, 2024 at 11:16 AM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > I wrote a findInArray() function that will convert an array to a memory > based SQL database, and one of the arguments is the SQL query statement to > use on the database. I have another called FilterArray() which simply > iterates through the keys to output those matching a criteria. > > Bob S > > > On Mar 24, 2024, at 2:22 PM, Neville Smythe via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > > >> On 25 Mar 2024, at 3:00 am,Mike Kerner wrote: > >> > >> i don't know if you dove into the code, but it's too early to think > about > >> unpacking this, so here's the code: ... > > > > Thanks Mike > > > > While I was aware of the optional parameters feature of LC commands I > have never used it I so was unfamiliar with the syntax. The penny had never > dropped that the parameter list for a command is just an array, so > evidently you can actually send an array instead of a comma delimited list > > > > Which means that you can send FindIndex a single parameter pKeyPairsA > which is an array with alternating colName,searchStr values > > > > Setting up such an array is not particularly convenient for coding > however. My workaround had been to use a custom function hack > > > > function myFindIndex pDataGrid, pKeyPairs > > — pKeyPairs is a comma delimited list such as > “colname1,str1,colname2,str2,..” > > > > replace comma with quote & comma & quote in pKeyPairs > > put “dispatch FindIndex to” && pDataGrid && “with” && quote & > pKeyPairs & quote into tCommandStr > > do tCommandstr > > put the result into tFoundIndex > > ... > > > > A much more elegant (if probably no faster) solution is > > > > function myFindIndex pDataGrid, pKeyPairs > > — pKeyPairs is a comma delimited list such as > “colname1,str1,colname2,str2,..” > > > > set the columnDelimiter to comma > > split pKeyPairs by column > > dispatch “FindIndex" to pDataGrid with pKeyPairs > > put the result into tFoundIndex > > ... > > > > > > BTW, where did you find the source code for DataGrid handlers? I now see > how one could write a FindIndices function to return all indices rather > than just the first found … or even a general WHERE search :-) > > > > Neville Smythe > > > > > > > > > > _______________________________________________ > > 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 > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From bobsneidar at iotecdigital.com Mon Mar 25 14:07:20 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 25 Mar 2024 18:07:20 +0000 Subject: FindIndex question In-Reply-To: References: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> Message-ID: I’ve thought about that. A temporary memory database would not appear to the user to be faster, as the initial query for a large dataset will happen all at once during which Livecode would be unresponsive. And if you page the queries from the live database, re-storing the data in a memory database would just be added time. You could use send in time to cache forward and backwards a few pages, and in that case a memory database could help, but if the user drags the elevator box (how many people know what THAT is) then you go back to square 1 concerning efficiency. Bob S > On Mar 25, 2024, at 10:34 AM, Mike Kerner via use-livecode wrote: > > i would be curious to know if an in-memory sqlite db increases scroll speed > with dg's. > basically, you would live load the dg with pages from the db. > i can't imagine that the dg is faster than the pg. everything i've tried > with the pg is faster than the dg. > just one more reason to resurrect the script compiler and release it. > > On Mon, Mar 25, 2024 at 11:16 AM Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> I wrote a findInArray() function that will convert an array to a memory >> based SQL database, and one of the arguments is the SQL query statement to >> use on the database. I have another called FilterArray() which simply >> iterates through the keys to output those matching a criteria. >> >> Bob S >> >>> On Mar 24, 2024, at 2:22 PM, Neville Smythe via use-livecode < >> use-livecode at lists.runrev.com> wrote: >>> >>> >>>> On 25 Mar 2024, at 3:00 am,Mike Kerner wrote: >>>> >>>> i don't know if you dove into the code, but it's too early to think >> about >>>> unpacking this, so here's the code: ... >>> >>> Thanks Mike >>> >>> While I was aware of the optional parameters feature of LC commands I >> have never used it I so was unfamiliar with the syntax. The penny had never >> dropped that the parameter list for a command is just an array, so >> evidently you can actually send an array instead of a comma delimited list >>> >>> Which means that you can send FindIndex a single parameter pKeyPairsA >> which is an array with alternating colName,searchStr values >>> >>> Setting up such an array is not particularly convenient for coding >> however. My workaround had been to use a custom function hack >>> >>> function myFindIndex pDataGrid, pKeyPairs >>> — pKeyPairs is a comma delimited list such as >> “colname1,str1,colname2,str2,..” >>> >>> replace comma with quote & comma & quote in pKeyPairs >>> put “dispatch FindIndex to” && pDataGrid && “with” && quote & >> pKeyPairs & quote into tCommandStr >>> do tCommandstr >>> put the result into tFoundIndex >>> ... >>> >>> A much more elegant (if probably no faster) solution is >>> >>> function myFindIndex pDataGrid, pKeyPairs >>> — pKeyPairs is a comma delimited list such as >> “colname1,str1,colname2,str2,..” >>> >>> set the columnDelimiter to comma >>> split pKeyPairs by column >>> dispatch “FindIndex" to pDataGrid with pKeyPairs >>> put the result into tFoundIndex >>> ... >>> >>> >>> BTW, where did you find the source code for DataGrid handlers? I now see >> how one could write a FindIndices function to return all indices rather >> than just the first found … or even a general WHERE search :-) >>> >>> Neville Smythe >>> >>> >>> >>> >>> _______________________________________________ >>> 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 >> >> _______________________________________________ >> 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 >> > > > -- > On the first day, God created the heavens and the Earth > On the second day, God created the oceans. > On the third day, God put the animals on hold for a few hours, > and did a little diving. > And God said, "This is good." > _______________________________________________ > 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 From MikeKerner at roadrunner.com Mon Mar 25 14:48:47 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Mon, 25 Mar 2024 14:48:47 -0400 Subject: FindIndex question In-Reply-To: References: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> Message-ID: i never heard of it called an "elevator". I anyways heard "thumb" On Mon, Mar 25, 2024 at 2:08 PM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > I’ve thought about that. A temporary memory database would not appear to > the user to be faster, as the initial query for a large dataset will happen > all at once during which Livecode would be unresponsive. And if you page > the queries from the live database, re-storing the data in a memory > database would just be added time. > > You could use send in time to cache forward and backwards a few pages, and > in that case a memory database could help, but if the user drags the > elevator box (how many people know what THAT is) then you go back to square > 1 concerning efficiency. > > Bob S > > > > On Mar 25, 2024, at 10:34 AM, Mike Kerner via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > i would be curious to know if an in-memory sqlite db increases scroll > speed > > with dg's. > > basically, you would live load the dg with pages from the db. > > i can't imagine that the dg is faster than the pg. everything i've tried > > with the pg is faster than the dg. > > just one more reason to resurrect the script compiler and release it. > > > > On Mon, Mar 25, 2024 at 11:16 AM Bob Sneidar via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > >> I wrote a findInArray() function that will convert an array to a memory > >> based SQL database, and one of the arguments is the SQL query statement > to > >> use on the database. I have another called FilterArray() which simply > >> iterates through the keys to output those matching a criteria. > >> > >> Bob S > >> > >>> On Mar 24, 2024, at 2:22 PM, Neville Smythe via use-livecode < > >> use-livecode at lists.runrev.com> wrote: > >>> > >>> > >>>> On 25 Mar 2024, at 3:00 am,Mike Kerner wrote: > >>>> > >>>> i don't know if you dove into the code, but it's too early to think > >> about > >>>> unpacking this, so here's the code: ... > >>> > >>> Thanks Mike > >>> > >>> While I was aware of the optional parameters feature of LC commands I > >> have never used it I so was unfamiliar with the syntax. The penny had > never > >> dropped that the parameter list for a command is just an array, so > >> evidently you can actually send an array instead of a comma delimited > list > >>> > >>> Which means that you can send FindIndex a single parameter pKeyPairsA > >> which is an array with alternating colName,searchStr values > >>> > >>> Setting up such an array is not particularly convenient for coding > >> however. My workaround had been to use a custom function hack > >>> > >>> function myFindIndex pDataGrid, pKeyPairs > >>> — pKeyPairs is a comma delimited list such as > >> “colname1,str1,colname2,str2,..” > >>> > >>> replace comma with quote & comma & quote in pKeyPairs > >>> put “dispatch FindIndex to” && pDataGrid && “with” && quote & > >> pKeyPairs & quote into tCommandStr > >>> do tCommandstr > >>> put the result into tFoundIndex > >>> ... > >>> > >>> A much more elegant (if probably no faster) solution is > >>> > >>> function myFindIndex pDataGrid, pKeyPairs > >>> — pKeyPairs is a comma delimited list such as > >> “colname1,str1,colname2,str2,..” > >>> > >>> set the columnDelimiter to comma > >>> split pKeyPairs by column > >>> dispatch “FindIndex" to pDataGrid with pKeyPairs > >>> put the result into tFoundIndex > >>> ... > >>> > >>> > >>> BTW, where did you find the source code for DataGrid handlers? I now > see > >> how one could write a FindIndices function to return all indices rather > >> than just the first found … or even a general WHERE search :-) > >>> > >>> Neville Smythe > >>> > >>> > >>> > >>> > >>> _______________________________________________ > >>> 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 > >> > >> _______________________________________________ > >> 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 > >> > > > > > > -- > > On the first day, God created the heavens and the Earth > > On the second day, God created the oceans. > > On the third day, God put the animals on hold for a few hours, > > and did a little diving. > > And God said, "This is good." > > _______________________________________________ > > 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 > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From MikeKerner at roadrunner.com Mon Mar 25 14:50:18 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Mon, 25 Mar 2024 14:50:18 -0400 Subject: FindIndex question In-Reply-To: References: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> Message-ID: i guess what i'm wondering is how quickly or slowly the dg will render, if the dgArray is large. it seems to be slower, when the array is larger. On Mon, Mar 25, 2024 at 2:48 PM Mike Kerner wrote: > i never heard of it called an "elevator". I anyways heard "thumb" > > On Mon, Mar 25, 2024 at 2:08 PM Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> I’ve thought about that. A temporary memory database would not appear to >> the user to be faster, as the initial query for a large dataset will happen >> all at once during which Livecode would be unresponsive. And if you page >> the queries from the live database, re-storing the data in a memory >> database would just be added time. >> >> You could use send in time to cache forward and backwards a few pages, >> and in that case a memory database could help, but if the user drags the >> elevator box (how many people know what THAT is) then you go back to square >> 1 concerning efficiency. >> >> Bob S >> >> >> > On Mar 25, 2024, at 10:34 AM, Mike Kerner via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> > >> > i would be curious to know if an in-memory sqlite db increases scroll >> speed >> > with dg's. >> > basically, you would live load the dg with pages from the db. >> > i can't imagine that the dg is faster than the pg. everything i've tried >> > with the pg is faster than the dg. >> > just one more reason to resurrect the script compiler and release it. >> > >> > On Mon, Mar 25, 2024 at 11:16 AM Bob Sneidar via use-livecode < >> > use-livecode at lists.runrev.com> wrote: >> > >> >> I wrote a findInArray() function that will convert an array to a memory >> >> based SQL database, and one of the arguments is the SQL query >> statement to >> >> use on the database. I have another called FilterArray() which simply >> >> iterates through the keys to output those matching a criteria. >> >> >> >> Bob S >> >> >> >>> On Mar 24, 2024, at 2:22 PM, Neville Smythe via use-livecode < >> >> use-livecode at lists.runrev.com> wrote: >> >>> >> >>> >> >>>> On 25 Mar 2024, at 3:00 am,Mike Kerner wrote: >> >>>> >> >>>> i don't know if you dove into the code, but it's too early to think >> >> about >> >>>> unpacking this, so here's the code: ... >> >>> >> >>> Thanks Mike >> >>> >> >>> While I was aware of the optional parameters feature of LC commands I >> >> have never used it I so was unfamiliar with the syntax. The penny had >> never >> >> dropped that the parameter list for a command is just an array, so >> >> evidently you can actually send an array instead of a comma delimited >> list >> >>> >> >>> Which means that you can send FindIndex a single parameter pKeyPairsA >> >> which is an array with alternating colName,searchStr values >> >>> >> >>> Setting up such an array is not particularly convenient for coding >> >> however. My workaround had been to use a custom function hack >> >>> >> >>> function myFindIndex pDataGrid, pKeyPairs >> >>> — pKeyPairs is a comma delimited list such as >> >> “colname1,str1,colname2,str2,..” >> >>> >> >>> replace comma with quote & comma & quote in pKeyPairs >> >>> put “dispatch FindIndex to” && pDataGrid && “with” && quote & >> >> pKeyPairs & quote into tCommandStr >> >>> do tCommandstr >> >>> put the result into tFoundIndex >> >>> ... >> >>> >> >>> A much more elegant (if probably no faster) solution is >> >>> >> >>> function myFindIndex pDataGrid, pKeyPairs >> >>> — pKeyPairs is a comma delimited list such as >> >> “colname1,str1,colname2,str2,..” >> >>> >> >>> set the columnDelimiter to comma >> >>> split pKeyPairs by column >> >>> dispatch “FindIndex" to pDataGrid with pKeyPairs >> >>> put the result into tFoundIndex >> >>> ... >> >>> >> >>> >> >>> BTW, where did you find the source code for DataGrid handlers? I now >> see >> >> how one could write a FindIndices function to return all indices rather >> >> than just the first found … or even a general WHERE search :-) >> >>> >> >>> Neville Smythe >> >>> >> >>> >> >>> >> >>> >> >>> _______________________________________________ >> >>> 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 >> >> >> >> _______________________________________________ >> >> 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 >> >> >> > >> > >> > -- >> > On the first day, God created the heavens and the Earth >> > On the second day, God created the oceans. >> > On the third day, God put the animals on hold for a few hours, >> > and did a little diving. >> > And God said, "This is good." >> > _______________________________________________ >> > 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 >> >> _______________________________________________ >> 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 >> > > > -- > On the first day, God created the heavens and the Earth > On the second day, God created the oceans. > On the third day, God put the animals on hold for a few hours, > and did a little diving. > And God said, "This is good." > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From alex at tweedly.net Mon Mar 25 18:06:49 2024 From: alex at tweedly.net (Alex Tweedly) Date: Mon, 25 Mar 2024 22:06:49 +0000 Subject: FindIndex question In-Reply-To: References: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> Message-ID: <5dfb831c-f08d-41f0-8363-e8717918a067@tweedly.net> Bob - I think you've mentioned these functions (and posted code, or a pointer to code, for them) before (but I couldn't find it). Any chance you could re-post (or just send to me, or ...) Mike - I couldn't see in the thread *why* you want to use a dg ather than a pg ? Is there a missing capability you need ? Or some non-obvious (to me) reason to avoid pg? Thanks, Alex. On 25/03/2024 18:50, Mike Kerner via use-livecode wrote: > i guess what i'm wondering is how quickly or slowly the dg will render, if > the dgArray is large. it seems to be slower, when the array is larger. > > On Mon, Mar 25, 2024 at 2:48PM Mike Kerner > wrote: > >> i never heard of it called an "elevator". I anyways heard "thumb" >> >> On Mon, Mar 25, 2024 at 2:08PM Bob Sneidar via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >>> Ive thought about that. A temporary memory database would not appear to >>> the user to be faster, as the initial query for a large dataset will happen >>> all at once during which Livecode would be unresponsive. And if you page >>> the queries from the live database, re-storing the data in a memory >>> database would just be added time. >>> >>> You could use send in time to cache forward and backwards a few pages, >>> and in that case a memory database could help, but if the user drags the >>> elevator box (how many people know what THAT is) then you go back to square >>> 1 concerning efficiency. >>> >>> Bob S >>> >>> >>>> On Mar 25, 2024, at 10:34 AM, Mike Kerner via use-livecode < >>> use-livecode at lists.runrev.com> wrote: >>>> i would be curious to know if an in-memory sqlite db increases scroll >>> speed >>>> with dg's. >>>> basically, you would live load the dg with pages from the db. >>>> i can't imagine that the dg is faster than the pg. everything i've tried >>>> with the pg is faster than the dg. >>>> just one more reason to resurrect the script compiler and release it. >>>> >>>> On Mon, Mar 25, 2024 at 11:16AM Bob Sneidar via use-livecode < >>>> use-livecode at lists.runrev.com> wrote: >>>> >>>>> I wrote a findInArray() function that will convert an array to a memory >>>>> based SQL database, and one of the arguments is the SQL query >>> statement to >>>>> use on the database. I have another called FilterArray() which simply >>>>> iterates through the keys to output those matching a criteria. >>>>> >>>>> Bob S >>>>> >>>>>> On Mar 24, 2024, at 2:22 PM, Neville Smythe via use-livecode < >>>>> use-livecode at lists.runrev.com> wrote: >>>>>> >>>>>>> On 25 Mar 2024, at 3:00 am,Mike Kerner wrote: >>>>>>> >>>>>>> i don't know if you dove into the code, but it's too early to think >>>>> about >>>>>>> unpacking this, so here's the code: ... >>>>>> Thanks Mike >>>>>> >>>>>> While I was aware of the optional parameters feature of LC commands I >>>>> have never used it I so was unfamiliar with the syntax. The penny had >>> never >>>>> dropped that the parameter list for a command is just an array, so >>>>> evidently you can actually send an array instead of a comma delimited >>> list >>>>>> Which means that you can send FindIndex a single parameter pKeyPairsA >>>>> which is an array with alternating colName,searchStr values >>>>>> Setting up such an array is not particularly convenient for coding >>>>> however. My workaround had been to use a custom function hack >>>>>> function myFindIndex pDataGrid, pKeyPairs >>>>>> pKeyPairs is a comma delimited list such as >>>>> colname1,str1,colname2,str2,.. >>>>>> replace comma with quote & comma & quote in pKeyPairs >>>>>> put dispatch FindIndex to && pDataGrid && with && quote & >>>>> pKeyPairs & quote into tCommandStr >>>>>> do tCommandstr >>>>>> put the result into tFoundIndex >>>>>> ... >>>>>> >>>>>> A much more elegant (if probably no faster) solution is >>>>>> >>>>>> function myFindIndex pDataGrid, pKeyPairs >>>>>> pKeyPairs is a comma delimited list such as >>>>> colname1,str1,colname2,str2,.. >>>>>> set the columnDelimiter to comma >>>>>> split pKeyPairs by column >>>>>> dispatch FindIndex" to pDataGrid with pKeyPairs >>>>>> put the result into tFoundIndex >>>>>> ... >>>>>> >>>>>> >>>>>> BTW, where did you find the source code for DataGrid handlers? I now >>> see >>>>> how one could write a FindIndices function to return all indices rather >>>>> than just the first found or even a general WHERE search :-) >>>>>> Neville Smythe >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> 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 >>>>> _______________________________________________ >>>>> 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 >>>>> >>>> >>>> -- >>>> On the first day, God created the heavens and the Earth >>>> On the second day, God created the oceans. >>>> On the third day, God put the animals on hold for a few hours, >>>> and did a little diving. >>>> And God said, "This is good." >>>> _______________________________________________ >>>> 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 >>> _______________________________________________ >>> 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 >>> >> >> -- >> On the first day, God created the heavens and the Earth >> On the second day, God created the oceans. >> On the third day, God put the animals on hold for a few hours, >> and did a little diving. >> And God said, "This is good." >> > From bobsneidar at iotecdigital.com Mon Mar 25 18:39:54 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 25 Mar 2024 22:39:54 +0000 Subject: FindIndex question In-Reply-To: <5dfb831c-f08d-41f0-8363-e8717918a067@tweedly.net> References: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> <5dfb831c-f08d-41f0-8363-e8717918a067@tweedly.net> Message-ID: <9B1A61B1-F178-4FA8-B030-8D2AA82BC3F7@iotecdigital.com> This is the code with a couple of dependencies. I think that’s all the fiddlybits. If I missed something let me know. Bob S function filterArray pArrayDataA, pConditions put the defaultFolder & "/" & "tempdatabase.db" into tDBName put arrayToSQLite(pArrayDataA, tDBName, "arraydata") into tDBID put "select * from arraydata where" && pConditions into tQueryString try put revQueryDatabase(tDBID, tQueryString) into tCursorID put cursorToArray(tCursorID) into tFilteredDataA return tFilteredDataA catch tError return empty end try end filterArray FUNCTION arrayToSQLite pArrayDataA, pDBFile, pDBName, pDBID, pBinaryColumns — The only argument required is pArrayData. Defaults will be used for the rest put the keys of pArrayDataA into tArrayKeys sort tArrayKeys numeric ascending IF pDBFile is empty THEN put ":memory:" into pDBFile IF pDBName is empty THEN put "arraydata" into pDBName TRY if pDBID is empty then \ put revOpenDatabase("sqlite", pDBFile) into pDBID IF "Error" is in pDBID THEN return empty END IF -- attempt to set the encoding put "PRAGMA encoding = 'UTF-16'" into tSQL revExecuteSQL pDBID, tSQL -- attempt to drop the table put "drop table " & pDBName into tDropSQL revExecuteSQL pDBID, tDropSQL put the result into tResult CATCH tError answer tError IF the environment is "development" THEN exit to top ELSE quit END TRY -- create the table put "create table" && quote & pDBName & quote \ & cr into tCreateCommand put "(" & quote & "recordid" & quote && "NUMERIC PRIMARY KEY UNIQUE, " \ & cr AFTER tCreateCommand put the keys of pArrayDataA [1] into tRecordKeyList filter lines of tRecordKeyList without "recordid" REPEAT for each line tRecordKey in tRecordKeyList if pArrayDataA [1] [tRecordKey] is an array or \ pArrayDataA [1] [tRecordKey] begins with "Salted__" then put "BLOB" into tColumnType else put VARCHAR into tColumnType end if put quote & tRecordKey & quote && tColumnType & "," && cr AFTER tCreateCommand END REPEAT delete char -3 to -1 of tCreateCommand put ")" AFTER tCreateCommand TRY revExecuteSQL pDBID, tCreateCommand put the result into tResult IF tResult is not 0 THEN breakpoint CATCH tError breakpoint END TRY put 1 into tRecordCounter put "recordid" & cr & tRecordKeyList into tColumns repeat with i = 1 to the number of lines of tColumns put ":" & i into item i of tColumnList end repeat put "(" & tColumnList & ")" into tColumnList -- insert data REPEAT for each line tKey in tArrayKeys put 1 into tColumnCounter put pArrayDataA [tKey] into tRecordDataA put tRecordCounter into tQueryDataA [1] REPEAT for each line tRecordKey in tRecordKeyList add 1 to tColumnCounter if tRecordDataA [tRecordKey] is an array then put arrayEncode(tRecordDataA [tRecordKey]) into tValue else put tRecordDataA [tRecordKey] into tValue end if put tValue into tQueryDataA [tColumnCounter] END REPEAT put "insert into" && pDBName && "VALUES" && tColumnList into tInsertSQL TRY revExecuteSQL pDBID, tInsertSQL, "tQueryDataA" put the result into tResult if the result is not a number then breakpoint CATCH tError breakpoint END TRY add 1 to tRecordCounter END REPEAT return pDBID END arrayToSQLite FUNCTION cursorToArray pCursorID put revNumberOfRecords(pCursorID) into tNumberOfRecords if tNumberOfRecords = 0 then \ return empty put revDatabaseColumnCount(pCursorID) into tColumnCount put revDatabaseColumnNames(pCursorID) into tColumnNames REPEAT forever add 1 to tRecordCount REPEAT with i = 1 to tColumnCount put revDatabaseColumnNumbered(pCursorID, i) into tColumnValue put tColumnValue into aCursorArray [tRecordCount] [item i of tColumnNames] END REPEAT revMoveToNextRecord pCursorID if revQueryIsAtEnd(pCursorID) then \ exit repeat END REPEAT return aCursorArray END cursorToArray > On Mar 25, 2024, at 3:06 PM, Alex Tweedly via use-livecode wrote: > > Bob - I think you've mentioned these functions (and posted code, or a pointer to code, for them) before (but I couldn't find it). Any chance you could re-post (or just send to me, or ...) > > Mike - I couldn't see in the thread *why* you want to use a dg ather than a pg ? Is there a missing capability you need ? Or some non-obvious (to me) reason to avoid pg? > > Thanks, > > Alex. > From selander at tkf.att.ne.jp Tue Mar 26 01:14:17 2024 From: selander at tkf.att.ne.jp (Tim Selander) Date: Tue, 26 Mar 2024 14:14:17 +0900 Subject: Tutorial for Livecode Server log in system Message-ID: <3f95b490-af44-2641-7211-d5823a0c97ef@tkf.att.ne.jp> Hi all. As a hobbiest/amateur I continue to plunk away with Livecode, mostly the server product in my on-rev account. Can anyone point me to a tutorial or sample of an online log in system (username, email and password) for a website using Livecode? I've found some php tutorials, and /think/ I could glean enough hints to roll my own in LC server, but would greatly prefer to start with LC itself! Any help appreciated! Tim Selander Japan From pxrossello at gmail.com Tue Mar 26 07:45:38 2024 From: pxrossello at gmail.com (pere xavier Rossello) Date: Tue, 26 Mar 2024 12:45:38 +0100 Subject: Tutorial for Livecode Server log in system In-Reply-To: <3f95b490-af44-2641-7211-d5823a0c97ef@tkf.att.ne.jp> References: <3f95b490-af44-2641-7211-d5823a0c97ef@tkf.att.ne.jp> Message-ID: Hi. To make online log in is quit easy in livecode. first you need a webpage with a form asking username, email and password ) and submit to a livecode script
--- method can be to types get or post - normally I use Get this will send username and pass to tloging.lc script and the livecode code script ------------------------- " put "window.location='impr_pend.lc?t=impresion';" put "" end if if len(gUsr)<2 or len(gPass)<2 then put "" end if put revOpenDatabase ("mysql", "localhost:3363","reparacion","gsmmax","11*Endimion_grd") into gDbId --put revdb_execute(gDbId, tSQL, "") into tResultado put "select pass,id,token from tecnicos where login='" & gUsr & "';" into tSQL put tSQL & "
" put revDataFromQuery(tab, return, gDbID, tSQL) into tRes set itemdelimiter to tab put item 1 of tRes into tPass put item 2 of tRes into tCod put item 3 of tRes into tToken El mar, 26 mar 2024 a las 6:15, Tim Selander via use-livecode (< use-livecode at lists.runrev.com>) escribió: > Hi all. > > As a hobbiest/amateur I continue to plunk away with Livecode, mostly the > server product in my on-rev account. > > Can anyone point me to a tutorial or sample of an online log in system > (username, email and password) for a website using Livecode? > > I've found some php tutorials, and /think/ I could glean enough hints to > roll my own in LC server, but would greatly prefer to start with LC itself! > > Any help appreciated! > > Tim Selander > Japan > > _______________________________________________ > 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 > From pxrossello at gmail.com Tue Mar 26 07:58:06 2024 From: pxrossello at gmail.com (pere xavier Rossello) Date: Tue, 26 Mar 2024 12:58:06 +0100 Subject: Tutorial for Livecode Server log in system In-Reply-To: References: <3f95b490-af44-2641-7211-d5823a0c97ef@tkf.att.ne.jp> Message-ID: cont ( make mistakes pushing tab on keyboard) full scrip " put "window.location='index.html?_e=Error_sin_login';" put "" end if -------------------- retrive pass from database put revOpenDatabase ("mysql", "localhost:3363","reparacion","gsmmax","11*Endimion_grd") into gDbId put "select pass,id,token from tecnicos where login='" & gUsr & "';" into tSQL put tSQL & "
" put revDataFromQuery(tab, return, gDbID, tSQL) into tRes set itemdelimiter to tab put item 1 of tRes into tPass put item 2 of tRes into tCod put item 3 of tRes into tToken if tPass <> gPass then -------------------------- error ----------------- put "" else ------------ Pass oK continue put "" end if revCloseDatabase gDbId ?> if someone want to try it: https://mpibox.com/rep/ login: user: test pass: admin if you need some help let me know. P.D. sorry for spelling mistakes. and other copy/paste El mar, 26 mar 2024 a las 12:45, pere xavier Rossello () escribió: > Hi. > > To make online log in is quit easy in livecode. > first you need a webpage with a form asking username, email and password ) > and submit to a livecode script >
enctype="text/plain"> > placeholder="Usuario" required> > required> > >
> --- method can be to types get or post - normally I use Get > this will send username and pass to tloging.lc script > > and the livecode code script > ------------------------- > put $_SERVER["REQUEST_METHOD"] into gMetodo > if gMetodo = "POST" then > put $_POST["login"] into gUsr > put $_POST["pass"] into gPass > put $_POST["tipo"] into gTipo > > else > put $_GET["login"] into gUsr > put $_GET["pass"] into gPass > put $_GET["tipo"] into gTipo > end if > if gPass = "print" and gUsr = "print" then > put "" > end if > if len(gUsr)<2 or len(gPass)<2 then > > put "" > end if > put revOpenDatabase ("mysql", > "localhost:3363","reparacion","gsmmax","11*Endimion_grd") into gDbId > > --put revdb_execute(gDbId, tSQL, "") into tResultado > put "select pass,id,token from tecnicos where login='" & gUsr & "';" into > tSQL > put tSQL & "
" > put revDataFromQuery(tab, return, gDbID, tSQL) into tRes > > set itemdelimiter to tab > put item 1 of tRes into tPass > put item 2 of tRes into tCod > put item 3 of tRes into tToken > > > > > > > > El mar, 26 mar 2024 a las 6:15, Tim Selander via use-livecode (< > use-livecode at lists.runrev.com>) escribió: > >> Hi all. >> >> As a hobbiest/amateur I continue to plunk away with Livecode, mostly the >> server product in my on-rev account. >> >> Can anyone point me to a tutorial or sample of an online log in system >> (username, email and password) for a website using Livecode? >> >> I've found some php tutorials, and /think/ I could glean enough hints to >> roll my own in LC server, but would greatly prefer to start with LC >> itself! >> >> Any help appreciated! >> >> Tim Selander >> Japan >> >> _______________________________________________ >> 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 >> > From MikeKerner at roadrunner.com Tue Mar 26 08:39:02 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Tue, 26 Mar 2024 08:39:02 -0400 Subject: FindIndex question In-Reply-To: <5dfb831c-f08d-41f0-8363-e8717918a067@tweedly.net> References: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> <5dfb831c-f08d-41f0-8363-e8717918a067@tweedly.net> Message-ID: other way, alex. use the pg, not the dg, for now. BUT, here's a good reason to use the dg - you can fix issues with it. the source of the pg is closed, and you can't get at it, AFAIK. check the issue tracker for issues with it. you can't address them. please, no comments from the peanut gallery on the status of lcb. that's a separate problem. SO, if the script compiler was in the wild, i would expect the dg to be faster. would it be as fast as the pg? dunno. but, again, you could work on it. On Mon, Mar 25, 2024 at 6:07 PM Alex Tweedly via use-livecode < use-livecode at lists.runrev.com> wrote: > Bob - I think you've mentioned these functions (and posted code, or a > pointer to code, for them) before (but I couldn't find it). Any chance > you could re-post (or just send to me, or ...) > > Mike - I couldn't see in the thread *why* you want to use a dg ather > than a pg ? Is there a missing capability you need ? Or some non-obvious > (to me) reason to avoid pg? > > Thanks, > > Alex. > > On 25/03/2024 18:50, Mike Kerner via use-livecode wrote: > > i guess what i'm wondering is how quickly or slowly the dg will render, > if > > the dgArray is large. it seems to be slower, when the array is larger. > > > > On Mon, Mar 25, 2024 at 2:48 PM Mike Kerner > > wrote: > > > >> i never heard of it called an "elevator". I anyways heard "thumb" > >> > >> On Mon, Mar 25, 2024 at 2:08 PM Bob Sneidar via use-livecode < > >> use-livecode at lists.runrev.com> wrote: > >> > >>> I’ve thought about that. A temporary memory database would not appear > to > >>> the user to be faster, as the initial query for a large dataset will > happen > >>> all at once during which Livecode would be unresponsive. And if you > page > >>> the queries from the live database, re-storing the data in a memory > >>> database would just be added time. > >>> > >>> You could use send in time to cache forward and backwards a few pages, > >>> and in that case a memory database could help, but if the user drags > the > >>> elevator box (how many people know what THAT is) then you go back to > square > >>> 1 concerning efficiency. > >>> > >>> Bob S > >>> > >>> > >>>> On Mar 25, 2024, at 10:34 AM, Mike Kerner via use-livecode < > >>> use-livecode at lists.runrev.com> wrote: > >>>> i would be curious to know if an in-memory sqlite db increases scroll > >>> speed > >>>> with dg's. > >>>> basically, you would live load the dg with pages from the db. > >>>> i can't imagine that the dg is faster than the pg. everything i've > tried > >>>> with the pg is faster than the dg. > >>>> just one more reason to resurrect the script compiler and release it. > >>>> > >>>> On Mon, Mar 25, 2024 at 11:16 AM Bob Sneidar via use-livecode < > >>>> use-livecode at lists.runrev.com> wrote: > >>>> > >>>>> I wrote a findInArray() function that will convert an array to a > memory > >>>>> based SQL database, and one of the arguments is the SQL query > >>> statement to > >>>>> use on the database. I have another called FilterArray() which simply > >>>>> iterates through the keys to output those matching a criteria. > >>>>> > >>>>> Bob S > >>>>> > >>>>>> On Mar 24, 2024, at 2:22 PM, Neville Smythe via use-livecode < > >>>>> use-livecode at lists.runrev.com> wrote: > >>>>>> > >>>>>>> On 25 Mar 2024, at 3:00 am,Mike Kerner wrote: > >>>>>>> > >>>>>>> i don't know if you dove into the code, but it's too early to think > >>>>> about > >>>>>>> unpacking this, so here's the code: ... > >>>>>> Thanks Mike > >>>>>> > >>>>>> While I was aware of the optional parameters feature of LC commands > I > >>>>> have never used it I so was unfamiliar with the syntax. The penny had > >>> never > >>>>> dropped that the parameter list for a command is just an array, so > >>>>> evidently you can actually send an array instead of a comma delimited > >>> list > >>>>>> Which means that you can send FindIndex a single parameter > pKeyPairsA > >>>>> which is an array with alternating colName,searchStr values > >>>>>> Setting up such an array is not particularly convenient for coding > >>>>> however. My workaround had been to use a custom function hack > >>>>>> function myFindIndex pDataGrid, pKeyPairs > >>>>>> — pKeyPairs is a comma delimited list such as > >>>>> “colname1,str1,colname2,str2,..” > >>>>>> replace comma with quote & comma & quote in pKeyPairs > >>>>>> put “dispatch FindIndex to” && pDataGrid && “with” && quote & > >>>>> pKeyPairs & quote into tCommandStr > >>>>>> do tCommandstr > >>>>>> put the result into tFoundIndex > >>>>>> ... > >>>>>> > >>>>>> A much more elegant (if probably no faster) solution is > >>>>>> > >>>>>> function myFindIndex pDataGrid, pKeyPairs > >>>>>> — pKeyPairs is a comma delimited list such as > >>>>> “colname1,str1,colname2,str2,..” > >>>>>> set the columnDelimiter to comma > >>>>>> split pKeyPairs by column > >>>>>> dispatch “FindIndex" to pDataGrid with pKeyPairs > >>>>>> put the result into tFoundIndex > >>>>>> ... > >>>>>> > >>>>>> > >>>>>> BTW, where did you find the source code for DataGrid handlers? I now > >>> see > >>>>> how one could write a FindIndices function to return all indices > rather > >>>>> than just the first found … or even a general WHERE search :-) > >>>>>> Neville Smythe > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>> _______________________________________________ > >>>>>> 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 > >>>>> _______________________________________________ > >>>>> 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 > >>>>> > >>>> > >>>> -- > >>>> On the first day, God created the heavens and the Earth > >>>> On the second day, God created the oceans. > >>>> On the third day, God put the animals on hold for a few hours, > >>>> and did a little diving. > >>>> And God said, "This is good." > >>>> _______________________________________________ > >>>> 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 > >>> _______________________________________________ > >>> 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 > >>> > >> > >> -- > >> On the first day, God created the heavens and the Earth > >> On the second day, God created the oceans. > >> On the third day, God put the animals on hold for a few hours, > >> and did a little diving. > >> And God said, "This is good." > >> > > > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From alex at tweedly.net Tue Mar 26 13:36:15 2024 From: alex at tweedly.net (Alex Tweedly) Date: Tue, 26 Mar 2024 17:36:15 +0000 Subject: Tutorial for Livecode Server log in system In-Reply-To: <3f95b490-af44-2641-7211-d5823a0c97ef@tkf.att.ne.jp> References: <3f95b490-af44-2641-7211-d5823a0c97ef@tkf.att.ne.jp> Message-ID: Hi Tim, I guess my first response would be - don't. Specifically, don't store or use passwords. Users have a bad habit of re-using the same passwords, so even if your site has no personal or valuable info about your users, the fact that passwords get re-used means you are storing valuable info, and so you're taking on a moral responsibility to keep it very safe. If you do have passwords, then you need to have a recovery mechanism for when users forget their pssword. 99% of the time, that involves emailing them a recovery link, or temp password, or ... So in effect the password has the same (or less) security than their email account - so you might as well just use the email account. Nowadays I always use this style of password-free accounts. I would have sent a copy of the known, tested, etc. code - but it's all embedded in lots of my libraries, etc. and was tricky to unravel. So I've sent a very bare-bones version; tested but not all corner cases (e.g. I didn't wait a week to ensure time-outs happened properly :-). Overview: The user asks for a code to login with, that gets emailed to them, and then they type that code in to the next screen. Once that's successfully done, you set up a cookie in their browser, valid for some reasonable length of time such as 7 days, and you're done. Any script that wants to can take the getCurrentUser() code to check that they are logged in properly. Internally, it's done by creating a temporary code (6 digits, which is recorded along with their email and expires within 15 minutes), and once they have verified that code, you give them a new code which is a UUID (so essentially un-guessable) which lasts for the 7 days. Other than that, I hope it's reasonably straightforward ..... Alex. simplelogin.lc ------------ tExpires then       return empty    else       return item 2 of line -1 of tCodes    end if end getCurrentUser function shellEscape pText -- keep this at the end because it messes up Coda colouring    repeat for each char tChar in "\`!$" & quote       replace tChar with "\" & tChar in pText    end repeat    return pText end shellEscape function wrapQ pText    return quote & pText & quote end wrapQ on askforemail  put "

"  put "    "  put "    "  put "    "  put "" end askforemail on askforcode  put "

"  put "    "  put "    "  put "    "  put "" end askforcode on askforlogout  put ""  put "    "  put "    "  put "" end askforlogout -- real code start here put getCurrentUser() into tUser if $_POST["logout"] AND tUser is not empty then    put $_COOKIE["myusercookie"] into tCode    put tCode & comma & tUser & comma & (the seconds-1) &CR after \        URL ("file:codes.txt")   put "Successfully logged out."   exit to top end if if tUser is not empty then -- ask them if they want to log out   put "Already logged in as " & tUser   askforlogout   exit to top end if put $_POST["code"] into tCode if tCode is not empty then   -- we need to compare this code with what is pending   put URL ("file:codes.txt") into tPending   put ( tCode & comma & "*") into tFilter   filter tPending with tFilter   put line -1 of tPending into tPending   if the seconds <= item 3 of tPending then  -- found a match pending      put item 2 of tPending into tEmail      put uuid("random") into tCode      put tCode & comma & tEmail & comma & (the seconds+60*60*24*7) &CR after \        URL ("file:codes.txt")      put cookie "myusercookie" with tCode until (the seconds + 60 * 60 * 24 * 7)      put "Successfully logged in"      exit to top   end if   -- no match for the code   put "Code not matched. Please try again or give different email address.

"   askforcode else   put $_POST["email"] into tEmail end if if tEmail is not empty then   -- have email address - generate a code and ask user for it   put random(999999) into tSix   put format("%06d", tSix) into tSix   -- put this following line in for quick and easy testing !!   -- be sure to take it out later !!!   put "should email" && tSix && "to you.

"   -- build the message header, adding the from, to and subject details   -- we also put any cc addresses in here, but not bcc (bcc addresses hidden)   put "info at kilmelford.com" into pFrom   -- CHANGE KILMELFORD.COM   put tEmail into pTo   put "From:" && pFrom  & return & \        "To:" && tEmail & return & \        "Subject: Login code for kilmelford.com" & \         return into tMsg    put "Content-Type: text/plain;" & return & return after tMsg    put "Your code is" && tSix && "and it will expire in 15 minutes" after tMsg    -- send the mail by piping the message we have just built to the sendmail command    get shell("echo" && wrapQ(shellEscape(tMsg)) && "| /usr/sbin/sendmail" && \          wrapQ(shellEscape(pTo)) && "-f" && wrapQ(shellEscape(pFrom)))   put the seconds into tEndTime   add 15 * 60 to tEndTime   put tSix & comma & tEmail & comma & tEndTime &CR after \        URL ("file:codes.txt")   askforcode   exit to top end if askforemail -- end of simplelogin.lc -------------------- From hlowe at me.com Tue Mar 26 20:26:10 2024 From: hlowe at me.com (HENRY LOWE) Date: Tue, 26 Mar 2024 17:26:10 -0700 Subject: iOS Privacy Manifest Requirements begin May 1 Message-ID: <0BF11B80-93E3-45D0-83D0-FEF3EBE61579@me.com> Received the following today while submitting an LC App update to the iOS store: ITMS-91053: Missing API declaration - Your app’s code references one or more APIs that require reasons, including the following API categories: NSPrivacyAccessedAPICategoryFileTimestamp While no action is required at this time, starting May 1, 2024, when you upload a new app or app update, you must include a NSPrivacyAccessedAPITypes array in your app’s privacy manifest to provide approved reasons for these APIs used by your app’s code. The relevant developer info is here: https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/ I assume that the Livecode Engine is using one or more APIs that will require a Privacy Manifest update? Henry From selander at tkf.att.ne.jp Wed Mar 27 18:44:02 2024 From: selander at tkf.att.ne.jp (Tim Selander) Date: Thu, 28 Mar 2024 07:44:02 +0900 Subject: Tutorial for Livecode Server log in system In-Reply-To: References: <3f95b490-af44-2641-7211-d5823a0c97ef@tkf.att.ne.jp> Message-ID: Dear Alex and Pere Thank you both for your code and and the time you took to help! I'm am working through the code you sent, studying out how it works. Great learning experience. Also, Alex, your point of not using password log ins is a philosophical re-frame in my thinking! Thank you! Tim On 2024/03/27 2:36, Alex Tweedly via use-livecode wrote: > Hi Tim, > > I guess my first response would be - don't. > > Specifically, don't store or use passwords. Users have a bad > habit of re-using the same passwords, so even if your site has no > personal or valuable info about your users, the fact that > passwords get re-used means you are storing valuable info, and so > you're taking on a moral responsibility to keep it very safe. > > If you do have passwords, then you need to have a recovery > mechanism for when users forget their pssword. 99% of the time, > that involves emailing them a recovery link, or temp password, or > ... So in effect the password has the same (or less) security > than their email account - so you might as well just use the > email account. > > Nowadays I always use this style of password-free accounts. I > would have sent a copy of the known, tested, etc. code - but it's > all embedded in lots of my libraries, etc. and was tricky to > unravel. So I've sent a very bare-bones version; tested but not > all corner cases (e.g. I didn't wait a week to ensure time-outs > happened properly :-). > > Overview: The user asks for a code to login with, that gets > emailed to them, and then they type that code in to the next > screen. Once that's successfully done, you set up a cookie in > their browser, valid for some reasonable length of time such as 7 > days, and you're done. Any script that wants to can take the > getCurrentUser() code to check that they are logged in properly. > > Internally, it's done by creating a temporary code (6 digits, > which is recorded along with their email and expires within 15 > minutes), and once they have verified that code, you give them a > new code which is a UUID (so essentially un-guessable) which > lasts for the 7 days. > > Other than that, I hope it's reasonably straightforward ..... > > > Alex. > > simplelogin.lc > ------------ > > > set the errormode to inline > > function getCurrentUser >    local tCookie, tCodes, tExpires >    put $_COOKIE["myusercookie"] into tCookie >    if tCookie is empty then >       return empty >    end if > >    -- codes are stored as code,email,expirydate (in seconds) >    put URL ("file:codes.txt") into tCodes >    filter tCodes with (tCookie & comma & "*") >    put item 3 of line -1 of tCodes into tExpires >    if seconds() > tExpires then >       return empty >    else >       return item 2 of line -1 of tCodes >    end if > end getCurrentUser > > function shellEscape pText > -- keep this at the end because it messes up Coda colouring >    repeat for each char tChar in "\`!$" & quote >       replace tChar with "\" & tChar in pText >    end repeat >    return pText > end shellEscape > > function wrapQ pText >    return quote & pText & quote > end wrapQ > > on askforemail >  put "

" >  put "    " >  put "    " >  put "    " >  put "" > end askforemail > > on askforcode >  put "

" >  put "    " >  put "    " >  put "    " >  put "" > end askforcode > > on askforlogout >  put "" >  put "    " >  put "    " >  put "" > end askforlogout > > -- real code start here > > put getCurrentUser() into tUser > > if $_POST["logout"] AND tUser is not empty then >    put $_COOKIE["myusercookie"] into tCode >    put tCode & comma & tUser & comma & (the seconds-1) &CR after \ >        URL ("file:codes.txt") >   put "Successfully logged out." >   exit to top > end if > > if tUser is not empty then -- ask them if they want to log out >   put "Already logged in as " & tUser >   askforlogout >   exit to top > end if > > put $_POST["code"] into tCode > if tCode is not empty then >   -- we need to compare this code with what is pending >   put URL ("file:codes.txt") into tPending >   put ( tCode & comma & "*") into tFilter >   filter tPending with tFilter >   put line -1 of tPending into tPending >   if the seconds <= item 3 of tPending then  -- found a match > pending >      put item 2 of tPending into tEmail >      put uuid("random") into tCode >      put tCode & comma & tEmail & comma & (the > seconds+60*60*24*7) &CR after \ >        URL ("file:codes.txt") >      put cookie "myusercookie" with tCode until (the seconds + > 60 * 60 * 24 * 7) >      put "Successfully logged in" >      exit to top >   end if >   -- no match for the code >   put "Code not matched. Please try again or give different > email address.

" >   askforcode > else >   put $_POST["email"] into tEmail > end if > > if tEmail is not empty then >   -- have email address - generate a code and ask user for it >   put random(999999) into tSix >   put format("%06d", tSix) into tSix > >   -- put this following line in for quick and easy testing !! >   -- be sure to take it out later !!! >   put "should email" && tSix && "to you.

" > >   -- build the message header, adding the from, to and subject > details >   -- we also put any cc addresses in here, but not bcc (bcc > addresses hidden) > >   put "info at kilmelford.com" into pFrom   -- CHANGE KILMELFORD.COM >   put tEmail into pTo >   put "From:" && pFrom  & return & \ >        "To:" && tEmail & return & \ >        "Subject: Login code for kilmelford.com" & \ >         return into tMsg > >    put "Content-Type: text/plain;" & return & return after tMsg >    put "Your code is" && tSix && "and it will expire in 15 > minutes" after tMsg > >    -- send the mail by piping the message we have just built to > the sendmail command >    get shell("echo" && wrapQ(shellEscape(tMsg)) && "| > /usr/sbin/sendmail" && \ >          wrapQ(shellEscape(pTo)) && "-f" && > wrapQ(shellEscape(pFrom))) > >   put the seconds into tEndTime >   add 15 * 60 to tEndTime >   put tSix & comma & tEmail & comma & tEndTime &CR after \ >        URL ("file:codes.txt") > >   askforcode >   exit to top > > end if > > askforemail > > -- end of simplelogin.lc > -------------------- > > > _______________________________________________ > 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 From bobsneidar at iotecdigital.com Wed Mar 27 18:55:45 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 27 Mar 2024 22:55:45 +0000 Subject: Revisiting Lock Screen Message-ID: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> Hi all. I read in the dictionary that Lock Screen does not work in Script Debug mode. Okay so I turn it off, put the command “Lock Screen” at the entry point to a selectionChanged handler which goes on to do a number of things that change the appearance of the screen. The screen is decidedly NOT LOCKED! The things I go on to do are things like changing the hilitedItems of a tab widget which in turn shows and hides a number of objects, and also changes the selection in a number of datagrids. Every action that alters the screen is visible after I issue the Lock Screen command. Is Lock Screen completely hosed? Am I missing something?? Bob S From bobsneidar at iotecdigital.com Wed Mar 27 19:01:51 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 27 Mar 2024 23:01:51 +0000 Subject: Revisiting Lock Screen In-Reply-To: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> Message-ID: <12ABAFF4-5B88-4B7F-98E8-9B8CAA26ECA1@iotecdigital.com> Oh, but it gets better. I put at the entry point of the script: lock screen put the lockscreen into tScreenIsLocked — I checked and this is true Then at the exit point: put the lockscreen STILL TRUE in spite of the fact that I see everything that the app is doing to the screen the entire time. Also curious is that I get the same result whether or not I am in script debug mode or no!!!!! Bob S > On Mar 27, 2024, at 3:55 PM, Bob Sneidar wrote: > > Hi all. > > I read in the dictionary that Lock Screen does not work in Script Debug mode. Okay so I turn it off, put the command “Lock Screen” at the entry point to a selectionChanged handler which goes on to do a number of things that change the appearance of the screen. The screen is decidedly NOT LOCKED! The things I go on to do are things like changing the hilitedItems of a tab widget which in turn shows and hides a number of objects, and also changes the selection in a number of datagrids. Every action that alters the screen is visible after I issue the Lock Screen command. > > Is Lock Screen completely hosed? Am I missing something?? > > Bob S > From bobsneidar at iotecdigital.com Wed Mar 27 19:03:27 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 27 Mar 2024 23:03:27 +0000 Subject: Tutorial for Livecode Server log in system In-Reply-To: References: <3f95b490-af44-2641-7211-d5823a0c97ef@tkf.att.ne.jp> Message-ID: <8579E98C-4BD2-4F3A-BD66-E320A673B607@iotecdigital.com> As an aside, I do store passwords, but I encrypt them first using a method only I know about. However I am not using a web portal, so there’s that. Bob S On Mar 27, 2024, at 3:44 PM, Tim Selander via use-livecode wrote: Dear Alex and Pere Thank you both for your code and and the time you took to help! I'm am working through the code you sent, studying out how it works. Great learning experience. Also, Alex, your point of not using password log ins is a philosophical re-frame in my thinking! Thank you! Tim From tom at makeshyft.com Wed Mar 27 23:43:47 2024 From: tom at makeshyft.com (Tom Glod) Date: Wed, 27 Mar 2024 23:43:47 -0400 Subject: Revisiting Lock Screen In-Reply-To: <12ABAFF4-5B88-4B7F-98E8-9B8CAA26ECA1@iotecdigital.com> References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <12ABAFF4-5B88-4B7F-98E8-9B8CAA26ECA1@iotecdigital.com> Message-ID: Bob, Sorry I can't double check at the moment, but I was reading the release notes for 10 dp7 and there was some stuff about that in there (Its possible I am ..... mis-remembering.) Is that the version you are using? On Wed, Mar 27, 2024 at 7:02 PM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > Oh, but it gets better. I put at the entry point of the script: > > lock screen > put the lockscreen into tScreenIsLocked — I checked and this is true > > Then at the exit point: > > put the lockscreen > > STILL TRUE in spite of the fact that I see everything that the app is > doing to the screen the entire time. > > Also curious is that I get the same result whether or not I am in script > debug mode or no!!!!! > > Bob S > > > > On Mar 27, 2024, at 3:55 PM, Bob Sneidar > wrote: > > > > Hi all. > > > > I read in the dictionary that Lock Screen does not work in Script Debug > mode. Okay so I turn it off, put the command “Lock Screen” at the entry > point to a selectionChanged handler which goes on to do a number of things > that change the appearance of the screen. The screen is decidedly NOT > LOCKED! The things I go on to do are things like changing the hilitedItems > of a tab widget which in turn shows and hides a number of objects, and also > changes the selection in a number of datagrids. Every action that alters > the screen is visible after I issue the Lock Screen command. > > > > Is Lock Screen completely hosed? Am I missing something?? > > > > Bob S > > > > _______________________________________________ > 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 > From heather at livecode.com Thu Mar 28 06:17:55 2024 From: heather at livecode.com (Heather Laine) Date: Thu, 28 Mar 2024 10:17:55 +0000 Subject: iOS Privacy Manifest Requirements begin May 1 In-Reply-To: <0BF11B80-93E3-45D0-83D0-FEF3EBE61579@me.com> References: <0BF11B80-93E3-45D0-83D0-FEF3EBE61579@me.com> Message-ID: <643524FC-CEC9-420D-BC0F-20D22BC060DA@livecode.com> Hello Henry, We're aware of this upcoming requirement and it will be addressed in 9.6.12, we expect an RC of this in April. You will probably also be able to retrospectively do it with a custom plist for 9.6.11. Best Regards, Heather Heather Laine Customer Services Manager LiveCode Ltd www.livecode.com > On 27 Mar 2024, at 00:26, HENRY LOWE via use-livecode wrote: > > Received the following today while submitting an LC App update to the iOS store: > > ITMS-91053: Missing API declaration - Your app’s code references one or more APIs that require reasons, including the following API categories: > > NSPrivacyAccessedAPICategoryFileTimestamp > > While no action is required at this time, starting May 1, 2024, when you upload a new app or app update, you must include a NSPrivacyAccessedAPITypes array in your app’s privacy manifest to provide approved reasons for these APIs used by your app’s code. > > The relevant developer info is here: > > https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/ > > I assume that the Livecode Engine is using one or more APIs that will require a Privacy Manifest update? > > Henry > > _______________________________________________ > 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 From alex at tweedly.net Thu Mar 28 08:13:41 2024 From: alex at tweedly.net (Alex Tweedly) Date: Thu, 28 Mar 2024 12:13:41 +0000 Subject: Revisiting Lock Screen In-Reply-To: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> Message-ID: <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> Hi Bob, I'm not sure from your description how / when you are seeing the (unexpected) changes happening. Remember that lockscreen is automatically set to false when there is no handler running, so unlerss you have an intensive handler running, you will see these changes. If it's not that - could you describe how you are verifying the effect of lockscreen in more detail. Thanks. Alex. On 27/03/2024 22:55, Bob Sneidar via use-livecode wrote: > Hi all. > > I read in the dictionary that Lock Screen does not work in Script Debug mode. Okay so I turn it off, put the command Lock Screen at the entry point to a selectionChanged handler which goes on to do a number of things that change the appearance of the screen. The screen is decidedly NOT LOCKED! The things I go on to do are things like changing the hilitedItems of a tab widget which in turn shows and hides a number of objects, and also changes the selection in a number of datagrids. Every action that alters the screen is visible after I issue the Lock Screen command. > > Is Lock Screen completely hosed? Am I missing something?? > > Bob S > > _______________________________________________ > 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 From craig at starfirelighting.com Thu Mar 28 08:48:17 2024 From: craig at starfirelighting.com (Craig Newman) Date: Thu, 28 Mar 2024 08:48:17 -0400 Subject: Revisiting Lock Screen In-Reply-To: <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> Message-ID: <05BE6F43-1278-40EB-90FA-0FD68C6B5BED@starfirelighting.com> Bob. I have no idea what you are facing with such a basic issue. To be sure, please, somewhere in the stack you are having the issue, make a button and a field and run this: on mouseup lock screen —comment out for the first run repeat 3 put random(999) into fld 1 wait 20 end repeat end mouseup Do you see the two scenarios above working normally? That is, with the lock screen disabled, you see three numbers in succession, and with it enabled, you only see the last one? Craig > On Mar 28, 2024, at 8:13 AM, Alex Tweedly via use-livecode wrote: > > Hi Bob, > > I'm not sure from your description how / when you are seeing the (unexpected) changes happening. > > Remember that lockscreen is automatically set to false when there is no handler running, so unlerss you have an intensive handler running, you will see these changes. > > If it's not that - could you describe how you are verifying the effect of lockscreen in more detail. Thanks. > > Alex. > > On 27/03/2024 22:55, Bob Sneidar via use-livecode wrote: >> Hi all. >> >> I read in the dictionary that Lock Screen does not work in Script Debug mode. Okay so I turn it off, put the command “Lock Screen” at the entry point to a selectionChanged handler which goes on to do a number of things that change the appearance of the screen. The screen is decidedly NOT LOCKED! The things I go on to do are things like changing the hilitedItems of a tab widget which in turn shows and hides a number of objects, and also changes the selection in a number of datagrids. Every action that alters the screen is visible after I issue the Lock Screen command. >> >> Is Lock Screen completely hosed? Am I missing something?? >> >> Bob S >> >> _______________________________________________ >> 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 > > _______________________________________________ > 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 From bobsneidar at iotecdigital.com Thu Mar 28 11:07:55 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 28 Mar 2024 15:07:55 +0000 Subject: Revisiting Lock Screen In-Reply-To: References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <12ABAFF4-5B88-4B7F-98E8-9B8CAA26ECA1@iotecdigital.com> Message-ID: No I am using 9.6.11. Bob S > On Mar 27, 2024, at 8:43 PM, Tom Glod via use-livecode wrote: > > Bob, > Sorry I can't double check at the moment, but I was reading the release > notes for 10 dp7 and there was some stuff about that in there > (Its possible I am ..... mis-remembering.) > Is that the version you are using? > > On Wed, Mar 27, 2024 at 7:02 PM Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> Oh, but it gets better. I put at the entry point of the script: >> >> lock screen >> put the lockscreen into tScreenIsLocked — I checked and this is true >> >> Then at the exit point: >> >> put the lockscreen >> >> STILL TRUE in spite of the fact that I see everything that the app is >> doing to the screen the entire time. >> >> Also curious is that I get the same result whether or not I am in script >> debug mode or no!!!!! >> >> Bob S >> >> >>> On Mar 27, 2024, at 3:55 PM, Bob Sneidar >> wrote: >>> >>> Hi all. >>> >>> I read in the dictionary that Lock Screen does not work in Script Debug >> mode. Okay so I turn it off, put the command “Lock Screen” at the entry >> point to a selectionChanged handler which goes on to do a number of things >> that change the appearance of the screen. The screen is decidedly NOT >> LOCKED! The things I go on to do are things like changing the hilitedItems >> of a tab widget which in turn shows and hides a number of objects, and also >> changes the selection in a number of datagrids. Every action that alters >> the screen is visible after I issue the Lock Screen command. >>> >>> Is Lock Screen completely hosed? Am I missing something?? >>> >>> Bob S >>> >> >> _______________________________________________ >> 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 >> > _______________________________________________ > 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 From bobsneidar at iotecdigital.com Thu Mar 28 11:21:36 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 28 Mar 2024 15:21:36 +0000 Subject: Revisiting Lock Screen In-Reply-To: <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> Message-ID: Hi Alex. Thanks for responding. I have a module in my app called Software. I have 5 datagrids, one for software and 4 others for the entities the software license is linked to. Each datagrid has associated fields as well. Customers, Sites, Devices and Files. Each of these entities can be linked to the Software license by clicking a checkbox for each entity. All this does is put the unique ID of the entity in the respective column of the Software record and then update the database. When I click on a software title, each entity’s datagrid changes its selection based on the unique id saved in the Software record. For instance if a customer has 3 sites, and the software is linked to one of those sites, the datagrid selection is changed to reflect that. The same for the other three datagrids. I also have a tab widget with a tab for each entity, so that I can show the datagrid and objects associated with that entity and hide the others. As I update each entity’s datagrid and objects, I show those objects. Normally I want to see these things change to give the user a visual clue that there is something being processed by the app, but the effect is so rapid, it really distracting, so I decided against that and put a Lock Screen at the beginning of the selectionChanged handler for the Software datagrid thinking that this would prevent all the rapid visual effects, but it doesn’t. I know that Lock Screen is in effect because I store the lockScreen in a variable right after setting it, then I check the variable in script debug mode. It is always true. I then remove the breakpoint, and run the routine, then check the lockscreen at the very end of the selectionChanged handler, it is STILL TRUE even though the screen has been updating the entire time. I hope that helps you. A screenshot or a short video would be nice but I cannot post those here. Bob S > On Mar 28, 2024, at 5:13 AM, Alex Tweedly via use-livecode wrote: > > Hi Bob, > > I'm not sure from your description how / when you are seeing the (unexpected) changes happening. > > Remember that lockscreen is automatically set to false when there is no handler running, so unlerss you have an intensive handler running, you will see these changes. > > If it's not that - could you describe how you are verifying the effect of lockscreen in more detail. Thanks. > > Alex. > > On 27/03/2024 22:55, Bob Sneidar via use-livecode wrote: >> Hi all. >> >> I read in the dictionary that Lock Screen does not work in Script Debug mode. Okay so I turn it off, put the command “Lock Screen” at the entry point to a selectionChanged handler which goes on to do a number of things that change the appearance of the screen. The screen is decidedly NOT LOCKED! The things I go on to do are things like changing the hilitedItems of a tab widget which in turn shows and hides a number of objects, and also changes the selection in a number of datagrids. Every action that alters the screen is visible after I issue the Lock Screen command. >> >> Is Lock Screen completely hosed? Am I missing something?? >> >> Bob S >> >> _______________________________________________ >> 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 > > _______________________________________________ > 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 From bobsneidar at iotecdigital.com Thu Mar 28 11:28:29 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 28 Mar 2024 15:28:29 +0000 Subject: Revisiting Lock Screen In-Reply-To: <05BE6F43-1278-40EB-90FA-0FD68C6B5BED@starfirelighting.com> References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> <05BE6F43-1278-40EB-90FA-0FD68C6B5BED@starfirelighting.com> Message-ID: Hi Craig thanks for responding. I am not updating fields per se as the only thing changing is the datagrid selection(s) and the status of the checkbox. Curiously I am not seeing the tab widget selection change but I am seeing the hiding and showing of the datagrids as each tab is selected. Bob S > On Mar 28, 2024, at 5:48 AM, Craig Newman via use-livecode wrote: > > Bob. > > I have no idea what you are facing with such a basic issue. To be sure, please, somewhere in the stack you are having the issue, make a button and a field and run this: > > on mouseup > > lock screen —comment out for the first run > > repeat 3 > > put random(999) into fld 1 > > wait 20 > > end repeat > > end mouseup > > > > Do you see the two scenarios above working normally? That is, with the lock screen disabled, you see three numbers in succession, and with it enabled, you only see the last one? > > Craig > > >> On Mar 28, 2024, at 8:13 AM, Alex Tweedly via use-livecode wrote: >> >> Hi Bob, >> >> I'm not sure from your description how / when you are seeing the (unexpected) changes happening. >> >> Remember that lockscreen is automatically set to false when there is no handler running, so unlerss you have an intensive handler running, you will see these changes. >> >> If it's not that - could you describe how you are verifying the effect of lockscreen in more detail. Thanks. >> >> Alex. >> >> On 27/03/2024 22:55, Bob Sneidar via use-livecode wrote: >>> Hi all. >>> >>> I read in the dictionary that Lock Screen does not work in Script Debug mode. Okay so I turn it off, put the command “Lock Screen” at the entry point to a selectionChanged handler which goes on to do a number of things that change the appearance of the screen. The screen is decidedly NOT LOCKED! The things I go on to do are things like changing the hilitedItems of a tab widget which in turn shows and hides a number of objects, and also changes the selection in a number of datagrids. Every action that alters the screen is visible after I issue the Lock Screen command. >>> >>> Is Lock Screen completely hosed? Am I missing something?? >>> >>> Bob S >>> >>> _______________________________________________ >>> 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 >> >> _______________________________________________ >> 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 > > _______________________________________________ > 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 From bobsneidar at iotecdigital.com Thu Mar 28 11:30:26 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 28 Mar 2024 15:30:26 +0000 Subject: Revisiting Lock Screen In-Reply-To: References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> <05BE6F43-1278-40EB-90FA-0FD68C6B5BED@starfirelighting.com> Message-ID: The issue may be with the datagrids. It appears that Lock Screen is not preventing changes to the datagrids from refreshing the screen. Bob S > On Mar 28, 2024, at 8:28 AM, Bob Sneidar wrote: > > Hi Craig thanks for responding. I am not updating fields per se as the only thing changing is the datagrid selection(s) and the status of the checkbox. > > Curiously I am not seeing the tab widget selection change but I am seeing the hiding and showing of the datagrids as each tab is selected. > > Bob S > > >> On Mar 28, 2024, at 5:48 AM, Craig Newman via use-livecode wrote: >> >> Bob. >> >> I have no idea what you are facing with such a basic issue. To be sure, please, somewhere in the stack you are having the issue, make a button and a field and run this: >> >> on mouseup >> >> lock screen —comment out for the first run >> >> repeat 3 >> >> put random(999) into fld 1 >> >> wait 20 >> >> end repeat >> >> end mouseup >> >> >> >> Do you see the two scenarios above working normally? That is, with the lock screen disabled, you see three numbers in succession, and with it enabled, you only see the last one? >> >> Craig >> >> From MikeKerner at roadrunner.com Thu Mar 28 11:48:58 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Thu, 28 Mar 2024 11:48:58 -0400 Subject: Revisiting Lock Screen In-Reply-To: References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> <05BE6F43-1278-40EB-90FA-0FD68C6B5BED@starfirelighting.com> Message-ID: there are many (many) datagrid functions and commands that unlock the screen, the behavior script for dg's is 11,597 lines long. i started copying/pasting the signature of them, but finally decided there were many too many. instead of deleting the rest of this post, i left them in place. i reiterate, i only went through around 2100 lines, or around 20% of the dg behavior. i don't know how many more there are. *command* _SetScrollbarWidth pWidth *private* *command* _CreateDragImageFromControl pControl *private* *command* _CreateDragImageFromIndex pIndex *private* *command* _PositionDropIndicator pMouseH, pMouseV *command* dgArrowKey pDirection *command* dgMouseDown pMouseBtnNum *command* EditCellOfIndex pColumn, pIndex *command* EditKeyOfIndex pKey, pIndex *command* DeleteIndexes pIndexes *command* SortDataByKey pKey, pType, pDirection, pCaseSensitive *command* ReverseSort pColumn *command* HiliteAndStoreSortByColumn pColumn *private* *command* _SortByColumn pColumn *command* SortByColumn pColumn *command* ResizeToFit *private* *command* _DrawList *command* dgResetList *command* RefreshList *command* ResetControl *private* *command* _ResetAllControls *private* *command* _ResetData *private* *command* _ToggleVScrollBarVisibility pBoolean *private* *command* _ToggleHScrollBarVisibility pBoolean *private* *command* _DrawListWithProperties pStartingSequence, pSetVScrollTo, pForceRefresh, pCallback, pCallbackContext *private* *command* _DeleteControls On Thu, Mar 28, 2024 at 11:31 AM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > The issue may be with the datagrids. It appears that Lock Screen is not > preventing changes to the datagrids from refreshing the screen. > > Bob S > > > > On Mar 28, 2024, at 8:28 AM, Bob Sneidar > wrote: > > > > Hi Craig thanks for responding. I am not updating fields per se as the > only thing changing is the datagrid selection(s) and the status of the > checkbox. > > > > Curiously I am not seeing the tab widget selection change but I am > seeing the hiding and showing of the datagrids as each tab is selected. > > > > Bob S > > > > > >> On Mar 28, 2024, at 5:48 AM, Craig Newman via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> > >> Bob. > >> > >> I have no idea what you are facing with such a basic issue. To be sure, > please, somewhere in the stack you are having the issue, make a button and > a field and run this: > >> > >> on mouseup > >> > >> lock screen —comment out for the first run > >> > >> repeat 3 > >> > >> put random(999) into fld 1 > >> > >> wait 20 > >> > >> end repeat > >> > >> end mouseup > >> > >> > >> > >> Do you see the two scenarios above working normally? That is, with the > lock screen disabled, you see three numbers in succession, and with it > enabled, you only see the last one? > >> > >> Craig > >> > >> > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From bobsneidar at iotecdigital.com Thu Mar 28 12:21:30 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 28 Mar 2024 16:21:30 +0000 Subject: Revisiting Lock Screen In-Reply-To: References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> <05BE6F43-1278-40EB-90FA-0FD68C6B5BED@starfirelighting.com> Message-ID: <00091D27-5CA7-43B2-A1D4-2A182681E559@iotecdigital.com> Wow thanks for that! I think I remember now this came up before, and datagrids were the culprit. But that does seem odd, doesn’t it? Why would a screen lock interfere with the datagrid behavior? (That is rhetorical. Only the devs would know that.) Bob S On Mar 28, 2024, at 8:48 AM, Mike Kerner via use-livecode wrote: there are many (many) datagrid functions and commands that unlock the screen, the behavior script for dg's is 11,597 lines long. i started copying/pasting the signature of them, but finally decided there were many too many. instead of deleting the rest of this post, i left them in place. i reiterate, i only went through around 2100 lines, or around 20% of the dg behavior. i don't know how many more there are. From MikeKerner at roadrunner.com Thu Mar 28 12:31:48 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Thu, 28 Mar 2024 12:31:48 -0400 Subject: Revisiting Lock Screen In-Reply-To: <00091D27-5CA7-43B2-A1D4-2A182681E559@iotecdigital.com> References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> <05BE6F43-1278-40EB-90FA-0FD68C6B5BED@starfirelighting.com> <00091D27-5CA7-43B2-A1D4-2A182681E559@iotecdigital.com> Message-ID: didn't you say your code was modifying a dg? i see a couple of possible failure points: * the widget could be doing something unexpected * the dg could be unlocking the screen. you could also try two or more lock screens. i believe lock screen is additive. until idle. On Thu, Mar 28, 2024 at 12:22 PM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > Wow thanks for that! I think I remember now this came up before, and > datagrids were the culprit. > > But that does seem odd, doesn’t it? Why would a screen lock interfere with > the datagrid behavior? (That is rhetorical. Only the devs would know that.) > > Bob S > > > On Mar 28, 2024, at 8:48 AM, Mike Kerner via use-livecode < > use-livecode at lists.runrev.com> wrote: > > there are many (many) datagrid functions and commands that unlock the > screen, > the behavior script for dg's is 11,597 lines long. > i started copying/pasting the signature of them, but finally decided there > were many too many. instead of deleting the rest of this post, i left them > in place. > i reiterate, i only went through around 2100 lines, or around 20% of the dg > behavior. i don't know how many more there are. > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From rdimola at evergreeninfo.net Thu Mar 28 12:47:20 2024 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Thu, 28 Mar 2024 12:47:20 -0400 Subject: Facebook in Browser Widget Message-ID: <001d01da812f$9d52db70$d7f89250$@net> LC 9.6.11 pro Win 10 When I open Facebook url "https://www.facebook.com/someAccount" in the browser widget in an Android app I briefly see the Facebook page and then get the error net:ERR_UNKNOWN_URL_SCHEME. The Error url displayed is "fc://profile..." this used to work. This happens if the FB app is or is not installed. What I would like is if the app is not installed then open in the browser widget or if FB is installed then open in the FB app. I have not tested iOS yet. Thanks in advance Ralph DiMola IT Director Evergreen Information Services rdimola at evergreeninfo.net From bobsneidar at iotecdigital.com Thu Mar 28 13:23:45 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 28 Mar 2024 17:23:45 +0000 Subject: Revisiting Lock Screen In-Reply-To: References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> <05BE6F43-1278-40EB-90FA-0FD68C6B5BED@starfirelighting.com> <00091D27-5CA7-43B2-A1D4-2A182681E559@iotecdigital.com> Message-ID: Thanks Mike. I think I am going to have to come up with an alternative. Something like taking a snapshot of the window then overlaying it on the window while processing, then deleting it when done. The trouble is I have other windows open that will update because they are synching with the module I am working in. Also this won’t improve performance the way Lock Screen would (should). Bob S On Mar 28, 2024, at 9:31 AM, Mike Kerner via use-livecode wrote: didn't you say your code was modifying a dg? i see a couple of possible failure points: * the widget could be doing something unexpected * the dg could be unlocking the screen. you could also try two or more lock screens. i believe lock screen is additive. until idle. On Thu, Mar 28, 2024 at 12:22 PM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: Wow thanks for that! I think I remember now this came up before, and datagrids were the culprit. But that does seem odd, doesn’t it? Why would a screen lock interfere with the datagrid behavior? (That is rhetorical. Only the devs would know that.) Bob S From MikeKerner at roadrunner.com Thu Mar 28 13:30:02 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Thu, 28 Mar 2024 13:30:02 -0400 Subject: Revisiting Lock Screen In-Reply-To: References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> <05BE6F43-1278-40EB-90FA-0FD68C6B5BED@starfirelighting.com> <00091D27-5CA7-43B2-A1D4-2A182681E559@iotecdigital.com> Message-ID: what about switching to pg? On Thu, Mar 28, 2024 at 1:24 PM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > Thanks Mike. > > I think I am going to have to come up with an alternative. Something like > taking a snapshot of the window then overlaying it on the window while > processing, then deleting it when done. > > The trouble is I have other windows open that will update because they are > synching with the module I am working in. Also this won’t improve > performance the way Lock Screen would (should). > > Bob S > > > On Mar 28, 2024, at 9:31 AM, Mike Kerner via use-livecode < > use-livecode at lists.runrev.com> wrote: > > didn't you say your code was modifying a dg? > i see a couple of possible failure points: > * the widget could be doing something unexpected > * the dg could be unlocking the screen. > you could also try two or more lock screens. i believe lock screen is > additive. until idle. > > On Thu, Mar 28, 2024 at 12:22 PM Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> > wrote: > > Wow thanks for that! I think I remember now this came up before, and > datagrids were the culprit. > > But that does seem odd, doesn’t it? Why would a screen lock interfere with > the datagrid behavior? (That is rhetorical. Only the devs would know that.) > > Bob S > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From bobsneidar at iotecdigital.com Thu Mar 28 13:55:39 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 28 Mar 2024 17:55:39 +0000 Subject: Revisiting Lock Screen In-Reply-To: References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> <05BE6F43-1278-40EB-90FA-0FD68C6B5BED@starfirelighting.com> <00091D27-5CA7-43B2-A1D4-2A182681E559@iotecdigital.com> Message-ID: I do a lot with DG that is not supported with PG. Also I just discovered that on a MacOS device, the snapshot of the card shows the custom menu, even though the menu is not inside the rect of the card. . I will have to calculate the rect as well. No big deal, just more things to have to workaround. Bob S On Mar 28, 2024, at 10:30 AM, Mike Kerner via use-livecode wrote: what about switching to pg? On Thu, Mar 28, 2024 at 1:24 PM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: Thanks Mike. I think I am going to have to come up with an alternative. Something like taking a snapshot of the window then overlaying it on the window while processing, then deleting it when done. The trouble is I have other windows open that will update because they are synching with the module I am working in. Also this won’t improve performance the way Lock Screen would (should). Bob S On Mar 28, 2024, at 9:31 AM, Mike Kerner via use-livecode < use-livecode at lists.runrev.com> wrote: didn't you say your code was modifying a dg? i see a couple of possible failure points: * the widget could be doing something unexpected * the dg could be unlocking the screen. you could also try two or more lock screens. i believe lock screen is additive. until idle. On Thu, Mar 28, 2024 at 12:22 PM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: Wow thanks for that! I think I remember now this came up before, and datagrids were the culprit. But that does seem odd, doesn’t it? Why would a screen lock interfere with the datagrid behavior? (That is rhetorical. Only the devs would know that.) Bob S From paul at researchware.com Thu Mar 28 15:13:35 2024 From: paul at researchware.com (Paul Dupuis) Date: Thu, 28 Mar 2024 15:13:35 -0400 Subject: Revisiting Lock Screen In-Reply-To: References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <12ABAFF4-5B88-4B7F-98E8-9B8CAA26ECA1@iotecdigital.com> Message-ID: <93863b75-1395-4ea1-9b54-b9c6b2ddd2b9@researchware.com> In our app, we have a lot of handlers (internal APIs) that get called by other handlers and, as multiple developers are involved, knowing what is calling what takes some effort. To address the issue of screen locks, we adopted a coding standard as follows: If a handler should lock the screen, we add the following code: put the lockScreen into tPreserveLockScreen if tPreserveLockScreen is false then lock screen -- if the screen is not already locked by any calling handler, then lock the screen, else, the screen is already locked by the calling handler ... code of the handler .... if tPreserveLockScreen is false then unlock screen -- if the screen was not locked by the calling handler, it was locked by this handler, so unlock it, else, expect that the calling handler should unlock it (or preserve it as appropriate) I know this doesn't address the specific issue raised in this thread, but I thought this model may be helpful to someone reading this thread. From rdimola at evergreeninfo.net Thu Mar 28 17:57:56 2024 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Thu, 28 Mar 2024 17:57:56 -0400 Subject: Browser Widget and Google Maps Api on Win 10 Message-ID: <002d01da815b$00e8e140$02baa3c0$@net> When in the IDE and testing using the browser widget the line below does not ever complete. The call back to "startMapInit" is never called. This works on Win 10 desktop in Chrome and LC deployed Android app using the same browser widget as in the IDE. I will test on iOS. The real question is how to see JavaScript errors in the Browser Widget? Ralph DiMola IT Director Evergreen Information Services rdimola at evergreeninfo.net From bobsneidar at iotecdigital.com Fri Mar 1 11:05:59 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 1 Mar 2024 16:05:59 +0000 Subject: sideloading updates to mobile In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> Isn’t the Library sandboxed? Bob S On Feb 29, 2024, at 6:35 PM, Mike Kerner via use-livecode wrote: any reason to store in documents instead of in library? it seems like there might be less of a chance of the user misusing the Files app to break the app. On Thu, Feb 29, 2024 at 5:32 PM Mike Kerner > wrote: ah. that's a better way of handling this. i was going to have the app check the documents folder for updates, before loading a stack, but if i keep the source stacks, there, it will work better. On Thu, Feb 29, 2024 at 3:10 PM J. Landman Gay via use-livecode < use-livecode at lists.runrev.com> wrote: You can't add or change anything inside the app bundle so downloaded files have to go in specialFolderPath("documents"). Copy the originals from the resources folder to the documents folder on first launch so you always have a known file path location. Any file in documents will be overwritten with the new download if the file name is the same. From jacque at hyperactivesw.com Fri Mar 1 11:31:35 2024 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 01 Mar 2024 10:31:35 -0600 Subject: sideloading updates to mobile In-Reply-To: <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> Message-ID: <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Both library and documents are sandboxed, I think all the listed folders are. I mostly use documents so that I have the same file paths on both iOS and Android since I generally need to build for both. But either one will work. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On March 1, 2024 10:08:15 AM Bob Sneidar via use-livecode wrote: > Isnt the Library sandboxed? > > Bob S > > > On Feb 29, 2024, at 6:35 PM, Mike Kerner via use-livecode > wrote: > > any reason to store in documents instead of in library? > it seems like there might be less of a chance of the user misusing the > Files app to break the app. > > On Thu, Feb 29, 2024 at 5:32PM Mike Kerner > > > wrote: > > ah. that's a better way of handling this. i was going to have the app > check the documents folder for updates, before loading a stack, but if i > keep the source stacks, there, it will work better. > > On Thu, Feb 29, 2024 at 3:10PM J. Landman Gay via use-livecode < > use-livecode at lists.runrev.com> wrote: > > You can't add or change anything inside the app bundle so downloaded > files > have to go in specialFolderPath("documents"). Copy the originals from the > resources folder to the documents folder on first launch so you always > have > a known file path location. Any file in documents will be overwritten > with > the new download if the file name is the same. > > > _______________________________________________ > 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 From bobsneidar at iotecdigital.com Fri Mar 1 11:40:03 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 1 Mar 2024 16:40:03 +0000 Subject: sideloading updates to mobile In-Reply-To: <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> Hell that means EVERYTHING is sandboxed! I need to go buy a pail and shovel! Bob S > On Mar 1, 2024, at 8:31 AM, J. Landman Gay via use-livecode wrote: > > Both library and documents are sandboxed, I think all the listed folders are. I mostly use documents so that I have the same file paths on both iOS and Android since I generally need to build for both. But either one will work. > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > On March 1, 2024 10:08:15 AM Bob Sneidar via use-livecode wrote: > >> Isn’t the Library sandboxed? >> >> Bob S >> >> >> On Feb 29, 2024, at 6:35 PM, Mike Kerner via use-livecode wrote: >> >> any reason to store in documents instead of in library? >> it seems like there might be less of a chance of the user misusing the >> Files app to break the app. >> >> On Thu, Feb 29, 2024 at 5:32 PM Mike Kerner > >> wrote: >> >> ah. that's a better way of handling this. i was going to have the app >> check the documents folder for updates, before loading a stack, but if i >> keep the source stacks, there, it will work better. >> >> On Thu, Feb 29, 2024 at 3:10 PM J. Landman Gay via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >> You can't add or change anything inside the app bundle so downloaded >> files >> have to go in specialFolderPath("documents"). Copy the originals from the >> resources folder to the documents folder on first launch so you always >> have >> a known file path location. Any file in documents will be overwritten >> with >> the new download if the file name is the same. >> >> >> _______________________________________________ >> 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 > > > > > _______________________________________________ > 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 From jacque at hyperactivesw.com Fri Mar 1 11:45:22 2024 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 01 Mar 2024 10:45:22 -0600 Subject: sideloading updates to mobile In-Reply-To: <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> Message-ID: <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Right. In spite of Android's "external documents" option, which I needed, it's still in the sandbox. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On March 1, 2024 10:42:04 AM Bob Sneidar via use-livecode wrote: > Hell that means EVERYTHING is sandboxed! I need to go buy a pail and shovel! > > Bob S > > >> On Mar 1, 2024, at 8:31 AM, J. Landman Gay via use-livecode >> wrote: >> >> Both library and documents are sandboxed, I think all the listed folders >> are. I mostly use documents so that I have the same file paths on both iOS >> and Android since I generally need to build for both. But either one will work. >> >> -- >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> HyperActive Software | http://www.hyperactivesw.com >> On March 1, 2024 10:08:15 AM Bob Sneidar via use-livecode >> wrote: >> >>> Isnt the Library sandboxed? >>> >>> Bob S >>> >>> >>> On Feb 29, 2024, at 6:35 PM, Mike Kerner via use-livecode >>> wrote: >>> >>> any reason to store in documents instead of in library? >>> it seems like there might be less of a chance of the user misusing the >>> Files app to break the app. >>> >>> On Thu, Feb 29, 2024 at 5:32PM Mike Kerner >>> > >>> wrote: >>> >>> ah. that's a better way of handling this. i was going to have the app >>> check the documents folder for updates, before loading a stack, but if i >>> keep the source stacks, there, it will work better. >>> >>> On Thu, Feb 29, 2024 at 3:10PM J. Landman Gay via use-livecode < >>> use-livecode at lists.runrev.com> wrote: >>> >>> You can't add or change anything inside the app bundle so downloaded >>> files >>> have to go in specialFolderPath("documents"). Copy the originals from the >>> resources folder to the documents folder on first launch so you always >>> have >>> a known file path location. Any file in documents will be overwritten >>> with >>> the new download if the file name is the same. >>> >>> >>> _______________________________________________ >>> 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 >> >> >> >> >> _______________________________________________ >> 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 > > _______________________________________________ > 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 From bobsneidar at iotecdigital.com Fri Mar 1 11:48:25 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 1 Mar 2024 16:48:25 +0000 Subject: sideloading updates to mobile In-Reply-To: <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: They should stop calling it a Sandbox then. It’s the entire beach! LOL! Bob S On Mar 1, 2024, at 8:45 AM, J. Landman Gay via use-livecode wrote: Right. In spite of Android's "external documents" option, which I needed, it's still in the sandbox. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On March 1, 2024 10:42:04 AM Bob Sneidar via use-livecode wrote: From jacque at hyperactivesw.com Fri Mar 1 12:37:19 2024 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 01 Mar 2024 11:37:19 -0600 Subject: sideloading updates to mobile In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: <18dfb178498.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> But it's a private beach. No trespassing. Guards. Barbed wire. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On March 1, 2024 10:50:17 AM Bob Sneidar via use-livecode wrote: > They should stop calling it a Sandbox then. Its the entire beach! LOL! > > Bob S > > > On Mar 1, 2024, at 8:45 AM, J. Landman Gay via use-livecode > wrote: > > Right. In spite of Android's "external documents" option, which I needed, > it's still in the sandbox. > > -- > Jacqueline Landman Gay | > jacque at hyperactivesw.com > HyperActive Software | > http://www.hyperactivesw.com > On March 1, 2024 10:42:04 AM Bob Sneidar via use-livecode > wrote: > > > > _______________________________________________ > 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 From MikeKerner at roadrunner.com Fri Mar 1 12:37:41 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Fri, 1 Mar 2024 12:37:41 -0500 Subject: sideloading updates to mobile In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: i'm going to have to mess with this, some more. i didn't think documents is sandboxed. On Fri, Mar 1, 2024 at 11:49 AM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > They should stop calling it a Sandbox then. It’s the entire beach! LOL! > > Bob S > > > On Mar 1, 2024, at 8:45 AM, J. Landman Gay via use-livecode < > use-livecode at lists.runrev.com> wrote: > > Right. In spite of Android's "external documents" option, which I needed, > it's still in the sandbox. > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com jacque at hyperactivesw.com> > HyperActive Software | http://www.hyperactivesw.com< > http://www.hyperactivesw.com/> > On March 1, 2024 10:42:04 AM Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From jacque at hyperactivesw.com Fri Mar 1 13:09:28 2024 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 01 Mar 2024 12:09:28 -0600 Subject: sideloading updates to mobile In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> A quick test would be to see if Files can access the private documents of any installed app. I could try it if I didn't have to steal my husband's phone, which is tricky business. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On March 1, 2024 11:40:09 AM Mike Kerner via use-livecode wrote: > i'm going to have to mess with this, some more. i didn't think documents is > sandboxed. > > > On Fri, Mar 1, 2024 at 11:49AM Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> They should stop calling it a Sandbox then. Its the entire beach! LOL! >> >> Bob S >> >> >> On Mar 1, 2024, at 8:45 AM, J. Landman Gay via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >> Right. In spite of Android's "external documents" option, which I needed, >> it's still in the sandbox. >> >> -- >> Jacqueline Landman Gay | jacque at hyperactivesw.com> jacque at hyperactivesw.com> >> HyperActive Software | http://www.hyperactivesw.com< >> http://www.hyperactivesw.com/> >> On March 1, 2024 10:42:04 AM Bob Sneidar via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >> >> >> _______________________________________________ >> 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 >> > > > -- > On the first day, God created the heavens and the Earth > On the second day, God created the oceans. > On the third day, God put the animals on hold for a few hours, > and did a little diving. > And God said, "This is good." > _______________________________________________ > 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 From MikeKerner at roadrunner.com Fri Mar 1 13:22:54 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Fri, 1 Mar 2024 13:22:54 -0500 Subject: sideloading updates to mobile In-Reply-To: <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: the latest pieces that i found on the topic said that files can access the documents folder (but not library), and that it is available by other means, without jailbreaking. thus, i need to screw around with this, some more. if it's unavailable, then great, no need for library. in The Before Times, documents was isolated, but i thought that changed. On Fri, Mar 1, 2024 at 1:10 PM J. Landman Gay via use-livecode < use-livecode at lists.runrev.com> wrote: > A quick test would be to see if Files can access the private documents of > any installed app. I could try it if I didn't have to steal my husband's > phone, which is tricky business. > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > On March 1, 2024 11:40:09 AM Mike Kerner via use-livecode > wrote: > > > i'm going to have to mess with this, some more. i didn't think documents > is > > sandboxed. > > > > > > On Fri, Mar 1, 2024 at 11:49 AM Bob Sneidar via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > >> They should stop calling it a Sandbox then. It’s the entire beach! LOL! > >> > >> Bob S > >> > >> > >> On Mar 1, 2024, at 8:45 AM, J. Landman Gay via use-livecode < > >> use-livecode at lists.runrev.com> wrote: > >> > >> Right. In spite of Android's "external documents" option, which I > needed, > >> it's still in the sandbox. > >> > >> -- > >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> jacque at hyperactivesw.com> > >> HyperActive Software | http://www.hyperactivesw.com< > >> http://www.hyperactivesw.com/> > >> On March 1, 2024 10:42:04 AM Bob Sneidar via use-livecode < > >> use-livecode at lists.runrev.com> wrote: > >> > >> > >> > >> _______________________________________________ > >> 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 > >> > > > > > > -- > > On the first day, God created the heavens and the Earth > > On the second day, God created the oceans. > > On the third day, God put the animals on hold for a few hours, > > and did a little diving. > > And God said, "This is good." > > _______________________________________________ > > 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 > > > > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From jacque at hyperactivesw.com Fri Mar 1 18:37:58 2024 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 01 Mar 2024 17:37:58 -0600 Subject: sideloading updates to mobile In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Let me know if you find out. I'm still running in the before times. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On March 1, 2024 12:25:21 PM Mike Kerner via use-livecode wrote: > the latest pieces that i found on the topic said that files can access the > documents folder (but not library), and that it is available by other > means, without jailbreaking. > thus, i need to screw around with this, some more. > if it's unavailable, then great, no need for library. > in The Before Times, documents was isolated, but i thought that changed. > > On Fri, Mar 1, 2024 at 1:10PM J. Landman Gay via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> A quick test would be to see if Files can access the private documents of >> any installed app. I could try it if I didn't have to steal my husband's >> phone, which is tricky business. >> >> -- >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> HyperActive Software | http://www.hyperactivesw.com >> On March 1, 2024 11:40:09 AM Mike Kerner via use-livecode >> wrote: >> >> > i'm going to have to mess with this, some more. i didn't think documents >> is >> > sandboxed. >> > >> > >> > On Fri, Mar 1, 2024 at 11:49AM Bob Sneidar via use-livecode < >> > use-livecode at lists.runrev.com> wrote: >> > >> >> They should stop calling it a Sandbox then. Its the entire beach! LOL! >> >> >> >> Bob S >> >> >> >> >> >> On Mar 1, 2024, at 8:45 AM, J. Landman Gay via use-livecode < >> >> use-livecode at lists.runrev.com> wrote: >> >> >> >> Right. In spite of Android's "external documents" option, which I >> needed, >> >> it's still in the sandbox. >> >> >> >> -- >> >> Jacqueline Landman Gay | jacque at hyperactivesw.com> >> jacque at hyperactivesw.com> >> >> HyperActive Software | http://www.hyperactivesw.com< >> >> http://www.hyperactivesw.com/> >> >> On March 1, 2024 10:42:04 AM Bob Sneidar via use-livecode < >> >> use-livecode at lists.runrev.com> wrote: >> >> >> >> >> >> >> >> _______________________________________________ >> >> 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 >> >> >> > >> > >> > -- >> > On the first day, God created the heavens and the Earth >> > On the second day, God created the oceans. >> > On the third day, God put the animals on hold for a few hours, >> > and did a little diving. >> > And God said, "This is good." >> > _______________________________________________ >> > 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 >> >> >> >> >> _______________________________________________ >> 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 >> > > > -- > On the first day, God created the heavens and the Earth > On the second day, God created the oceans. > On the third day, God put the animals on hold for a few hours, > and did a little diving. > And God said, "This is good." > _______________________________________________ > 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 From MikeKerner at roadrunner.com Sat Mar 2 12:53:08 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Sat, 2 Mar 2024 12:53:08 -0500 Subject: sideloading updates to mobile In-Reply-To: <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: looks like specialfolderpath("documents") is sandboxed, after all. apparently there is another Documents folder, that lc isn't accessing, that is not. On Fri, Mar 1, 2024 at 6:39 PM J. Landman Gay via use-livecode < use-livecode at lists.runrev.com> wrote: > Let me know if you find out. I'm still running in the before times. > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > On March 1, 2024 12:25:21 PM Mike Kerner via use-livecode > wrote: > > > the latest pieces that i found on the topic said that files can access > the > > documents folder (but not library), and that it is available by other > > means, without jailbreaking. > > thus, i need to screw around with this, some more. > > if it's unavailable, then great, no need for library. > > in The Before Times, documents was isolated, but i thought that changed. > > > > On Fri, Mar 1, 2024 at 1:10 PM J. Landman Gay via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > >> A quick test would be to see if Files can access the private documents > of > >> any installed app. I could try it if I didn't have to steal my husband's > >> phone, which is tricky business. > >> > >> -- > >> Jacqueline Landman Gay | jacque at hyperactivesw.com > >> HyperActive Software | http://www.hyperactivesw.com > >> On March 1, 2024 11:40:09 AM Mike Kerner via use-livecode > >> wrote: > >> > >> > i'm going to have to mess with this, some more. i didn't think > documents > >> is > >> > sandboxed. > >> > > >> > > >> > On Fri, Mar 1, 2024 at 11:49 AM Bob Sneidar via use-livecode < > >> > use-livecode at lists.runrev.com> wrote: > >> > > >> >> They should stop calling it a Sandbox then. It’s the entire beach! > LOL! > >> >> > >> >> Bob S > >> >> > >> >> > >> >> On Mar 1, 2024, at 8:45 AM, J. Landman Gay via use-livecode < > >> >> use-livecode at lists.runrev.com> wrote: > >> >> > >> >> Right. In spite of Android's "external documents" option, which I > >> needed, > >> >> it's still in the sandbox. > >> >> > >> >> -- > >> >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> >> jacque at hyperactivesw.com> > >> >> HyperActive Software | http://www.hyperactivesw.com< > >> >> http://www.hyperactivesw.com/> > >> >> On March 1, 2024 10:42:04 AM Bob Sneidar via use-livecode < > >> >> use-livecode at lists.runrev.com> wrote: > >> >> > >> >> > >> >> > >> >> _______________________________________________ > >> >> 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 > >> >> > >> > > >> > > >> > -- > >> > On the first day, God created the heavens and the Earth > >> > On the second day, God created the oceans. > >> > On the third day, God put the animals on hold for a few hours, > >> > and did a little diving. > >> > And God said, "This is good." > >> > _______________________________________________ > >> > 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 > >> > >> > >> > >> > >> _______________________________________________ > >> 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 > >> > > > > > > -- > > On the first day, God created the heavens and the Earth > > On the second day, God created the oceans. > > On the third day, God put the animals on hold for a few hours, > > and did a little diving. > > And God said, "This is good." > > _______________________________________________ > > 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 > > > > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From jacque at hyperactivesw.com Sat Mar 2 13:06:41 2024 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sat, 02 Mar 2024 12:06:41 -0600 Subject: sideloading updates to mobile In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Thanks for checking, now I don't have to change anything. Android also has both a sandboxed documents folder and a public one. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On March 2, 2024 11:55:52 AM Mike Kerner via use-livecode wrote: > looks like specialfolderpath("documents") is sandboxed, after all. > apparently there is another Documents folder, that lc isn't accessing, that > is not. > > On Fri, Mar 1, 2024 at 6:39PM J. Landman Gay via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> Let me know if you find out. I'm still running in the before times. >> >> -- >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> HyperActive Software | http://www.hyperactivesw.com >> On March 1, 2024 12:25:21 PM Mike Kerner via use-livecode >> wrote: >> >> > the latest pieces that i found on the topic said that files can access >> the >> > documents folder (but not library), and that it is available by other >> > means, without jailbreaking. >> > thus, i need to screw around with this, some more. >> > if it's unavailable, then great, no need for library. >> > in The Before Times, documents was isolated, but i thought that changed. >> > >> > On Fri, Mar 1, 2024 at 1:10PM J. Landman Gay via use-livecode < >> > use-livecode at lists.runrev.com> wrote: >> > >> >> A quick test would be to see if Files can access the private documents >> of >> >> any installed app. I could try it if I didn't have to steal my husband's >> >> phone, which is tricky business. >> >> >> >> -- >> >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> >> HyperActive Software | http://www.hyperactivesw.com >> >> On March 1, 2024 11:40:09 AM Mike Kerner via use-livecode >> >> wrote: >> >> >> >> > i'm going to have to mess with this, some more. i didn't think >> documents >> >> is >> >> > sandboxed. >> >> > >> >> > >> >> > On Fri, Mar 1, 2024 at 11:49AM Bob Sneidar via use-livecode < >> >> > use-livecode at lists.runrev.com> wrote: >> >> > >> >> >> They should stop calling it a Sandbox then. Its the entire beach! >> LOL! >> >> >> >> >> >> Bob S >> >> >> >> >> >> >> >> >> On Mar 1, 2024, at 8:45 AM, J. Landman Gay via use-livecode < >> >> >> use-livecode at lists.runrev.com> wrote: >> >> >> >> >> >> Right. In spite of Android's "external documents" option, which I >> >> needed, >> >> >> it's still in the sandbox. >> >> >> >> >> >> -- >> >> >> Jacqueline Landman Gay | jacque at hyperactivesw.com> >> >> jacque at hyperactivesw.com> >> >> >> HyperActive Software | http://www.hyperactivesw.com< >> >> >> http://www.hyperactivesw.com/> >> >> >> On March 1, 2024 10:42:04 AM Bob Sneidar via use-livecode < >> >> >> use-livecode at lists.runrev.com> wrote: >> >> >> >> >> >> >> >> >> >> >> >> _______________________________________________ >> >> >> 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 >> >> >> >> >> > >> >> > >> >> > -- >> >> > On the first day, God created the heavens and the Earth >> >> > On the second day, God created the oceans. >> >> > On the third day, God put the animals on hold for a few hours, >> >> > and did a little diving. >> >> > And God said, "This is good." >> >> > _______________________________________________ >> >> > 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 >> >> >> >> >> >> >> >> >> >> _______________________________________________ >> >> 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 >> >> >> > >> > >> > -- >> > On the first day, God created the heavens and the Earth >> > On the second day, God created the oceans. >> > On the third day, God put the animals on hold for a few hours, >> > and did a little diving. >> > And God said, "This is good." >> > _______________________________________________ >> > 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 >> >> >> >> >> _______________________________________________ >> 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 >> > > > -- > On the first day, God created the heavens and the Earth > On the second day, God created the oceans. > On the third day, God put the animals on hold for a few hours, > and did a little diving. > And God said, "This is good." > _______________________________________________ > 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 From MikeKerner at roadrunner.com Sat Mar 2 19:22:12 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Sat, 2 Mar 2024 19:22:12 -0500 Subject: sideloading updates to mobile In-Reply-To: <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: fyi, to anyone else coming to thie thread, you can't use revCopyFolder or revCopyFile to move your bundle stacks/files to the documents folder b/c both commands require a shell, and ios doesn't have shell support. On Sat, Mar 2, 2024 at 1:07 PM J. Landman Gay via use-livecode < use-livecode at lists.runrev.com> wrote: > Thanks for checking, now I don't have to change anything. Android also has > both a sandboxed documents folder and a public one. > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > On March 2, 2024 11:55:52 AM Mike Kerner via use-livecode > wrote: > > > looks like specialfolderpath("documents") is sandboxed, after all. > > apparently there is another Documents folder, that lc isn't accessing, > that > > is not. > > > > On Fri, Mar 1, 2024 at 6:39 PM J. Landman Gay via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > >> Let me know if you find out. I'm still running in the before times. > >> > >> -- > >> Jacqueline Landman Gay | jacque at hyperactivesw.com > >> HyperActive Software | http://www.hyperactivesw.com > >> On March 1, 2024 12:25:21 PM Mike Kerner via use-livecode > >> wrote: > >> > >> > the latest pieces that i found on the topic said that files can access > >> the > >> > documents folder (but not library), and that it is available by other > >> > means, without jailbreaking. > >> > thus, i need to screw around with this, some more. > >> > if it's unavailable, then great, no need for library. > >> > in The Before Times, documents was isolated, but i thought that > changed. > >> > > >> > On Fri, Mar 1, 2024 at 1:10 PM J. Landman Gay via use-livecode < > >> > use-livecode at lists.runrev.com> wrote: > >> > > >> >> A quick test would be to see if Files can access the private > documents > >> of > >> >> any installed app. I could try it if I didn't have to steal my > husband's > >> >> phone, which is tricky business. > >> >> > >> >> -- > >> >> Jacqueline Landman Gay | jacque at hyperactivesw.com > >> >> HyperActive Software | http://www.hyperactivesw.com > >> >> On March 1, 2024 11:40:09 AM Mike Kerner via use-livecode > >> >> wrote: > >> >> > >> >> > i'm going to have to mess with this, some more. i didn't think > >> documents > >> >> is > >> >> > sandboxed. > >> >> > > >> >> > > >> >> > On Fri, Mar 1, 2024 at 11:49 AM Bob Sneidar via use-livecode < > >> >> > use-livecode at lists.runrev.com> wrote: > >> >> > > >> >> >> They should stop calling it a Sandbox then. It’s the entire beach! > >> LOL! > >> >> >> > >> >> >> Bob S > >> >> >> > >> >> >> > >> >> >> On Mar 1, 2024, at 8:45 AM, J. Landman Gay via use-livecode < > >> >> >> use-livecode at lists.runrev.com> wrote: > >> >> >> > >> >> >> Right. In spite of Android's "external documents" option, which I > >> >> needed, > >> >> >> it's still in the sandbox. > >> >> >> > >> >> >> -- > >> >> >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> >> >> jacque at hyperactivesw.com> > >> >> >> HyperActive Software | http://www.hyperactivesw.com< > >> >> >> http://www.hyperactivesw.com/> > >> >> >> On March 1, 2024 10:42:04 AM Bob Sneidar via use-livecode < > >> >> >> use-livecode at lists.runrev.com> wrote: > >> >> >> > >> >> >> > >> >> >> > >> >> >> _______________________________________________ > >> >> >> 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 > >> >> >> > >> >> > > >> >> > > >> >> > -- > >> >> > On the first day, God created the heavens and the Earth > >> >> > On the second day, God created the oceans. > >> >> > On the third day, God put the animals on hold for a few hours, > >> >> > and did a little diving. > >> >> > And God said, "This is good." > >> >> > _______________________________________________ > >> >> > 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 > >> >> > >> >> > >> >> > >> >> > >> >> _______________________________________________ > >> >> 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 > >> >> > >> > > >> > > >> > -- > >> > On the first day, God created the heavens and the Earth > >> > On the second day, God created the oceans. > >> > On the third day, God put the animals on hold for a few hours, > >> > and did a little diving. > >> > And God said, "This is good." > >> > _______________________________________________ > >> > 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 > >> > >> > >> > >> > >> _______________________________________________ > >> 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 > >> > > > > > > -- > > On the first day, God created the heavens and the Earth > > On the second day, God created the oceans. > > On the third day, God put the animals on hold for a few hours, > > and did a little diving. > > And God said, "This is good." > > _______________________________________________ > > 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 > > > > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From dan at clearvisiontech.com Tue Mar 5 11:51:52 2024 From: dan at clearvisiontech.com (Dan Friedman) Date: Tue, 5 Mar 2024 16:51:52 +0000 Subject: Cursor Placement in MobileControl In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: 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 From merakosp at gmail.com Tue Mar 5 12:43:42 2024 From: merakosp at gmail.com (panagiotis merakos) Date: Tue, 5 Mar 2024 19:43:42 +0200 Subject: Cursor Placement in MobileControl In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From dan at clearvisiontech.com Wed Mar 6 11:15:03 2024 From: dan at clearvisiontech.com (Dan Friedman) Date: Wed, 6 Mar 2024 16:15:03 +0000 Subject: Cursor Placement in MobileControl In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: 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 on behalf of panagiotis merakos via use-livecode Date: Tuesday, March 5, 2024 at 9:45 AM To: How to use LiveCode Cc: panagiotis merakos 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 at 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 at 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 at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From rdimola at evergreeninfo.net Wed Mar 6 13:13:51 2024 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Wed, 6 Mar 2024 13:13:51 -0500 Subject: Cursor Placement in MobileControl In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0- A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: <003a01da6ff2$0e632bc0$2b298340$@net> Dan, Nice... thanks! Ralph DiMola IT Director Evergreen Information Services rdimola at evergreeninfo.net -----Original Message----- From: use-livecode [mailto:use-livecode-bounces at 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 on behalf of panagiotis merakos via use-livecode Date: Tuesday, March 5, 2024 at 9:45 AM To: How to use LiveCode Cc: panagiotis merakos 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 at 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 at 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 at 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 at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Wed Mar 6 14:06:20 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 6 Mar 2024 19:06:20 +0000 Subject: Cursor Placement in MobileControl In-Reply-To: <003a01da6ff2$0e632bc0$2b298340$@net> References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0- A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <003a01da6ff2$0e632bc0$2b298340$@net> Message-ID: <87116489-C0CA-40A7-97BA-AC158EBE38FE@iotecdigital.com> 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 wrote: > > Dan, > > Nice... thanks! > > Ralph DiMola > IT Director > Evergreen Information Services > rdimola at evergreeninfo.net > > -----Original Message----- > From: use-livecode [mailto:use-livecode-bounces at 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 on behalf of > panagiotis merakos via use-livecode > Date: Tuesday, March 5, 2024 at 9:45 AM > To: How to use LiveCode > Cc: panagiotis merakos > 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 at 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 at 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 at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From MikeKerner at roadrunner.com Wed Mar 6 14:11:48 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Wed, 6 Mar 2024 14:11:48 -0500 Subject: Cursor Placement in MobileControl In-Reply-To: <87116489-C0CA-40A7-97BA-AC158EBE38FE@iotecdigital.com> References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <003a01da6ff2$0e632bc0$2b298340$@net> <87116489-C0CA-40A7-97BA-AC158EBE38FE@iotecdigital.com> Message-ID: it would be nice to have a universal field widget, and be able to have this sort of behavior be part of it... On Wed, Mar 6, 2024 at 2:07 PM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > 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 at lists.runrev.com> wrote: > > > > Dan, > > > > Nice... thanks! > > > > Ralph DiMola > > IT Director > > Evergreen Information Services > > rdimola at evergreeninfo.net > > > > -----Original Message----- > > From: use-livecode [mailto:use-livecode-bounces at 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 on behalf of > > panagiotis merakos via use-livecode > > Date: Tuesday, March 5, 2024 at 9:45 AM > > To: How to use LiveCode > > Cc: panagiotis merakos > > 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 at 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 at 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 at 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 at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From marksmithhfx at gmail.com Wed Mar 6 15:37:56 2024 From: marksmithhfx at gmail.com (Mark Smith) Date: Wed, 6 Mar 2024 20:37:56 +0000 Subject: Cursor Placement in MobileControl In-Reply-To: References: Message-ID: <9C7F333F-AAA1-4814-9A9C-5718C74C1895@gmail.com> Very useful to know. Thanks Dan Mark Sent from my iPhone > On Mar 6, 2024, at 7:13 PM, Mike Kerner via use-livecode wrote: > > it would be nice to have a universal field widget, and be able to have this > sort of behavior be part of it... > >> On Wed, Mar 6, 2024 at 2:07 PM Bob Sneidar via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >> 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 at lists.runrev.com> wrote: >>> >>> Dan, >>> >>> Nice... thanks! >>> >>> Ralph DiMola >>> IT Director >>> Evergreen Information Services >>> rdimola at evergreeninfo.net >>> >>> -----Original Message----- >>> From: use-livecode [mailto:use-livecode-bounces at 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 on behalf of >>> panagiotis merakos via use-livecode >>> Date: Tuesday, March 5, 2024 at 9:45 AM >>> To: How to use LiveCode >>> Cc: panagiotis merakos >>> 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 at 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 at 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 at 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 at 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 at 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 at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> > > > -- > On the first day, God created the heavens and the Earth > On the second day, God created the oceans. > On the third day, God put the animals on hold for a few hours, > and did a little diving. > And God said, "This is good." > _______________________________________________ > 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 From bobsneidar at iotecdigital.com Wed Mar 6 17:00:13 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 6 Mar 2024 22:00:13 +0000 Subject: Cursor Placement in MobileControl In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <003a01da6ff2$0e632bc0$2b298340$@net> <87116489-C0CA-40A7-97BA-AC158EBE38FE@iotecdigital.com> Message-ID: <1619AE8B-1AED-4CDF-821F-3F1C52770ACF@iotecdigital.com> It’s too specific. For instance I always format phone numbers nnn-nnn-nnnn xnnn (the x is for extension). Some people bracket the area code with paras, some need the country code, some want to prepend 1+ etc. I was planning to have a format string of some sort, then follow that pattern as the user types. For instance: -- x the brackets indicating text to be replaced. I could exclude the brackets but I might want to have a format string that uses a literal n in the future, so I have to figure out how to do all that. Bob S > On Mar 6, 2024, at 11:11 AM, Mike Kerner via use-livecode wrote: > > it would be nice to have a universal field widget, and be able to have this > sort of behavior be part of it... > > On Wed, Mar 6, 2024 at 2:07 PM Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> That is damn handy. That could be massaged to work with a Livecode field >> too. I’m going to work on that. >> >> Bob S >> >> From bobsneidar at iotecdigital.com Wed Mar 6 17:03:54 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 6 Mar 2024 22:03:54 +0000 Subject: Cursor Placement in MobileControl In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <003a01da6ff2$0e632bc0$2b298340$@net> <87116489-C0CA-40A7-97BA-AC158EBE38FE@iotecdigital.com> Message-ID: Also, and without trying to put too fine a point on it, I’d like to reiterate that Livecode is much less like a furniture store, and more like an Ikea furniture factory, where there are lots of different parts, and bits to hold the furniture together, but theoretically you could make any kind of furniture you like. I think what you are asking for is a piece of furniture, when you already have everything necessary to make your own coffee table. :-) Bob S > On Mar 6, 2024, at 11:11 AM, Mike Kerner via use-livecode wrote: > > it would be nice to have a universal field widget, and be able to have this > sort of behavior be part of it... > From MikeKerner at roadrunner.com Wed Mar 6 22:04:42 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Wed, 6 Mar 2024 22:04:42 -0500 Subject: Cursor Placement in MobileControl In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <003a01da6ff2$0e632bc0$2b298340$@net> <87116489-C0CA-40A7-97BA-AC158EBE38FE@iotecdigital.com> Message-ID: we don't have a universal field widget, and, the existing controls don't make it easy to do things like this. there are often ways to overcome, just like there are in c, but that doesn't mean i prefer c or swift or java or xojo sometimes workarounds are a means to identify opportunities to improve the product. On Wed, Mar 6, 2024 at 5:04 PM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > Also, and without trying to put too fine a point on it, I’d like to > reiterate that Livecode is much less like a furniture store, and more like > an Ikea furniture factory, where there are lots of different parts, and > bits to hold the furniture together, but theoretically you could make any > kind of furniture you like. I think what you are asking for is a piece of > furniture, when you already have everything necessary to make your own > coffee table. :-) > > Bob S > > > > On Mar 6, 2024, at 11:11 AM, Mike Kerner via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > it would be nice to have a universal field widget, and be able to have > this > > sort of behavior be part of it... > > > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From david.bovill at gmail.com Fri Mar 8 03:44:55 2024 From: david.bovill at gmail.com (David Bovill) Date: Fri, 8 Mar 2024 08:44:55 +0000 Subject: Enhanced HTTPD - native HTTP 1.1 Livecode Socket Server In-Reply-To: References: Message-ID: Hi Mike and Richard, the progress I’ve made is along the lines that Richard speaks to in the thread. I have added a little to the earlier work and bundled socket based servers - mainly by making it easy to add and remove logging with before and after handlers, and layers of back scripts that allow you to add your own custom middleware. There are a few things holding me back from plunging in further and finishing the work. Firstly, as Richard says still a way to go to add things like HTTP 206 partial content support, and there are already robust libraries in other languages out there - so the strategy of integrating Livecode with one of these is also attractive given the amount of effort required it’s a question in my head as too which route would be better pursued. I also have quite a nice integration with local node servers, which took quite a lot of tweaking as simply using shell() didn’t cut it - but now works well. However with this approach I don’t get the control I need from the Livecode side. There are also issues with socket requests and timeouts which would need to be debugged and while that is not a problem in itself, the underlying concern I’d have is that at the end of the process I’d find that the cause was a Livecode bug and not something in my code. There would be little I could do in that case other than hope and wait. Funny you came across the Full Moon Happening event as I’m currently working on a new version of that early experiment for March 25th this year (a full moon, penumbral lunar eclipse and wikis birthday - should be fun. If anyone’s in London this Friday March 15th, I’ll be doing an event at the RSA in the afternoon and Newspeak House in the evening where we’ll go into this in more detail. On Wed, 28 Feb 2024 at 13:55, Mike Kerner via use-livecode < use-livecode at lists.runrev.com> wrote: > just pinging to see if anything more has happened on this > and the how list is really quiet > > On Tue, Feb 6, 2024 at 11:09 PM ambassador--- via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > David Bovill wrote: > > > > > I've been working for a while on a native server written in Livecode > > > using sockets. I feel it is definitely something that is sorely needed > > > - but to do it properly is more work that I initially thought. I need > > > to add HTTP 206 partial content support - > > > https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/206. I expect > > > there to be other things that will need to be added. > > > > > > Is anyone interested / need this? Or does anyone already have something > > > they use? > > > > > > MC shipped with a simple HTTPd example included, and many years ago back > > when Pierre was still active here I dusted it off to add support for HTTP > > 1.1 so it would work with modern browsers: > > > > https://fourthworld.net/lc/mchttpd-4W.zip > > > > It's been years since I touched it, and IIRC the only other change I made > > was to use callbacks for both ends of the network I/O (for some reason > > Raney had used callbacks only on one side, tho I can't recall if his was > on > > the write or read end). Callbacks for net I/O help a lot. > > > > If you're already far enough down the road to be thinking of 206 errors, > > there's likely nothing here you haven't already written. But as an > example > > (slightly updated) of the sort of thing that used to ship with old > versions > > to encourage exploration of network apps, it may be a fun trip down > memory > > lane. > > > > > > A question, if interesting to answer: one of the reasons I set this aside > > was the beginning of a process of moving away from my own homegrown tools > > for generic commodities like socket servers. Apache and Node cover most > of > > what I've needed since, and I don't have to maintain them, so I can focus > > on the stuff specific to my app. What are you working on these days? I > > stumbled across your chat with Ward Cunningham in the Full Moon Happening > > just a few months ago; good stuff. Curious if your interest in > > decentralization is still a focus, and whether it also includes things > like > > IPSF and blockchains. Maybe offlist if it's not too LiveCodey is fine. > > > > > > Richard Gaskin > > FourthWorld.com > > > > _______________________________________________ > > 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 > > > > > -- > On the first day, God created the heavens and the Earth > On the second day, God created the oceans. > On the third day, God put the animals on hold for a few hours, > and did a little diving. > And God said, "This is good." > _______________________________________________ > 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 > From david.bovill at gmail.com Fri Mar 8 03:54:28 2024 From: david.bovill at gmail.com (David Bovill) Date: Fri, 8 Mar 2024 08:54:28 +0000 Subject: Enhanced HTTPD - native HTTP 1.1 Livecode Socket Server In-Reply-To: <31d2bf4382641c6fd936f04d88edf69cc25f1dea@fourthworld.com> References: <31d2bf4382641c6fd936f04d88edf69cc25f1dea@fourthworld.com> Message-ID: Hi Richard - checking in again :) Yes I worked a lot with decentralised protocols and communities, and was looking to integrate those technologies with Livecode. That work got set back when Livecode pivoted away from FOSS. I believe there are still some approaches that can work but would probably be best done off list in a video call? On Wed, 28 Feb 2024 at 17:56, Richard Gaskin via use-livecode < use-livecode at lists.runrev.com> wrote: > FWIW I haven't heard from David, but with the economic numbers off to a > good start this year I suspect he's just been as busy as most I know. > > I know of at least one other LC fan with an interest in decentralized > protocols, but I'm not sure how far he's gotten with his implementations. > I've mentioned LC in some of those circles, but those communities tend to > make and use FOSS tools, so the conversation is usually very short. > > Richard Gaskin > FourthWorld.com > > > > On February 28, 2024 at 9:00 AM, Mike Kerner wrote: > > > > just pinging to see if anything more has happened on this > > > > and the how list is really quiet > > > > On Tue, Feb 6, 2024 at 11:09?PM ambassador--- via use-livecode < > > > > use-livecode at lists.runrev.com> wrote: > > > > > David Bovill wrote: > > > > > > I've been working for a while on a native server written in Livecode > > > using sockets. I feel it is definitely something that is sorely needed > > > - but to do it properly is more work that I initially thought. I need > > > to add HTTP 206 partial content support - > > > https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/206. I > expect > > > there to be other things that will need to be added. > > > Is anyone interested / need this? Or does anyone already have > something > > > they use? > > > > > MC shipped with a simple HTTPd example included, and many years ago back > > > > when Pierre was still active here I dusted it off to add support for > HTTP > > 1.1 so it would work with modern browsers: > > https://fourthworld.net/lc/mchttpd-4W.zip > > > > It's been years since I touched it, and IIRC the only other change I > made > > was to use callbacks for both ends of the network I/O (for some reason > > Raney had used callbacks only on one side, tho I can't recall if his was > on > > the write or read end). Callbacks for net I/O help a lot. > > > > If you're already far enough down the road to be thinking of 206 errors, > > there's likely nothing here you haven't already written. But as an > example > > (slightly updated) of the sort of thing that used to ship with old > versions > > to encourage exploration of network apps, it may be a fun trip down > memory > > lane. > > > > A question, if interesting to answer: one of the reasons I set this > aside > > was the beginning of a process of moving away from my own homegrown > tools > > for generic commodities like socket servers. Apache and Node cover most > of > > what I've needed since, and I don't have to maintain them, so I can focus > > on the stuff specific to my app. What are you working on these days? I > > stumbled across your chat with Ward Cunningham in the Full Moon > Happening > > just a few months ago; good stuff. Curious if your interest in > > decentralization is still a focus, and whether it also includes things > like > > IPSF and blockchains. Maybe offlist if it's not too LiveCodey is fine. > > > > Richard Gaskin > > FourthWorld.com > > _______________________________________________ > 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 > From klaus at major-k.de Wed Mar 13 05:26:28 2024 From: klaus at major-k.de (Klaus major-k) Date: Wed, 13 Mar 2024 10:26:28 +0100 Subject: Iconmaker 2.0 Message-ID: <99F2FA3E-4453-4F3F-9619-4C34C8034154@major-k.de> Hi friends, a new version of my plug-in "Iconmaker" is available, it now also creates .ICNS icon files for macOS apps. Check it here: https://major-k.de/iconmaker.html Best Klaus From bobsneidar at iotecdigital.com Wed Mar 13 12:08:10 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 13 Mar 2024 16:08:10 +0000 Subject: Iconmaker 2.0 In-Reply-To: <99F2FA3E-4453-4F3F-9619-4C34C8034154@major-k.de> References: <99F2FA3E-4453-4F3F-9619-4C34C8034154@major-k.de> Message-ID: <51A542A2-F7FD-4A90-87F6-3F3F6F246A43@iotecdigital.com> Awesome thanks! Bob S > On Mar 13, 2024, at 2:26 AM, Klaus major-k via use-livecode wrote: > > Hi friends, > > a new version of my plug-in "Iconmaker" is available, it now also creates .ICNS icon files for macOS apps. > Check it here: https://major-k.de/iconmaker.html > > > Best > > Klaus > _______________________________________________ > 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 From jbv at souslelogo.com Fri Mar 15 10:36:39 2024 From: jbv at souslelogo.com (jbv at souslelogo.com) Date: Fri, 15 Mar 2024 10:36:39 -0400 Subject: Code translation anyone ? Message-ID: Hi list, Has anyone tried to translate code from 1 version to another, or from 1 language to another ? Like from php 5 to php 8, or from php to LC ? My question concerns mainly server scripts. Thanks, jbv From jbv at souslelogo.com Fri Mar 15 10:39:57 2024 From: jbv at souslelogo.com (jbv at souslelogo.com) Date: Fri, 15 Mar 2024 10:39:57 -0400 Subject: Code translation anyone ? In-Reply-To: References: Message-ID: <85df7e46662e355a4bbafbfb0dadab8d@souslelogo.com> One detail I forgot in my question : code translation using ChatGPT or any other AI. Thanks, jbv Le 2024-03-15 10:36, jbv via use-livecode a crit : > Hi list, > > Has anyone tried to translate code from 1 version to > another, or from 1 language to another ? > Like from php 5 to php 8, or from php to LC ? > My question concerns mainly server scripts. > > Thanks, > jbv > > _______________________________________________ > 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 From bobsneidar at iotecdigital.com Fri Mar 15 11:15:19 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 15 Mar 2024 15:15:19 +0000 Subject: Code translation anyone ? In-Reply-To: <85df7e46662e355a4bbafbfb0dadab8d@souslelogo.com> References: <85df7e46662e355a4bbafbfb0dadab8d@souslelogo.com> Message-ID: <619F751C-E25E-4BEF-815E-2A6C55946D01@iotecdigital.com> I tried to write a code converter from dBase (Foxpro) to what is now called Livecode. I ran into at least one insurmountable issue. I forget exactly what it was, but it was along the lines of certain conventions used in Foxpro that had no parallel in Livecode or meant something totally different in Livecode. For instance, Foxpro uses a convention called Macro Substitution, where preceding a variable with an ampersand would at runtime replace the variable with its contents. For instance: x = "Fox" ? "&x.Pro” Would produce FoxPro. The trouble was that ampersand is *ALSO* used for concatenation! How can I tell? Periods inside quotes are just periods *unless* they are used in Macro Substitution. There were a couple others, like using $ for certain things. I came to the conclusion that the process would be more complex than I wanted, if at all possible, and in the end it would be easier to simple reproduce the application from scratch. Bob S > On Mar 15, 2024, at 7:39 AM, jbv via use-livecode wrote: > > One detail I forgot in my question : code translation using > ChatGPT or any other AI. > > Thanks, > jbv > > > Le 2024-03-15 10:36, jbv via use-livecode a écrit : >> Hi list, >> Has anyone tried to translate code from 1 version to >> another, or from 1 language to another ? >> Like from php 5 to php 8, or from php to LC ? >> My question concerns mainly server scripts. >> Thanks, >> jbv >> _______________________________________________ >> 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 > > _______________________________________________ > 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 From christerp1 at gmail.com Fri Mar 15 12:28:22 2024 From: christerp1 at gmail.com (=?utf-8?Q?Christer_Pyyhti=C3=A4?=) Date: Fri, 15 Mar 2024 18:28:22 +0200 Subject: Code translation anyone ? In-Reply-To: <619F751C-E25E-4BEF-815E-2A6C55946D01@iotecdigital.com> References: <85df7e46662e355a4bbafbfb0dadab8d@souslelogo.com> <619F751C-E25E-4BEF-815E-2A6C55946D01@iotecdigital.com> Message-ID: <973B22EA-0441-4973-A870-BFB45B7EDEDB@gmail.com> Just an ideal hacker problem. Have you tried OpenAi or Gemini? Once just for fun tried asking OpenAI to create a structure for a problem using LiveCode, and the result was acceptable giving a coarse structure for the solving the problem. Maybe those generative tools would recognise FoxPro as well. Please tell what you’ll find out. Reds Christer Pyyhtiä christerp1 at gmail.com > On 15. Mar 2024, at 17.15, Bob Sneidar via use-livecode wrote: > > I tried to write a code converter from dBase (Foxpro) to what is now called Livecode. I ran into at least one insurmountable issue. I forget exactly what it was, but it was along the lines of certain conventions used in Foxpro that had no parallel in Livecode or meant something totally different in Livecode. For instance, Foxpro uses a convention called Macro Substitution, where preceding a variable with an ampersand would at runtime replace the variable with its contents. For instance: > > x = "Fox" > ? "&x.Pro” > > Would produce FoxPro. The trouble was that ampersand is *ALSO* used for concatenation! How can I tell? Periods inside quotes are just periods *unless* they are used in Macro Substitution. > > There were a couple others, like using $ for certain things. I came to the conclusion that the process would be more complex than I wanted, if at all possible, and in the end it would be easier to simple reproduce the application from scratch. > > > Bob S > > > >> On Mar 15, 2024, at 7:39 AM, jbv via use-livecode wrote: >> >> One detail I forgot in my question : code translation using >> ChatGPT or any other AI. >> >> Thanks, >> jbv >> >> >> Le 2024-03-15 10:36, jbv via use-livecode a écrit : >>> Hi list, >>> Has anyone tried to translate code from 1 version to >>> another, or from 1 language to another ? >>> Like from php 5 to php 8, or from php to LC ? >>> My question concerns mainly server scripts. >>> Thanks, >>> jbv >>> _______________________________________________ >>> 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 >> >> _______________________________________________ >> 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 > > _______________________________________________ > 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 From jbv at souslelogo.com Fri Mar 15 14:07:36 2024 From: jbv at souslelogo.com (jbv at souslelogo.com) Date: Fri, 15 Mar 2024 14:07:36 -0400 Subject: Code translation anyone ? In-Reply-To: <973B22EA-0441-4973-A870-BFB45B7EDEDB@gmail.com> References: <85df7e46662e355a4bbafbfb0dadab8d@souslelogo.com> <619F751C-E25E-4BEF-815E-2A6C55946D01@iotecdigital.com> <973B22EA-0441-4973-A870-BFB45B7EDEDB@gmail.com> Message-ID: Le 2024-03-15 12:28, Christer Pyyhti via use-livecode a crit : > Have you tried OpenAi or Gemini? Once just for fun tried asking OpenAI > to create a structure for a problem using LiveCode, and the result was > acceptable giving a coarse structure for the solving the problem. Yes, I have tried ChatGPT, but my problem is that my php weights 500 Kb, so I started to proceed chunk by chunk, and each time ChatGPT adds lengthy comments and explanations from the php manual... From tom at makeshyft.com Sat Mar 16 15:26:14 2024 From: tom at makeshyft.com (Tom Glod) Date: Sat, 16 Mar 2024 15:26:14 -0400 Subject: Code translation anyone ? In-Reply-To: References: <85df7e46662e355a4bbafbfb0dadab8d@souslelogo.com> <619F751C-E25E-4BEF-815E-2A6C55946D01@iotecdigital.com> <973B22EA-0441-4973-A870-BFB45B7EDEDB@gmail.com> Message-ID: I think its a great task for an AI with a greater context window. Don't give up yet. CHat GPT can be prompted to be less verbose. You can also use the openai playground, upload your php, and use the model with the bigger context window. From klaus at major-k.de Sun Mar 17 13:17:52 2024 From: klaus at major-k.de (Klaus major-k) Date: Sun, 17 Mar 2024 18:17:52 +0100 Subject: is there something like "sockettimeoutinterval" for "put url... into aVariable"? Message-ID: <58CE5F5F-9F33-4524-9ABD-6234759DB18E@major-k.de> Hi friends, see subject, any hints welcome. Thanks in advance! Best Klaus -- Klaus Major https://www.major-k.de https://www.major-k.de/bass klaus at major-k.de From matthias_livecode_150811 at m-r-d.de Sun Mar 17 13:39:46 2024 From: matthias_livecode_150811 at m-r-d.de (matthias_livecode_150811 at m-r-d.de) Date: Sun, 17 Mar 2024 18:39:46 +0100 Subject: is there something like "sockettimeoutinterval" for "put url... into aVariable"? In-Reply-To: <58CE5F5F-9F33-4524-9ABD-6234759DB18E@major-k.de> References: <58CE5F5F-9F33-4524-9ABD-6234759DB18E@major-k.de> Message-ID: <3FDE5210-F3E4-4ADF-85A7-A287290FB518@m-r-d.de> What URL type are you using? When using http/ftp and so on then there is also tsNetSetTimeouts in case you are using a commercial LC Version >=8. > Am 17.03.2024 um 18:17 schrieb Klaus major-k via use-livecode : > > Hi friends, > > see subject, any hints welcome. > Thanks in advance! > > > Best > > Klaus > -- > Klaus Major > https://www.major-k.de > https://www.major-k.de/bass > klaus at major-k.de > > > _______________________________________________ > 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 From klaus at major-k.de Sun Mar 17 13:51:21 2024 From: klaus at major-k.de (Klaus major-k) Date: Sun, 17 Mar 2024 18:51:21 +0100 Subject: is there something like "sockettimeoutinterval" for "put url... into aVariable"? In-Reply-To: <3FDE5210-F3E4-4ADF-85A7-A287290FB518@m-r-d.de> References: <58CE5F5F-9F33-4524-9ABD-6234759DB18E@major-k.de> <3FDE5210-F3E4-4ADF-85A7-A287290FB518@m-r-d.de> Message-ID: <3C1B14F6-EA0D-45B3-AC79-E7766ED1EACF@major-k.de> Hi Matthias, > Am 17.03.2024 um 18:39 schrieb matthias rebbe via use-livecode : > > What URL type are you using? a https url on my server. > When using http/ftp and so on then there is also tsNetSetTimeouts in case you are using a commercial LC Version >=8. Ah, great will try this, thank you! >> Am 17.03.2024 um 18:17 schrieb Klaus major-k via use-livecode : >> >> Hi friends, >> >> see subject, any hints welcome. >> Thanks in advance! Best Klaus -- Klaus Major https://www.major-k.de https://www.major-k.de/bass klaus at major-k.de From benr_mc at cogapp.com Sun Mar 17 16:15:39 2024 From: benr_mc at cogapp.com (Ben Rubinstein) Date: Sun, 17 Mar 2024 20:15:39 +0000 Subject: Damn I missed it - happy 20th birthday! Message-ID: <0dcdc45e-1274-4400-8e8d-ef25321f55a7@cogapp.com> Sorry it's two days late, but happy 20th birthday to https://quality.livecode.com/show_bug.cgi?id=1372 ... and many happy returns? (I would have forgotten altogether but a colleague asked me how to do this conversion and I had to tell him about the workaround, and that he'd then have to code to strip out para formatting etc.... just like it always was.) Ben From dochawk at gmail.com Thu Mar 21 12:26:01 2024 From: dochawk at gmail.com (doc hawk) Date: Thu, 21 Mar 2024 09:26:01 -0700 Subject: pulling out hair connecting to postgres server Message-ID: I'm near pulling out my hair on this. I set this up, and haven't used it for so long that I can't seem to remember everything. Postrgres 9.5 is installed on this machine, and appears to be running and accepting connections: sudo -u postgres /Library/PostgreSQL/9.5/bin/pg_ctl restart -m fast -D /Library/PostgreSQL/9.5/data/ sharpshin:hawk>2024-03-08 15:48:39 PST LOG: redirecting log output to logging collector process 2024-03-08 15:48:39 PST HINT: Future log output will appear in directory "pg_log". -- Dr. Richard E. Hawkins, Esq. (702) 508-8462 From harrison at all-auctions.com Thu Mar 21 17:38:58 2024 From: harrison at all-auctions.com (harrison at all-auctions.com) Date: Thu, 21 Mar 2024 17:38:58 -0400 Subject: pulling out hair connecting to postgres server In-Reply-To: References: Message-ID: What version of the OS are you running? What is your pg_log telling you? Version 9.5 is very old. The current version of PostgreSQL is 16.2 What version of LiveCode Server are you running? Let us know! Rick > On Mar 21, 2024, at 12:26 PM, doc hawk via use-livecode wrote: > > I'm near pulling out my hair on this. > > I set this up, and haven't used it for so long that I can't seem to > remember everything. > > Postrgres 9.5 is installed on this machine, and appears to be running and > accepting connections: > > sudo -u postgres /Library/PostgreSQL/9.5/bin/pg_ctl restart -m fast -D > /Library/PostgreSQL/9.5/data/ > > sharpshin:hawk>2024-03-08 15:48:39 PST LOG: redirecting log output to > logging collector process > 2024-03-08 15:48:39 PST HINT: Future log output will appear in directory > "pg_log". From paul at researchware.com Thu Mar 21 17:48:09 2024 From: paul at researchware.com (Paul Dupuis) Date: Thu, 21 Mar 2024 17:48:09 -0400 Subject: Dropping file on an LC standalone... Message-ID: My question is what message is triggered when a file is dropped on a running LC standdalone on Windows On Windows, if the APP is started by dropping a file on it, the file name is available to any handler in the startup sequence via the $1 special variable. i.e. IF teh variable $1 contains a file name the app was started by someone droping the file on teh app or by double-clicking a file associated with teh app. On macOS, this is all handled by appleEvents. i.e. if a file is dropped on a LC standalone on macOS that standalone gets an appleEvent message and the parameters of the message can be used to get the file name . This is true on startup (if a file was dropped on the app to start it or an associated file was double clicked to start the app OR on macOS if the app is already running and a file is dropped on its icon, the app gets an appleEvent message. So, what message does a LC standalone app on Windows get, if it has been running and a file is dropped on its icon? An what is the message path of that message (i.e. is it send to the current card, current stack, the mainstack card, or the mainstack stack?) Thanks in advance! From bobsneidar at iotecdigital.com Thu Mar 21 18:46:59 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 21 Mar 2024 22:46:59 +0000 Subject: Dropping file on an LC standalone... In-Reply-To: References: Message-ID: Does it have to be the icon? If I drag a file onto an app in the Windows Tack Bar it does nothing, even if the file belongs to the app I am dragging the file onto. If however I HOVER on the icon and the app is running, it will bring the app to the front and show the frontmost window if it is hidden. If I drag the file onto the open Window, the app will open it. Case in point, drag an Excel spreadsheet onto the Excel icon in the task bar. All it will do is add a shortcut to the Excel icon for that file. But launch Excel, open a blank spreadsheet, then drag an excel file onto the icon, hover, then drop onto the blank Excel Spreadsheet. In THIS case it will open the spreadsheet in a new window. Because of this you may be able to use a Drag / Drop handler in your card script. The caveat is that the card itself will not accept a drag/drop action, but if you drag anything on top of an actual object, THEN the card will get the message. So to handle this, add an opaque rectangle the size of the card behind everything else (if the opacity is set to 99 it will appear transparent for all intents and purposes). The rectangle (or any other object on the card that doesn’t have a dragDrop handler) will get the message and it will fall through to the card where you can handle it. This in my card script: on dragEnter set the dragAction to "link" -- for files pass dragEnter end dragEnter on dragDrop put the dragData into tDragData set the dragData to empty -- do something with tDragData end dragDrop On Mar 21, 2024, at 2:48 PM, Paul Dupuis via use-livecode wrote: My question is what message is triggered when a file is dropped on a running LC standdalone on Windows On Windows, if the APP is started by dropping a file on it, the file name is available to any handler in the startup sequence via the $1 special variable. i.e. IF teh variable $1 contains a file name the app was started by someone droping the file on teh app or by double-clicking a file associated with teh app. On macOS, this is all handled by appleEvents. i.e. if a file is dropped on a LC standalone on macOS that standalone gets an appleEvent message and the parameters of the message can be used to get the file name . This is true on startup (if a file was dropped on the app to start it or an associated file was double clicked to start the app OR on macOS if the app is already running and a file is dropped on its icon, the app gets an appleEvent message. So, what message does a LC standalone app on Windows get, if it has been running and a file is dropped on its icon? An what is the message path of that message (i.e. is it send to the current card, current stack, the mainstack card, or the mainstack stack?) Thanks in advance! From bobsneidar at iotecdigital.com Thu Mar 21 18:58:58 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 21 Mar 2024 22:58:58 +0000 Subject: Dropping file on an LC standalone... In-Reply-To: References: Message-ID: <54569147-9438-416C-8235-9AA6457C0745@iotecdigital.com> Wow I just read that and it didn’t even make sense to me! Basically with Windows, dragging a file onto a taskbar icon only adds the file to the icon’s Pinned items. Dragging a file onto an open window of an App will try and open the file in that app. If the app’s window(s) are hidden, dragging and hovering over the app’s shortcut will cause the app to show it’s window(s) whereupon you can drop the file onto the open window. Bob S On Mar 21, 2024, at 3:46 PM, Bob Sneidar via use-livecode wrote: Does it have to be the icon? If I drag a file onto an app in the Windows Tack Bar it does nothing, even if the file belongs to the app I am dragging the file onto. If however I HOVER on the icon and the app is running, it will bring the app to the front and show the frontmost window if it is hidden. If I drag the file onto the open Window, the app will open it. Case in point, drag an Excel spreadsheet onto the Excel icon in the task bar. All it will do is add a shortcut to the Excel icon for that file. But launch Excel, open a blank spreadsheet, then drag an excel file onto the icon, hover, then drop onto the blank Excel Spreadsheet. In THIS case it will open the spreadsheet in a new window. Because of this you may be able to use a Drag / Drop handler in your card script. The caveat is that the card itself will not accept a drag/drop action, but if you drag anything on top of an actual object, THEN the card will get the message. So to handle this, add an opaque rectangle the size of the card behind everything else (if the opacity is set to 99 it will appear transparent for all intents and purposes). The rectangle (or any other object on the card that doesn’t have a dragDrop handler) will get the message and it will fall through to the card where you can handle it. This in my card script: on dragEnter set the dragAction to "link" -- for files pass dragEnter end dragEnter on dragDrop put the dragData into tDragData set the dragData to empty -- do something with tDragData end dragDrop From craig at starfirelighting.com Fri Mar 22 08:44:32 2024 From: craig at starfirelighting.com (Craig Newman) Date: Fri, 22 Mar 2024 08:44:32 -0400 Subject: Dropping file on an LC standalone... In-Reply-To: <54569147-9438-416C-8235-9AA6457C0745@iotecdigital.com> References: <54569147-9438-416C-8235-9AA6457C0745@iotecdigital.com> Message-ID: <385F2046-BC33-4558-A935-C5F34ED99477@starfirelighting.com> What on earth is the “1$ special variable”? Craig > On Mar 21, 2024, at 6:58 PM, Bob Sneidar via use-livecode wrote: > > Wow I just read that and it didn’t even make sense to me! > > Basically with Windows, dragging a file onto a taskbar icon only adds the file to the icon’s Pinned items. Dragging a file onto an open window of an App will try and open the file in that app. If the app’s window(s) are hidden, dragging and hovering over the app’s shortcut will cause the app to show it’s window(s) whereupon you can drop the file onto the open window. > > Bob S > > > On Mar 21, 2024, at 3:46 PM, Bob Sneidar via use-livecode wrote: > > Does it have to be the icon? If I drag a file onto an app in the Windows Tack Bar it does nothing, even if the file belongs to the app I am dragging the file onto. If however I HOVER on the icon and the app is running, it will bring the app to the front and show the frontmost window if it is hidden. > > If I drag the file onto the open Window, the app will open it. Case in point, drag an Excel spreadsheet onto the Excel icon in the task bar. All it will do is add a shortcut to the Excel icon for that file. But launch Excel, open a blank spreadsheet, then drag an excel file onto the icon, hover, then drop onto the blank Excel Spreadsheet. In THIS case it will open the spreadsheet in a new window. > > Because of this you may be able to use a Drag / Drop handler in your card script. The caveat is that the card itself will not accept a drag/drop action, but if you drag anything on top of an actual object, THEN the card will get the message. > > So to handle this, add an opaque rectangle the size of the card behind everything else (if the opacity is set to 99 it will appear transparent for all intents and purposes). The rectangle (or any other object on the card that doesn’t have a dragDrop handler) will get the message and it will fall through to the card where you can handle it. > > This in my card script: > > on dragEnter > set the dragAction to "link" -- for files > pass dragEnter > end dragEnter > > on dragDrop > put the dragData into tDragData > set the dragData to empty > -- do something with tDragData > end dragDrop > > _______________________________________________ > 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 From klaus at major-k.de Fri Mar 22 08:56:52 2024 From: klaus at major-k.de (Klaus major-k) Date: Fri, 22 Mar 2024 13:56:52 +0100 Subject: Dropping file on an LC standalone... In-Reply-To: <385F2046-BC33-4558-A935-C5F34ED99477@starfirelighting.com> References: <54569147-9438-416C-8235-9AA6457C0745@iotecdigital.com> <385F2046-BC33-4558-A935-C5F34ED99477@starfirelighting.com> Message-ID: <6764ADB2-7257-4D22-A617-B8E81D96C529@major-k.de> Hi Craig, > Am 22.03.2024 um 13:44 schrieb Craig Newman via use-livecode : > > What on earth is the “1$ special variable”? well, 1$ sounds like a good bargain for a "special variable"! :-D Actually it is -> $1 Look up $ in the dictionary for further information. > Craig > >> On Mar 21, 2024, at 6:58 PM, Bob Sneidar via use-livecode wrote: >> >> Wow I just read that and it didn’t even make sense to me! >> >> Basically with Windows, dragging a file onto a taskbar icon only adds the file to the icon’s Pinned items. Dragging a file onto an open window of an App will try and open the file in that app. If the app’s window(s) are hidden, dragging and hovering over the app’s shortcut will cause the app to show it’s window(s) whereupon you can drop the file onto the open window. >> >> Bob S >> >> >> On Mar 21, 2024, at 3:46 PM, Bob Sneidar via use-livecode wrote: >> >> Does it have to be the icon? If I drag a file onto an app in the Windows Tack Bar it does nothing, even if the file belongs to the app I am dragging the file onto. If however I HOVER on the icon and the app is running, it will bring the app to the front and show the frontmost window if it is hidden. >> >> If I drag the file onto the open Window, the app will open it. Case in point, drag an Excel spreadsheet onto the Excel icon in the task bar. All it will do is add a shortcut to the Excel icon for that file. But launch Excel, open a blank spreadsheet, then drag an excel file onto the icon, hover, then drop onto the blank Excel Spreadsheet. In THIS case it will open the spreadsheet in a new window. >> >> Because of this you may be able to use a Drag / Drop handler in your card script. The caveat is that the card itself will not accept a drag/drop action, but if you drag anything on top of an actual object, THEN the card will get the message. >> >> So to handle this, add an opaque rectangle the size of the card behind everything else (if the opacity is set to 99 it will appear transparent for all intents and purposes). The rectangle (or any other object on the card that doesn’t have a dragDrop handler) will get the message and it will fall through to the card where you can handle it. >> >> This in my card script: >> >> on dragEnter >> set the dragAction to "link" -- for files >> pass dragEnter >> end dragEnter >> >> on dragDrop >> put the dragData into tDragData >> set the dragData to empty >> -- do something with tDragData >> end dragDrop Best Klaus -- Klaus Major https://www.major-k.de https://www.major-k.de/bass klaus at major-k.de From craig at starfirelighting.com Fri Mar 22 12:09:34 2024 From: craig at starfirelighting.com (Craig Newman) Date: Fri, 22 Mar 2024 12:09:34 -0400 Subject: Dropping file on an LC standalone... In-Reply-To: <6764ADB2-7257-4D22-A617-B8E81D96C529@major-k.de> References: <54569147-9438-416C-8235-9AA6457C0745@iotecdigital.com> <385F2046-BC33-4558-A935-C5F34ED99477@starfirelighting.com> <6764ADB2-7257-4D22-A617-B8E81D96C529@major-k.de> Message-ID: <9A96E1CB-B642-4093-802B-36350EEED916@starfirelighting.com> Klaus. AHA. I did, but did not see past the fact that the “$” keyword took parameters. Craig > On Mar 22, 2024, at 8:56 AM, Klaus major-k via use-livecode wrote: > > Hi Craig, > >> Am 22.03.2024 um 13:44 schrieb Craig Newman via use-livecode >: >> >> What on earth is the “1$ special variable”? > > well, 1$ sounds like a good bargain for a "special variable"! :-D > > Actually it is -> $1 > Look up $ in the dictionary for further information. > >> Craig >> >>> On Mar 21, 2024, at 6:58 PM, Bob Sneidar via use-livecode wrote: >>> >>> Wow I just read that and it didn’t even make sense to me! >>> >>> Basically with Windows, dragging a file onto a taskbar icon only adds the file to the icon’s Pinned items. Dragging a file onto an open window of an App will try and open the file in that app. If the app’s window(s) are hidden, dragging and hovering over the app’s shortcut will cause the app to show it’s window(s) whereupon you can drop the file onto the open window. >>> >>> Bob S >>> >>> >>> On Mar 21, 2024, at 3:46 PM, Bob Sneidar via use-livecode wrote: >>> >>> Does it have to be the icon? If I drag a file onto an app in the Windows Tack Bar it does nothing, even if the file belongs to the app I am dragging the file onto. If however I HOVER on the icon and the app is running, it will bring the app to the front and show the frontmost window if it is hidden. >>> >>> If I drag the file onto the open Window, the app will open it. Case in point, drag an Excel spreadsheet onto the Excel icon in the task bar. All it will do is add a shortcut to the Excel icon for that file. But launch Excel, open a blank spreadsheet, then drag an excel file onto the icon, hover, then drop onto the blank Excel Spreadsheet. In THIS case it will open the spreadsheet in a new window. >>> >>> Because of this you may be able to use a Drag / Drop handler in your card script. The caveat is that the card itself will not accept a drag/drop action, but if you drag anything on top of an actual object, THEN the card will get the message. >>> >>> So to handle this, add an opaque rectangle the size of the card behind everything else (if the opacity is set to 99 it will appear transparent for all intents and purposes). The rectangle (or any other object on the card that doesn’t have a dragDrop handler) will get the message and it will fall through to the card where you can handle it. >>> >>> This in my card script: >>> >>> on dragEnter >>> set the dragAction to "link" -- for files >>> pass dragEnter >>> end dragEnter >>> >>> on dragDrop >>> put the dragData into tDragData >>> set the dragData to empty >>> -- do something with tDragData >>> end dragDrop > > Best > > Klaus > > -- > Klaus Major > https://www.major-k.de > https://www.major-k.de/bass > klaus at major-k.de > > > _______________________________________________ > 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 From neville.smythe at optusnet.com.au Sun Mar 24 05:45:05 2024 From: neville.smythe at optusnet.com.au (Neville Smythe) Date: Sun, 24 Mar 2024 20:45:05 +1100 Subject: FindIndex question Message-ID: <1AC244C2-FAA2-4834-B882-6B4D1CB31B88@optusnet.com.au> I am using FindIndex on a dataGrid dispatch "FindIndex" to tDataGrid with pKey, pSearchingString and I can pass multiple pKey, pSearchingString pairs such as “col1",pSearchStr1,”col2”,pSearchStr2 as cited in the dictionary entry But there is also a rather cryptic note at the end of the FindIndex dictionary entry Note that pKey can also be an array if you want to use array-valued array indexing to locate pSearchingString. I took that to mean one could set up an array pKey with values such as pKey[“col1”]=pSearchStr1, pKey[“col2”]=pSearchStr2 and then just pass the pKey array. But that doesn’t work. Neither does using two indexed arrays pKey and pSearchStr with pKey[1]=“col1”, pSearchStr[1]=pSearchStr1,pKey[2]=“col2”, pSearchStr[2]=pSearchStr2 Anyone know what it does mean? Neville Smythe From MikeKerner at roadrunner.com Sun Mar 24 10:02:27 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Sun, 24 Mar 2024 10:02:27 -0400 Subject: FindIndex question In-Reply-To: <1AC244C2-FAA2-4834-B882-6B4D1CB31B88@optusnet.com.au> References: <1AC244C2-FAA2-4834-B882-6B4D1CB31B88@optusnet.com.au> Message-ID: i don't know if you dove into the code, but it's too early to think about unpacking this, so here's the code: *## pSearchA is array-valued index for accessing sDataArray* *## pSearchA[1] = key_1* *## pSearchA[2] = key_2* *command* FindIndex pKeyIndexA, pSearchString *--, ...* *-----* *local* foundAMatch, theFoundIndex *local* i *local* theIndex *-----* *repeat* for each key theIndex in sDataArray *## Developer can pass in multiple search strings to perform an AND search* *repeat* with i = 1 to the paramCount step 2 *if* sDataArray[theIndex][param(i)] is param(i+1) *then* *put* true into foundAMatch *else* *put* false into foundAMatch *end* *if* *## AND search didn't pan out. Move on to next index.* *if* not foundAMatch *then* *exit* *repeat* *end* *repeat* *if* foundAMatch *then* *put* theIndex into theFoundIndex *exit* *repeat* *end* *if* *end* *repeat* *return* max(0, theFoundIndex) *end* FindIndex On Sun, Mar 24, 2024 at 5:46 AM Neville Smythe via use-livecode < use-livecode at lists.runrev.com> wrote: > I am using FindIndex on a dataGrid > > dispatch "FindIndex" to tDataGrid with pKey, pSearchingString > > and I can pass multiple pKey, pSearchingString pairs such as > “col1",pSearchStr1,”col2”,pSearchStr2 as cited in the dictionary entry > > But there is also a rather cryptic note at the end of the FindIndex > dictionary entry > > Note that pKey can also be an array if you want to use array-valued > array indexing to locate pSearchingString. > > I took that to mean one could set up an array pKey with values such as > pKey[“col1”]=pSearchStr1, pKey[“col2”]=pSearchStr2 > and then just pass the pKey array. But that doesn’t work. > > Neither does using two indexed arrays pKey and pSearchStr with > pKey[1]=“col1”, pSearchStr[1]=pSearchStr1,pKey[2]=“col2”, > pSearchStr[2]=pSearchStr2 > > Anyone know what it does mean? > > > Neville Smythe > > > > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From neville.smythe at optusnet.com.au Sun Mar 24 17:22:02 2024 From: neville.smythe at optusnet.com.au (Neville Smythe) Date: Mon, 25 Mar 2024 08:22:02 +1100 Subject: FindIndex question In-Reply-To: References: Message-ID: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> > On 25 Mar 2024, at 3:00 am,Mike Kerner wrote: > > i don't know if you dove into the code, but it's too early to think about > unpacking this, so here's the code: ... Thanks Mike While I was aware of the optional parameters feature of LC commands I have never used it I so was unfamiliar with the syntax. The penny had never dropped that the parameter list for a command is just an array, so evidently you can actually send an array instead of a comma delimited list Which means that you can send FindIndex a single parameter pKeyPairsA which is an array with alternating colName,searchStr values Setting up such an array is not particularly convenient for coding however. My workaround had been to use a custom function hack function myFindIndex pDataGrid, pKeyPairs — pKeyPairs is a comma delimited list such as “colname1,str1,colname2,str2,..” replace comma with quote & comma & quote in pKeyPairs put “dispatch FindIndex to” && pDataGrid && “with” && quote & pKeyPairs & quote into tCommandStr do tCommandstr put the result into tFoundIndex ... A much more elegant (if probably no faster) solution is function myFindIndex pDataGrid, pKeyPairs — pKeyPairs is a comma delimited list such as “colname1,str1,colname2,str2,..” set the columnDelimiter to comma split pKeyPairs by column dispatch “FindIndex" to pDataGrid with pKeyPairs put the result into tFoundIndex ... BTW, where did you find the source code for DataGrid handlers? I now see how one could write a FindIndices function to return all indices rather than just the first found … or even a general WHERE search :-) Neville Smythe From MikeKerner at roadrunner.com Sun Mar 24 21:59:05 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Sun, 24 Mar 2024 21:59:05 -0400 Subject: FindIndex question In-Reply-To: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> References: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> Message-ID: it's in the behavior of the dg you can also go digging through the OSS repo, if you like. On Sun, Mar 24, 2024 at 5:23 PM Neville Smythe via use-livecode < use-livecode at lists.runrev.com> wrote: > > > On 25 Mar 2024, at 3:00 am,Mike Kerner wrote: > > > > i don't know if you dove into the code, but it's too early to think about > > unpacking this, so here's the code: ... > > Thanks Mike > > While I was aware of the optional parameters feature of LC commands I have > never used it I so was unfamiliar with the syntax. The penny had never > dropped that the parameter list for a command is just an array, so > evidently you can actually send an array instead of a comma delimited list > > Which means that you can send FindIndex a single parameter pKeyPairsA > which is an array with alternating colName,searchStr values > > Setting up such an array is not particularly convenient for coding > however. My workaround had been to use a custom function hack > > function myFindIndex pDataGrid, pKeyPairs > — pKeyPairs is a comma delimited list such as > “colname1,str1,colname2,str2,..” > > replace comma with quote & comma & quote in pKeyPairs > put “dispatch FindIndex to” && pDataGrid && “with” && quote & > pKeyPairs & quote into tCommandStr > do tCommandstr > put the result into tFoundIndex > ... > > A much more elegant (if probably no faster) solution is > > function myFindIndex pDataGrid, pKeyPairs > — pKeyPairs is a comma delimited list such as > “colname1,str1,colname2,str2,..” > > set the columnDelimiter to comma > split pKeyPairs by column > dispatch “FindIndex" to pDataGrid with pKeyPairs > put the result into tFoundIndex > ... > > > BTW, where did you find the source code for DataGrid handlers? I now see > how one could write a FindIndices function to return all indices rather > than just the first found … or even a general WHERE search :-) > > Neville Smythe > > > > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From MikeKerner at roadrunner.com Sun Mar 24 22:03:14 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Sun, 24 Mar 2024 22:03:14 -0400 Subject: FindIndex question In-Reply-To: References: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> Message-ID: just to sanitycheck myself, i opened 9.6.9, created a new stack, and added a dg to it. then i fired up the pb. expand the card, and you'll see the dg. there are two behaviors assigned to the dg. the first is button id 1005 of stack "revDataGridLibrary" which has, as its behavior, stack "RevDataGridLibraryBehaviorsDataGridButtonBehavior" On Sun, Mar 24, 2024 at 9:59 PM Mike Kerner wrote: > it's in the behavior of the dg > you can also go digging through the OSS repo, if you like. > > > On Sun, Mar 24, 2024 at 5:23 PM Neville Smythe via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> >> > On 25 Mar 2024, at 3:00 am,Mike Kerner wrote: >> > >> > i don't know if you dove into the code, but it's too early to think >> about >> > unpacking this, so here's the code: ... >> >> Thanks Mike >> >> While I was aware of the optional parameters feature of LC commands I >> have never used it I so was unfamiliar with the syntax. The penny had never >> dropped that the parameter list for a command is just an array, so >> evidently you can actually send an array instead of a comma delimited list >> >> Which means that you can send FindIndex a single parameter pKeyPairsA >> which is an array with alternating colName,searchStr values >> >> Setting up such an array is not particularly convenient for coding >> however. My workaround had been to use a custom function hack >> >> function myFindIndex pDataGrid, pKeyPairs >> — pKeyPairs is a comma delimited list such as >> “colname1,str1,colname2,str2,..” >> >> replace comma with quote & comma & quote in pKeyPairs >> put “dispatch FindIndex to” && pDataGrid && “with” && quote & >> pKeyPairs & quote into tCommandStr >> do tCommandstr >> put the result into tFoundIndex >> ... >> >> A much more elegant (if probably no faster) solution is >> >> function myFindIndex pDataGrid, pKeyPairs >> — pKeyPairs is a comma delimited list such as >> “colname1,str1,colname2,str2,..” >> >> set the columnDelimiter to comma >> split pKeyPairs by column >> dispatch “FindIndex" to pDataGrid with pKeyPairs >> put the result into tFoundIndex >> ... >> >> >> BTW, where did you find the source code for DataGrid handlers? I now see >> how one could write a FindIndices function to return all indices rather >> than just the first found … or even a general WHERE search :-) >> >> Neville Smythe >> >> >> >> >> _______________________________________________ >> 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 >> > > > -- > On the first day, God created the heavens and the Earth > On the second day, God created the oceans. > On the third day, God put the animals on hold for a few hours, > and did a little diving. > And God said, "This is good." > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From bobsneidar at iotecdigital.com Mon Mar 25 11:15:22 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 25 Mar 2024 15:15:22 +0000 Subject: FindIndex question In-Reply-To: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> References: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> Message-ID: I wrote a findInArray() function that will convert an array to a memory based SQL database, and one of the arguments is the SQL query statement to use on the database. I have another called FilterArray() which simply iterates through the keys to output those matching a criteria. Bob S > On Mar 24, 2024, at 2:22 PM, Neville Smythe via use-livecode wrote: > > >> On 25 Mar 2024, at 3:00 am,Mike Kerner wrote: >> >> i don't know if you dove into the code, but it's too early to think about >> unpacking this, so here's the code: ... > > Thanks Mike > > While I was aware of the optional parameters feature of LC commands I have never used it I so was unfamiliar with the syntax. The penny had never dropped that the parameter list for a command is just an array, so evidently you can actually send an array instead of a comma delimited list > > Which means that you can send FindIndex a single parameter pKeyPairsA which is an array with alternating colName,searchStr values > > Setting up such an array is not particularly convenient for coding however. My workaround had been to use a custom function hack > > function myFindIndex pDataGrid, pKeyPairs > — pKeyPairs is a comma delimited list such as “colname1,str1,colname2,str2,..” > > replace comma with quote & comma & quote in pKeyPairs > put “dispatch FindIndex to” && pDataGrid && “with” && quote & pKeyPairs & quote into tCommandStr > do tCommandstr > put the result into tFoundIndex > ... > > A much more elegant (if probably no faster) solution is > > function myFindIndex pDataGrid, pKeyPairs > — pKeyPairs is a comma delimited list such as “colname1,str1,colname2,str2,..” > > set the columnDelimiter to comma > split pKeyPairs by column > dispatch “FindIndex" to pDataGrid with pKeyPairs > put the result into tFoundIndex > ... > > > BTW, where did you find the source code for DataGrid handlers? I now see how one could write a FindIndices function to return all indices rather than just the first found … or even a general WHERE search :-) > > Neville Smythe > > > > > _______________________________________________ > 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 From MikeKerner at roadrunner.com Mon Mar 25 13:34:06 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Mon, 25 Mar 2024 13:34:06 -0400 Subject: FindIndex question In-Reply-To: References: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> Message-ID: i would be curious to know if an in-memory sqlite db increases scroll speed with dg's. basically, you would live load the dg with pages from the db. i can't imagine that the dg is faster than the pg. everything i've tried with the pg is faster than the dg. just one more reason to resurrect the script compiler and release it. On Mon, Mar 25, 2024 at 11:16 AM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > I wrote a findInArray() function that will convert an array to a memory > based SQL database, and one of the arguments is the SQL query statement to > use on the database. I have another called FilterArray() which simply > iterates through the keys to output those matching a criteria. > > Bob S > > > On Mar 24, 2024, at 2:22 PM, Neville Smythe via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > > >> On 25 Mar 2024, at 3:00 am,Mike Kerner wrote: > >> > >> i don't know if you dove into the code, but it's too early to think > about > >> unpacking this, so here's the code: ... > > > > Thanks Mike > > > > While I was aware of the optional parameters feature of LC commands I > have never used it I so was unfamiliar with the syntax. The penny had never > dropped that the parameter list for a command is just an array, so > evidently you can actually send an array instead of a comma delimited list > > > > Which means that you can send FindIndex a single parameter pKeyPairsA > which is an array with alternating colName,searchStr values > > > > Setting up such an array is not particularly convenient for coding > however. My workaround had been to use a custom function hack > > > > function myFindIndex pDataGrid, pKeyPairs > > — pKeyPairs is a comma delimited list such as > “colname1,str1,colname2,str2,..” > > > > replace comma with quote & comma & quote in pKeyPairs > > put “dispatch FindIndex to” && pDataGrid && “with” && quote & > pKeyPairs & quote into tCommandStr > > do tCommandstr > > put the result into tFoundIndex > > ... > > > > A much more elegant (if probably no faster) solution is > > > > function myFindIndex pDataGrid, pKeyPairs > > — pKeyPairs is a comma delimited list such as > “colname1,str1,colname2,str2,..” > > > > set the columnDelimiter to comma > > split pKeyPairs by column > > dispatch “FindIndex" to pDataGrid with pKeyPairs > > put the result into tFoundIndex > > ... > > > > > > BTW, where did you find the source code for DataGrid handlers? I now see > how one could write a FindIndices function to return all indices rather > than just the first found … or even a general WHERE search :-) > > > > Neville Smythe > > > > > > > > > > _______________________________________________ > > 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 > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From bobsneidar at iotecdigital.com Mon Mar 25 14:07:20 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 25 Mar 2024 18:07:20 +0000 Subject: FindIndex question In-Reply-To: References: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> Message-ID: I’ve thought about that. A temporary memory database would not appear to the user to be faster, as the initial query for a large dataset will happen all at once during which Livecode would be unresponsive. And if you page the queries from the live database, re-storing the data in a memory database would just be added time. You could use send in time to cache forward and backwards a few pages, and in that case a memory database could help, but if the user drags the elevator box (how many people know what THAT is) then you go back to square 1 concerning efficiency. Bob S > On Mar 25, 2024, at 10:34 AM, Mike Kerner via use-livecode wrote: > > i would be curious to know if an in-memory sqlite db increases scroll speed > with dg's. > basically, you would live load the dg with pages from the db. > i can't imagine that the dg is faster than the pg. everything i've tried > with the pg is faster than the dg. > just one more reason to resurrect the script compiler and release it. > > On Mon, Mar 25, 2024 at 11:16 AM Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> I wrote a findInArray() function that will convert an array to a memory >> based SQL database, and one of the arguments is the SQL query statement to >> use on the database. I have another called FilterArray() which simply >> iterates through the keys to output those matching a criteria. >> >> Bob S >> >>> On Mar 24, 2024, at 2:22 PM, Neville Smythe via use-livecode < >> use-livecode at lists.runrev.com> wrote: >>> >>> >>>> On 25 Mar 2024, at 3:00 am,Mike Kerner wrote: >>>> >>>> i don't know if you dove into the code, but it's too early to think >> about >>>> unpacking this, so here's the code: ... >>> >>> Thanks Mike >>> >>> While I was aware of the optional parameters feature of LC commands I >> have never used it I so was unfamiliar with the syntax. The penny had never >> dropped that the parameter list for a command is just an array, so >> evidently you can actually send an array instead of a comma delimited list >>> >>> Which means that you can send FindIndex a single parameter pKeyPairsA >> which is an array with alternating colName,searchStr values >>> >>> Setting up such an array is not particularly convenient for coding >> however. My workaround had been to use a custom function hack >>> >>> function myFindIndex pDataGrid, pKeyPairs >>> — pKeyPairs is a comma delimited list such as >> “colname1,str1,colname2,str2,..” >>> >>> replace comma with quote & comma & quote in pKeyPairs >>> put “dispatch FindIndex to” && pDataGrid && “with” && quote & >> pKeyPairs & quote into tCommandStr >>> do tCommandstr >>> put the result into tFoundIndex >>> ... >>> >>> A much more elegant (if probably no faster) solution is >>> >>> function myFindIndex pDataGrid, pKeyPairs >>> — pKeyPairs is a comma delimited list such as >> “colname1,str1,colname2,str2,..” >>> >>> set the columnDelimiter to comma >>> split pKeyPairs by column >>> dispatch “FindIndex" to pDataGrid with pKeyPairs >>> put the result into tFoundIndex >>> ... >>> >>> >>> BTW, where did you find the source code for DataGrid handlers? I now see >> how one could write a FindIndices function to return all indices rather >> than just the first found … or even a general WHERE search :-) >>> >>> Neville Smythe >>> >>> >>> >>> >>> _______________________________________________ >>> 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 >> >> _______________________________________________ >> 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 >> > > > -- > On the first day, God created the heavens and the Earth > On the second day, God created the oceans. > On the third day, God put the animals on hold for a few hours, > and did a little diving. > And God said, "This is good." > _______________________________________________ > 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 From MikeKerner at roadrunner.com Mon Mar 25 14:48:47 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Mon, 25 Mar 2024 14:48:47 -0400 Subject: FindIndex question In-Reply-To: References: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> Message-ID: i never heard of it called an "elevator". I anyways heard "thumb" On Mon, Mar 25, 2024 at 2:08 PM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > I’ve thought about that. A temporary memory database would not appear to > the user to be faster, as the initial query for a large dataset will happen > all at once during which Livecode would be unresponsive. And if you page > the queries from the live database, re-storing the data in a memory > database would just be added time. > > You could use send in time to cache forward and backwards a few pages, and > in that case a memory database could help, but if the user drags the > elevator box (how many people know what THAT is) then you go back to square > 1 concerning efficiency. > > Bob S > > > > On Mar 25, 2024, at 10:34 AM, Mike Kerner via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > i would be curious to know if an in-memory sqlite db increases scroll > speed > > with dg's. > > basically, you would live load the dg with pages from the db. > > i can't imagine that the dg is faster than the pg. everything i've tried > > with the pg is faster than the dg. > > just one more reason to resurrect the script compiler and release it. > > > > On Mon, Mar 25, 2024 at 11:16 AM Bob Sneidar via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > >> I wrote a findInArray() function that will convert an array to a memory > >> based SQL database, and one of the arguments is the SQL query statement > to > >> use on the database. I have another called FilterArray() which simply > >> iterates through the keys to output those matching a criteria. > >> > >> Bob S > >> > >>> On Mar 24, 2024, at 2:22 PM, Neville Smythe via use-livecode < > >> use-livecode at lists.runrev.com> wrote: > >>> > >>> > >>>> On 25 Mar 2024, at 3:00 am,Mike Kerner wrote: > >>>> > >>>> i don't know if you dove into the code, but it's too early to think > >> about > >>>> unpacking this, so here's the code: ... > >>> > >>> Thanks Mike > >>> > >>> While I was aware of the optional parameters feature of LC commands I > >> have never used it I so was unfamiliar with the syntax. The penny had > never > >> dropped that the parameter list for a command is just an array, so > >> evidently you can actually send an array instead of a comma delimited > list > >>> > >>> Which means that you can send FindIndex a single parameter pKeyPairsA > >> which is an array with alternating colName,searchStr values > >>> > >>> Setting up such an array is not particularly convenient for coding > >> however. My workaround had been to use a custom function hack > >>> > >>> function myFindIndex pDataGrid, pKeyPairs > >>> — pKeyPairs is a comma delimited list such as > >> “colname1,str1,colname2,str2,..” > >>> > >>> replace comma with quote & comma & quote in pKeyPairs > >>> put “dispatch FindIndex to” && pDataGrid && “with” && quote & > >> pKeyPairs & quote into tCommandStr > >>> do tCommandstr > >>> put the result into tFoundIndex > >>> ... > >>> > >>> A much more elegant (if probably no faster) solution is > >>> > >>> function myFindIndex pDataGrid, pKeyPairs > >>> — pKeyPairs is a comma delimited list such as > >> “colname1,str1,colname2,str2,..” > >>> > >>> set the columnDelimiter to comma > >>> split pKeyPairs by column > >>> dispatch “FindIndex" to pDataGrid with pKeyPairs > >>> put the result into tFoundIndex > >>> ... > >>> > >>> > >>> BTW, where did you find the source code for DataGrid handlers? I now > see > >> how one could write a FindIndices function to return all indices rather > >> than just the first found … or even a general WHERE search :-) > >>> > >>> Neville Smythe > >>> > >>> > >>> > >>> > >>> _______________________________________________ > >>> 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 > >> > >> _______________________________________________ > >> 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 > >> > > > > > > -- > > On the first day, God created the heavens and the Earth > > On the second day, God created the oceans. > > On the third day, God put the animals on hold for a few hours, > > and did a little diving. > > And God said, "This is good." > > _______________________________________________ > > 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 > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From MikeKerner at roadrunner.com Mon Mar 25 14:50:18 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Mon, 25 Mar 2024 14:50:18 -0400 Subject: FindIndex question In-Reply-To: References: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> Message-ID: i guess what i'm wondering is how quickly or slowly the dg will render, if the dgArray is large. it seems to be slower, when the array is larger. On Mon, Mar 25, 2024 at 2:48 PM Mike Kerner wrote: > i never heard of it called an "elevator". I anyways heard "thumb" > > On Mon, Mar 25, 2024 at 2:08 PM Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> I’ve thought about that. A temporary memory database would not appear to >> the user to be faster, as the initial query for a large dataset will happen >> all at once during which Livecode would be unresponsive. And if you page >> the queries from the live database, re-storing the data in a memory >> database would just be added time. >> >> You could use send in time to cache forward and backwards a few pages, >> and in that case a memory database could help, but if the user drags the >> elevator box (how many people know what THAT is) then you go back to square >> 1 concerning efficiency. >> >> Bob S >> >> >> > On Mar 25, 2024, at 10:34 AM, Mike Kerner via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> > >> > i would be curious to know if an in-memory sqlite db increases scroll >> speed >> > with dg's. >> > basically, you would live load the dg with pages from the db. >> > i can't imagine that the dg is faster than the pg. everything i've tried >> > with the pg is faster than the dg. >> > just one more reason to resurrect the script compiler and release it. >> > >> > On Mon, Mar 25, 2024 at 11:16 AM Bob Sneidar via use-livecode < >> > use-livecode at lists.runrev.com> wrote: >> > >> >> I wrote a findInArray() function that will convert an array to a memory >> >> based SQL database, and one of the arguments is the SQL query >> statement to >> >> use on the database. I have another called FilterArray() which simply >> >> iterates through the keys to output those matching a criteria. >> >> >> >> Bob S >> >> >> >>> On Mar 24, 2024, at 2:22 PM, Neville Smythe via use-livecode < >> >> use-livecode at lists.runrev.com> wrote: >> >>> >> >>> >> >>>> On 25 Mar 2024, at 3:00 am,Mike Kerner wrote: >> >>>> >> >>>> i don't know if you dove into the code, but it's too early to think >> >> about >> >>>> unpacking this, so here's the code: ... >> >>> >> >>> Thanks Mike >> >>> >> >>> While I was aware of the optional parameters feature of LC commands I >> >> have never used it I so was unfamiliar with the syntax. The penny had >> never >> >> dropped that the parameter list for a command is just an array, so >> >> evidently you can actually send an array instead of a comma delimited >> list >> >>> >> >>> Which means that you can send FindIndex a single parameter pKeyPairsA >> >> which is an array with alternating colName,searchStr values >> >>> >> >>> Setting up such an array is not particularly convenient for coding >> >> however. My workaround had been to use a custom function hack >> >>> >> >>> function myFindIndex pDataGrid, pKeyPairs >> >>> — pKeyPairs is a comma delimited list such as >> >> “colname1,str1,colname2,str2,..” >> >>> >> >>> replace comma with quote & comma & quote in pKeyPairs >> >>> put “dispatch FindIndex to” && pDataGrid && “with” && quote & >> >> pKeyPairs & quote into tCommandStr >> >>> do tCommandstr >> >>> put the result into tFoundIndex >> >>> ... >> >>> >> >>> A much more elegant (if probably no faster) solution is >> >>> >> >>> function myFindIndex pDataGrid, pKeyPairs >> >>> — pKeyPairs is a comma delimited list such as >> >> “colname1,str1,colname2,str2,..” >> >>> >> >>> set the columnDelimiter to comma >> >>> split pKeyPairs by column >> >>> dispatch “FindIndex" to pDataGrid with pKeyPairs >> >>> put the result into tFoundIndex >> >>> ... >> >>> >> >>> >> >>> BTW, where did you find the source code for DataGrid handlers? I now >> see >> >> how one could write a FindIndices function to return all indices rather >> >> than just the first found … or even a general WHERE search :-) >> >>> >> >>> Neville Smythe >> >>> >> >>> >> >>> >> >>> >> >>> _______________________________________________ >> >>> 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 >> >> >> >> _______________________________________________ >> >> 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 >> >> >> > >> > >> > -- >> > On the first day, God created the heavens and the Earth >> > On the second day, God created the oceans. >> > On the third day, God put the animals on hold for a few hours, >> > and did a little diving. >> > And God said, "This is good." >> > _______________________________________________ >> > 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 >> >> _______________________________________________ >> 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 >> > > > -- > On the first day, God created the heavens and the Earth > On the second day, God created the oceans. > On the third day, God put the animals on hold for a few hours, > and did a little diving. > And God said, "This is good." > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From alex at tweedly.net Mon Mar 25 18:06:49 2024 From: alex at tweedly.net (Alex Tweedly) Date: Mon, 25 Mar 2024 22:06:49 +0000 Subject: FindIndex question In-Reply-To: References: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> Message-ID: <5dfb831c-f08d-41f0-8363-e8717918a067@tweedly.net> Bob - I think you've mentioned these functions (and posted code, or a pointer to code, for them) before (but I couldn't find it). Any chance you could re-post (or just send to me, or ...) Mike - I couldn't see in the thread *why* you want to use a dg ather than a pg ? Is there a missing capability you need ? Or some non-obvious (to me) reason to avoid pg? Thanks, Alex. On 25/03/2024 18:50, Mike Kerner via use-livecode wrote: > i guess what i'm wondering is how quickly or slowly the dg will render, if > the dgArray is large. it seems to be slower, when the array is larger. > > On Mon, Mar 25, 2024 at 2:48PM Mike Kerner > wrote: > >> i never heard of it called an "elevator". I anyways heard "thumb" >> >> On Mon, Mar 25, 2024 at 2:08PM Bob Sneidar via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >>> Ive thought about that. A temporary memory database would not appear to >>> the user to be faster, as the initial query for a large dataset will happen >>> all at once during which Livecode would be unresponsive. And if you page >>> the queries from the live database, re-storing the data in a memory >>> database would just be added time. >>> >>> You could use send in time to cache forward and backwards a few pages, >>> and in that case a memory database could help, but if the user drags the >>> elevator box (how many people know what THAT is) then you go back to square >>> 1 concerning efficiency. >>> >>> Bob S >>> >>> >>>> On Mar 25, 2024, at 10:34 AM, Mike Kerner via use-livecode < >>> use-livecode at lists.runrev.com> wrote: >>>> i would be curious to know if an in-memory sqlite db increases scroll >>> speed >>>> with dg's. >>>> basically, you would live load the dg with pages from the db. >>>> i can't imagine that the dg is faster than the pg. everything i've tried >>>> with the pg is faster than the dg. >>>> just one more reason to resurrect the script compiler and release it. >>>> >>>> On Mon, Mar 25, 2024 at 11:16AM Bob Sneidar via use-livecode < >>>> use-livecode at lists.runrev.com> wrote: >>>> >>>>> I wrote a findInArray() function that will convert an array to a memory >>>>> based SQL database, and one of the arguments is the SQL query >>> statement to >>>>> use on the database. I have another called FilterArray() which simply >>>>> iterates through the keys to output those matching a criteria. >>>>> >>>>> Bob S >>>>> >>>>>> On Mar 24, 2024, at 2:22 PM, Neville Smythe via use-livecode < >>>>> use-livecode at lists.runrev.com> wrote: >>>>>> >>>>>>> On 25 Mar 2024, at 3:00 am,Mike Kerner wrote: >>>>>>> >>>>>>> i don't know if you dove into the code, but it's too early to think >>>>> about >>>>>>> unpacking this, so here's the code: ... >>>>>> Thanks Mike >>>>>> >>>>>> While I was aware of the optional parameters feature of LC commands I >>>>> have never used it I so was unfamiliar with the syntax. The penny had >>> never >>>>> dropped that the parameter list for a command is just an array, so >>>>> evidently you can actually send an array instead of a comma delimited >>> list >>>>>> Which means that you can send FindIndex a single parameter pKeyPairsA >>>>> which is an array with alternating colName,searchStr values >>>>>> Setting up such an array is not particularly convenient for coding >>>>> however. My workaround had been to use a custom function hack >>>>>> function myFindIndex pDataGrid, pKeyPairs >>>>>> pKeyPairs is a comma delimited list such as >>>>> colname1,str1,colname2,str2,.. >>>>>> replace comma with quote & comma & quote in pKeyPairs >>>>>> put dispatch FindIndex to && pDataGrid && with && quote & >>>>> pKeyPairs & quote into tCommandStr >>>>>> do tCommandstr >>>>>> put the result into tFoundIndex >>>>>> ... >>>>>> >>>>>> A much more elegant (if probably no faster) solution is >>>>>> >>>>>> function myFindIndex pDataGrid, pKeyPairs >>>>>> pKeyPairs is a comma delimited list such as >>>>> colname1,str1,colname2,str2,.. >>>>>> set the columnDelimiter to comma >>>>>> split pKeyPairs by column >>>>>> dispatch FindIndex" to pDataGrid with pKeyPairs >>>>>> put the result into tFoundIndex >>>>>> ... >>>>>> >>>>>> >>>>>> BTW, where did you find the source code for DataGrid handlers? I now >>> see >>>>> how one could write a FindIndices function to return all indices rather >>>>> than just the first found or even a general WHERE search :-) >>>>>> Neville Smythe >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> 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 >>>>> _______________________________________________ >>>>> 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 >>>>> >>>> >>>> -- >>>> On the first day, God created the heavens and the Earth >>>> On the second day, God created the oceans. >>>> On the third day, God put the animals on hold for a few hours, >>>> and did a little diving. >>>> And God said, "This is good." >>>> _______________________________________________ >>>> 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 >>> _______________________________________________ >>> 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 >>> >> >> -- >> On the first day, God created the heavens and the Earth >> On the second day, God created the oceans. >> On the third day, God put the animals on hold for a few hours, >> and did a little diving. >> And God said, "This is good." >> > From bobsneidar at iotecdigital.com Mon Mar 25 18:39:54 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 25 Mar 2024 22:39:54 +0000 Subject: FindIndex question In-Reply-To: <5dfb831c-f08d-41f0-8363-e8717918a067@tweedly.net> References: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> <5dfb831c-f08d-41f0-8363-e8717918a067@tweedly.net> Message-ID: <9B1A61B1-F178-4FA8-B030-8D2AA82BC3F7@iotecdigital.com> This is the code with a couple of dependencies. I think that’s all the fiddlybits. If I missed something let me know. Bob S function filterArray pArrayDataA, pConditions put the defaultFolder & "/" & "tempdatabase.db" into tDBName put arrayToSQLite(pArrayDataA, tDBName, "arraydata") into tDBID put "select * from arraydata where" && pConditions into tQueryString try put revQueryDatabase(tDBID, tQueryString) into tCursorID put cursorToArray(tCursorID) into tFilteredDataA return tFilteredDataA catch tError return empty end try end filterArray FUNCTION arrayToSQLite pArrayDataA, pDBFile, pDBName, pDBID, pBinaryColumns — The only argument required is pArrayData. Defaults will be used for the rest put the keys of pArrayDataA into tArrayKeys sort tArrayKeys numeric ascending IF pDBFile is empty THEN put ":memory:" into pDBFile IF pDBName is empty THEN put "arraydata" into pDBName TRY if pDBID is empty then \ put revOpenDatabase("sqlite", pDBFile) into pDBID IF "Error" is in pDBID THEN return empty END IF -- attempt to set the encoding put "PRAGMA encoding = 'UTF-16'" into tSQL revExecuteSQL pDBID, tSQL -- attempt to drop the table put "drop table " & pDBName into tDropSQL revExecuteSQL pDBID, tDropSQL put the result into tResult CATCH tError answer tError IF the environment is "development" THEN exit to top ELSE quit END TRY -- create the table put "create table" && quote & pDBName & quote \ & cr into tCreateCommand put "(" & quote & "recordid" & quote && "NUMERIC PRIMARY KEY UNIQUE, " \ & cr AFTER tCreateCommand put the keys of pArrayDataA [1] into tRecordKeyList filter lines of tRecordKeyList without "recordid" REPEAT for each line tRecordKey in tRecordKeyList if pArrayDataA [1] [tRecordKey] is an array or \ pArrayDataA [1] [tRecordKey] begins with "Salted__" then put "BLOB" into tColumnType else put VARCHAR into tColumnType end if put quote & tRecordKey & quote && tColumnType & "," && cr AFTER tCreateCommand END REPEAT delete char -3 to -1 of tCreateCommand put ")" AFTER tCreateCommand TRY revExecuteSQL pDBID, tCreateCommand put the result into tResult IF tResult is not 0 THEN breakpoint CATCH tError breakpoint END TRY put 1 into tRecordCounter put "recordid" & cr & tRecordKeyList into tColumns repeat with i = 1 to the number of lines of tColumns put ":" & i into item i of tColumnList end repeat put "(" & tColumnList & ")" into tColumnList -- insert data REPEAT for each line tKey in tArrayKeys put 1 into tColumnCounter put pArrayDataA [tKey] into tRecordDataA put tRecordCounter into tQueryDataA [1] REPEAT for each line tRecordKey in tRecordKeyList add 1 to tColumnCounter if tRecordDataA [tRecordKey] is an array then put arrayEncode(tRecordDataA [tRecordKey]) into tValue else put tRecordDataA [tRecordKey] into tValue end if put tValue into tQueryDataA [tColumnCounter] END REPEAT put "insert into" && pDBName && "VALUES" && tColumnList into tInsertSQL TRY revExecuteSQL pDBID, tInsertSQL, "tQueryDataA" put the result into tResult if the result is not a number then breakpoint CATCH tError breakpoint END TRY add 1 to tRecordCounter END REPEAT return pDBID END arrayToSQLite FUNCTION cursorToArray pCursorID put revNumberOfRecords(pCursorID) into tNumberOfRecords if tNumberOfRecords = 0 then \ return empty put revDatabaseColumnCount(pCursorID) into tColumnCount put revDatabaseColumnNames(pCursorID) into tColumnNames REPEAT forever add 1 to tRecordCount REPEAT with i = 1 to tColumnCount put revDatabaseColumnNumbered(pCursorID, i) into tColumnValue put tColumnValue into aCursorArray [tRecordCount] [item i of tColumnNames] END REPEAT revMoveToNextRecord pCursorID if revQueryIsAtEnd(pCursorID) then \ exit repeat END REPEAT return aCursorArray END cursorToArray > On Mar 25, 2024, at 3:06 PM, Alex Tweedly via use-livecode wrote: > > Bob - I think you've mentioned these functions (and posted code, or a pointer to code, for them) before (but I couldn't find it). Any chance you could re-post (or just send to me, or ...) > > Mike - I couldn't see in the thread *why* you want to use a dg ather than a pg ? Is there a missing capability you need ? Or some non-obvious (to me) reason to avoid pg? > > Thanks, > > Alex. > From selander at tkf.att.ne.jp Tue Mar 26 01:14:17 2024 From: selander at tkf.att.ne.jp (Tim Selander) Date: Tue, 26 Mar 2024 14:14:17 +0900 Subject: Tutorial for Livecode Server log in system Message-ID: <3f95b490-af44-2641-7211-d5823a0c97ef@tkf.att.ne.jp> Hi all. As a hobbiest/amateur I continue to plunk away with Livecode, mostly the server product in my on-rev account. Can anyone point me to a tutorial or sample of an online log in system (username, email and password) for a website using Livecode? I've found some php tutorials, and /think/ I could glean enough hints to roll my own in LC server, but would greatly prefer to start with LC itself! Any help appreciated! Tim Selander Japan From pxrossello at gmail.com Tue Mar 26 07:45:38 2024 From: pxrossello at gmail.com (pere xavier Rossello) Date: Tue, 26 Mar 2024 12:45:38 +0100 Subject: Tutorial for Livecode Server log in system In-Reply-To: <3f95b490-af44-2641-7211-d5823a0c97ef@tkf.att.ne.jp> References: <3f95b490-af44-2641-7211-d5823a0c97ef@tkf.att.ne.jp> Message-ID: Hi. To make online log in is quit easy in livecode. first you need a webpage with a form asking username, email and password ) and submit to a livecode script

--- method can be to types get or post - normally I use Get this will send username and pass to tloging.lc script and the livecode code script ------------------------- " put "window.location='impr_pend.lc?t=impresion';" put "" end if if len(gUsr)<2 or len(gPass)<2 then put "" end if put revOpenDatabase ("mysql", "localhost:3363","reparacion","gsmmax","11*Endimion_grd") into gDbId --put revdb_execute(gDbId, tSQL, "") into tResultado put "select pass,id,token from tecnicos where login='" & gUsr & "';" into tSQL put tSQL & "
" put revDataFromQuery(tab, return, gDbID, tSQL) into tRes set itemdelimiter to tab put item 1 of tRes into tPass put item 2 of tRes into tCod put item 3 of tRes into tToken El mar, 26 mar 2024 a las 6:15, Tim Selander via use-livecode (< use-livecode at lists.runrev.com>) escribió: > Hi all. > > As a hobbiest/amateur I continue to plunk away with Livecode, mostly the > server product in my on-rev account. > > Can anyone point me to a tutorial or sample of an online log in system > (username, email and password) for a website using Livecode? > > I've found some php tutorials, and /think/ I could glean enough hints to > roll my own in LC server, but would greatly prefer to start with LC itself! > > Any help appreciated! > > Tim Selander > Japan > > _______________________________________________ > 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 > From pxrossello at gmail.com Tue Mar 26 07:58:06 2024 From: pxrossello at gmail.com (pere xavier Rossello) Date: Tue, 26 Mar 2024 12:58:06 +0100 Subject: Tutorial for Livecode Server log in system In-Reply-To: References: <3f95b490-af44-2641-7211-d5823a0c97ef@tkf.att.ne.jp> Message-ID: cont ( make mistakes pushing tab on keyboard) full scrip " put "window.location='index.html?_e=Error_sin_login';" put "" end if -------------------- retrive pass from database put revOpenDatabase ("mysql", "localhost:3363","reparacion","gsmmax","11*Endimion_grd") into gDbId put "select pass,id,token from tecnicos where login='" & gUsr & "';" into tSQL put tSQL & "
" put revDataFromQuery(tab, return, gDbID, tSQL) into tRes set itemdelimiter to tab put item 1 of tRes into tPass put item 2 of tRes into tCod put item 3 of tRes into tToken if tPass <> gPass then -------------------------- error ----------------- put "" else ------------ Pass oK continue put "" end if revCloseDatabase gDbId ?> if someone want to try it: https://mpibox.com/rep/ login: user: test pass: admin if you need some help let me know. P.D. sorry for spelling mistakes. and other copy/paste El mar, 26 mar 2024 a las 12:45, pere xavier Rossello () escribió: > Hi. > > To make online log in is quit easy in livecode. > first you need a webpage with a form asking username, email and password ) > and submit to a livecode script >
enctype="text/plain"> > placeholder="Usuario" required> > required> > >
> --- method can be to types get or post - normally I use Get > this will send username and pass to tloging.lc script > > and the livecode code script > ------------------------- > put $_SERVER["REQUEST_METHOD"] into gMetodo > if gMetodo = "POST" then > put $_POST["login"] into gUsr > put $_POST["pass"] into gPass > put $_POST["tipo"] into gTipo > > else > put $_GET["login"] into gUsr > put $_GET["pass"] into gPass > put $_GET["tipo"] into gTipo > end if > if gPass = "print" and gUsr = "print" then > put "" > end if > if len(gUsr)<2 or len(gPass)<2 then > > put "" > end if > put revOpenDatabase ("mysql", > "localhost:3363","reparacion","gsmmax","11*Endimion_grd") into gDbId > > --put revdb_execute(gDbId, tSQL, "") into tResultado > put "select pass,id,token from tecnicos where login='" & gUsr & "';" into > tSQL > put tSQL & "
" > put revDataFromQuery(tab, return, gDbID, tSQL) into tRes > > set itemdelimiter to tab > put item 1 of tRes into tPass > put item 2 of tRes into tCod > put item 3 of tRes into tToken > > > > > > > > El mar, 26 mar 2024 a las 6:15, Tim Selander via use-livecode (< > use-livecode at lists.runrev.com>) escribió: > >> Hi all. >> >> As a hobbiest/amateur I continue to plunk away with Livecode, mostly the >> server product in my on-rev account. >> >> Can anyone point me to a tutorial or sample of an online log in system >> (username, email and password) for a website using Livecode? >> >> I've found some php tutorials, and /think/ I could glean enough hints to >> roll my own in LC server, but would greatly prefer to start with LC >> itself! >> >> Any help appreciated! >> >> Tim Selander >> Japan >> >> _______________________________________________ >> 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 >> > From MikeKerner at roadrunner.com Tue Mar 26 08:39:02 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Tue, 26 Mar 2024 08:39:02 -0400 Subject: FindIndex question In-Reply-To: <5dfb831c-f08d-41f0-8363-e8717918a067@tweedly.net> References: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> <5dfb831c-f08d-41f0-8363-e8717918a067@tweedly.net> Message-ID: other way, alex. use the pg, not the dg, for now. BUT, here's a good reason to use the dg - you can fix issues with it. the source of the pg is closed, and you can't get at it, AFAIK. check the issue tracker for issues with it. you can't address them. please, no comments from the peanut gallery on the status of lcb. that's a separate problem. SO, if the script compiler was in the wild, i would expect the dg to be faster. would it be as fast as the pg? dunno. but, again, you could work on it. On Mon, Mar 25, 2024 at 6:07 PM Alex Tweedly via use-livecode < use-livecode at lists.runrev.com> wrote: > Bob - I think you've mentioned these functions (and posted code, or a > pointer to code, for them) before (but I couldn't find it). Any chance > you could re-post (or just send to me, or ...) > > Mike - I couldn't see in the thread *why* you want to use a dg ather > than a pg ? Is there a missing capability you need ? Or some non-obvious > (to me) reason to avoid pg? > > Thanks, > > Alex. > > On 25/03/2024 18:50, Mike Kerner via use-livecode wrote: > > i guess what i'm wondering is how quickly or slowly the dg will render, > if > > the dgArray is large. it seems to be slower, when the array is larger. > > > > On Mon, Mar 25, 2024 at 2:48 PM Mike Kerner > > wrote: > > > >> i never heard of it called an "elevator". I anyways heard "thumb" > >> > >> On Mon, Mar 25, 2024 at 2:08 PM Bob Sneidar via use-livecode < > >> use-livecode at lists.runrev.com> wrote: > >> > >>> I’ve thought about that. A temporary memory database would not appear > to > >>> the user to be faster, as the initial query for a large dataset will > happen > >>> all at once during which Livecode would be unresponsive. And if you > page > >>> the queries from the live database, re-storing the data in a memory > >>> database would just be added time. > >>> > >>> You could use send in time to cache forward and backwards a few pages, > >>> and in that case a memory database could help, but if the user drags > the > >>> elevator box (how many people know what THAT is) then you go back to > square > >>> 1 concerning efficiency. > >>> > >>> Bob S > >>> > >>> > >>>> On Mar 25, 2024, at 10:34 AM, Mike Kerner via use-livecode < > >>> use-livecode at lists.runrev.com> wrote: > >>>> i would be curious to know if an in-memory sqlite db increases scroll > >>> speed > >>>> with dg's. > >>>> basically, you would live load the dg with pages from the db. > >>>> i can't imagine that the dg is faster than the pg. everything i've > tried > >>>> with the pg is faster than the dg. > >>>> just one more reason to resurrect the script compiler and release it. > >>>> > >>>> On Mon, Mar 25, 2024 at 11:16 AM Bob Sneidar via use-livecode < > >>>> use-livecode at lists.runrev.com> wrote: > >>>> > >>>>> I wrote a findInArray() function that will convert an array to a > memory > >>>>> based SQL database, and one of the arguments is the SQL query > >>> statement to > >>>>> use on the database. I have another called FilterArray() which simply > >>>>> iterates through the keys to output those matching a criteria. > >>>>> > >>>>> Bob S > >>>>> > >>>>>> On Mar 24, 2024, at 2:22 PM, Neville Smythe via use-livecode < > >>>>> use-livecode at lists.runrev.com> wrote: > >>>>>> > >>>>>>> On 25 Mar 2024, at 3:00 am,Mike Kerner wrote: > >>>>>>> > >>>>>>> i don't know if you dove into the code, but it's too early to think > >>>>> about > >>>>>>> unpacking this, so here's the code: ... > >>>>>> Thanks Mike > >>>>>> > >>>>>> While I was aware of the optional parameters feature of LC commands > I > >>>>> have never used it I so was unfamiliar with the syntax. The penny had > >>> never > >>>>> dropped that the parameter list for a command is just an array, so > >>>>> evidently you can actually send an array instead of a comma delimited > >>> list > >>>>>> Which means that you can send FindIndex a single parameter > pKeyPairsA > >>>>> which is an array with alternating colName,searchStr values > >>>>>> Setting up such an array is not particularly convenient for coding > >>>>> however. My workaround had been to use a custom function hack > >>>>>> function myFindIndex pDataGrid, pKeyPairs > >>>>>> — pKeyPairs is a comma delimited list such as > >>>>> “colname1,str1,colname2,str2,..” > >>>>>> replace comma with quote & comma & quote in pKeyPairs > >>>>>> put “dispatch FindIndex to” && pDataGrid && “with” && quote & > >>>>> pKeyPairs & quote into tCommandStr > >>>>>> do tCommandstr > >>>>>> put the result into tFoundIndex > >>>>>> ... > >>>>>> > >>>>>> A much more elegant (if probably no faster) solution is > >>>>>> > >>>>>> function myFindIndex pDataGrid, pKeyPairs > >>>>>> — pKeyPairs is a comma delimited list such as > >>>>> “colname1,str1,colname2,str2,..” > >>>>>> set the columnDelimiter to comma > >>>>>> split pKeyPairs by column > >>>>>> dispatch “FindIndex" to pDataGrid with pKeyPairs > >>>>>> put the result into tFoundIndex > >>>>>> ... > >>>>>> > >>>>>> > >>>>>> BTW, where did you find the source code for DataGrid handlers? I now > >>> see > >>>>> how one could write a FindIndices function to return all indices > rather > >>>>> than just the first found … or even a general WHERE search :-) > >>>>>> Neville Smythe > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>> _______________________________________________ > >>>>>> 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 > >>>>> _______________________________________________ > >>>>> 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 > >>>>> > >>>> > >>>> -- > >>>> On the first day, God created the heavens and the Earth > >>>> On the second day, God created the oceans. > >>>> On the third day, God put the animals on hold for a few hours, > >>>> and did a little diving. > >>>> And God said, "This is good." > >>>> _______________________________________________ > >>>> 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 > >>> _______________________________________________ > >>> 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 > >>> > >> > >> -- > >> On the first day, God created the heavens and the Earth > >> On the second day, God created the oceans. > >> On the third day, God put the animals on hold for a few hours, > >> and did a little diving. > >> And God said, "This is good." > >> > > > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From alex at tweedly.net Tue Mar 26 13:36:15 2024 From: alex at tweedly.net (Alex Tweedly) Date: Tue, 26 Mar 2024 17:36:15 +0000 Subject: Tutorial for Livecode Server log in system In-Reply-To: <3f95b490-af44-2641-7211-d5823a0c97ef@tkf.att.ne.jp> References: <3f95b490-af44-2641-7211-d5823a0c97ef@tkf.att.ne.jp> Message-ID: Hi Tim, I guess my first response would be - don't. Specifically, don't store or use passwords. Users have a bad habit of re-using the same passwords, so even if your site has no personal or valuable info about your users, the fact that passwords get re-used means you are storing valuable info, and so you're taking on a moral responsibility to keep it very safe. If you do have passwords, then you need to have a recovery mechanism for when users forget their pssword. 99% of the time, that involves emailing them a recovery link, or temp password, or ... So in effect the password has the same (or less) security than their email account - so you might as well just use the email account. Nowadays I always use this style of password-free accounts. I would have sent a copy of the known, tested, etc. code - but it's all embedded in lots of my libraries, etc. and was tricky to unravel. So I've sent a very bare-bones version; tested but not all corner cases (e.g. I didn't wait a week to ensure time-outs happened properly :-). Overview: The user asks for a code to login with, that gets emailed to them, and then they type that code in to the next screen. Once that's successfully done, you set up a cookie in their browser, valid for some reasonable length of time such as 7 days, and you're done. Any script that wants to can take the getCurrentUser() code to check that they are logged in properly. Internally, it's done by creating a temporary code (6 digits, which is recorded along with their email and expires within 15 minutes), and once they have verified that code, you give them a new code which is a UUID (so essentially un-guessable) which lasts for the 7 days. Other than that, I hope it's reasonably straightforward ..... Alex. simplelogin.lc ------------ tExpires then       return empty    else       return item 2 of line -1 of tCodes    end if end getCurrentUser function shellEscape pText -- keep this at the end because it messes up Coda colouring    repeat for each char tChar in "\`!$" & quote       replace tChar with "\" & tChar in pText    end repeat    return pText end shellEscape function wrapQ pText    return quote & pText & quote end wrapQ on askforemail  put "

"  put "    "  put "    "  put "    "  put "" end askforemail on askforcode  put "

"  put "    "  put "    "  put "    "  put "" end askforcode on askforlogout  put ""  put "    "  put "    "  put "" end askforlogout -- real code start here put getCurrentUser() into tUser if $_POST["logout"] AND tUser is not empty then    put $_COOKIE["myusercookie"] into tCode    put tCode & comma & tUser & comma & (the seconds-1) &CR after \        URL ("file:codes.txt")   put "Successfully logged out."   exit to top end if if tUser is not empty then -- ask them if they want to log out   put "Already logged in as " & tUser   askforlogout   exit to top end if put $_POST["code"] into tCode if tCode is not empty then   -- we need to compare this code with what is pending   put URL ("file:codes.txt") into tPending   put ( tCode & comma & "*") into tFilter   filter tPending with tFilter   put line -1 of tPending into tPending   if the seconds <= item 3 of tPending then  -- found a match pending      put item 2 of tPending into tEmail      put uuid("random") into tCode      put tCode & comma & tEmail & comma & (the seconds+60*60*24*7) &CR after \        URL ("file:codes.txt")      put cookie "myusercookie" with tCode until (the seconds + 60 * 60 * 24 * 7)      put "Successfully logged in"      exit to top   end if   -- no match for the code   put "Code not matched. Please try again or give different email address.

"   askforcode else   put $_POST["email"] into tEmail end if if tEmail is not empty then   -- have email address - generate a code and ask user for it   put random(999999) into tSix   put format("%06d", tSix) into tSix   -- put this following line in for quick and easy testing !!   -- be sure to take it out later !!!   put "should email" && tSix && "to you.

"   -- build the message header, adding the from, to and subject details   -- we also put any cc addresses in here, but not bcc (bcc addresses hidden)   put "info at kilmelford.com" into pFrom   -- CHANGE KILMELFORD.COM   put tEmail into pTo   put "From:" && pFrom  & return & \        "To:" && tEmail & return & \        "Subject: Login code for kilmelford.com" & \         return into tMsg    put "Content-Type: text/plain;" & return & return after tMsg    put "Your code is" && tSix && "and it will expire in 15 minutes" after tMsg    -- send the mail by piping the message we have just built to the sendmail command    get shell("echo" && wrapQ(shellEscape(tMsg)) && "| /usr/sbin/sendmail" && \          wrapQ(shellEscape(pTo)) && "-f" && wrapQ(shellEscape(pFrom)))   put the seconds into tEndTime   add 15 * 60 to tEndTime   put tSix & comma & tEmail & comma & tEndTime &CR after \        URL ("file:codes.txt")   askforcode   exit to top end if askforemail -- end of simplelogin.lc -------------------- From hlowe at me.com Tue Mar 26 20:26:10 2024 From: hlowe at me.com (HENRY LOWE) Date: Tue, 26 Mar 2024 17:26:10 -0700 Subject: iOS Privacy Manifest Requirements begin May 1 Message-ID: <0BF11B80-93E3-45D0-83D0-FEF3EBE61579@me.com> Received the following today while submitting an LC App update to the iOS store: ITMS-91053: Missing API declaration - Your app’s code references one or more APIs that require reasons, including the following API categories: NSPrivacyAccessedAPICategoryFileTimestamp While no action is required at this time, starting May 1, 2024, when you upload a new app or app update, you must include a NSPrivacyAccessedAPITypes array in your app’s privacy manifest to provide approved reasons for these APIs used by your app’s code. The relevant developer info is here: https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/ I assume that the Livecode Engine is using one or more APIs that will require a Privacy Manifest update? Henry From selander at tkf.att.ne.jp Wed Mar 27 18:44:02 2024 From: selander at tkf.att.ne.jp (Tim Selander) Date: Thu, 28 Mar 2024 07:44:02 +0900 Subject: Tutorial for Livecode Server log in system In-Reply-To: References: <3f95b490-af44-2641-7211-d5823a0c97ef@tkf.att.ne.jp> Message-ID: Dear Alex and Pere Thank you both for your code and and the time you took to help! I'm am working through the code you sent, studying out how it works. Great learning experience. Also, Alex, your point of not using password log ins is a philosophical re-frame in my thinking! Thank you! Tim On 2024/03/27 2:36, Alex Tweedly via use-livecode wrote: > Hi Tim, > > I guess my first response would be - don't. > > Specifically, don't store or use passwords. Users have a bad > habit of re-using the same passwords, so even if your site has no > personal or valuable info about your users, the fact that > passwords get re-used means you are storing valuable info, and so > you're taking on a moral responsibility to keep it very safe. > > If you do have passwords, then you need to have a recovery > mechanism for when users forget their pssword. 99% of the time, > that involves emailing them a recovery link, or temp password, or > ... So in effect the password has the same (or less) security > than their email account - so you might as well just use the > email account. > > Nowadays I always use this style of password-free accounts. I > would have sent a copy of the known, tested, etc. code - but it's > all embedded in lots of my libraries, etc. and was tricky to > unravel. So I've sent a very bare-bones version; tested but not > all corner cases (e.g. I didn't wait a week to ensure time-outs > happened properly :-). > > Overview: The user asks for a code to login with, that gets > emailed to them, and then they type that code in to the next > screen. Once that's successfully done, you set up a cookie in > their browser, valid for some reasonable length of time such as 7 > days, and you're done. Any script that wants to can take the > getCurrentUser() code to check that they are logged in properly. > > Internally, it's done by creating a temporary code (6 digits, > which is recorded along with their email and expires within 15 > minutes), and once they have verified that code, you give them a > new code which is a UUID (so essentially un-guessable) which > lasts for the 7 days. > > Other than that, I hope it's reasonably straightforward ..... > > > Alex. > > simplelogin.lc > ------------ > > > set the errormode to inline > > function getCurrentUser >    local tCookie, tCodes, tExpires >    put $_COOKIE["myusercookie"] into tCookie >    if tCookie is empty then >       return empty >    end if > >    -- codes are stored as code,email,expirydate (in seconds) >    put URL ("file:codes.txt") into tCodes >    filter tCodes with (tCookie & comma & "*") >    put item 3 of line -1 of tCodes into tExpires >    if seconds() > tExpires then >       return empty >    else >       return item 2 of line -1 of tCodes >    end if > end getCurrentUser > > function shellEscape pText > -- keep this at the end because it messes up Coda colouring >    repeat for each char tChar in "\`!$" & quote >       replace tChar with "\" & tChar in pText >    end repeat >    return pText > end shellEscape > > function wrapQ pText >    return quote & pText & quote > end wrapQ > > on askforemail >  put "

" >  put "    " >  put "    " >  put "    " >  put "" > end askforemail > > on askforcode >  put "

" >  put "    " >  put "    " >  put "    " >  put "" > end askforcode > > on askforlogout >  put "" >  put "    " >  put "    " >  put "" > end askforlogout > > -- real code start here > > put getCurrentUser() into tUser > > if $_POST["logout"] AND tUser is not empty then >    put $_COOKIE["myusercookie"] into tCode >    put tCode & comma & tUser & comma & (the seconds-1) &CR after \ >        URL ("file:codes.txt") >   put "Successfully logged out." >   exit to top > end if > > if tUser is not empty then -- ask them if they want to log out >   put "Already logged in as " & tUser >   askforlogout >   exit to top > end if > > put $_POST["code"] into tCode > if tCode is not empty then >   -- we need to compare this code with what is pending >   put URL ("file:codes.txt") into tPending >   put ( tCode & comma & "*") into tFilter >   filter tPending with tFilter >   put line -1 of tPending into tPending >   if the seconds <= item 3 of tPending then  -- found a match > pending >      put item 2 of tPending into tEmail >      put uuid("random") into tCode >      put tCode & comma & tEmail & comma & (the > seconds+60*60*24*7) &CR after \ >        URL ("file:codes.txt") >      put cookie "myusercookie" with tCode until (the seconds + > 60 * 60 * 24 * 7) >      put "Successfully logged in" >      exit to top >   end if >   -- no match for the code >   put "Code not matched. Please try again or give different > email address.

" >   askforcode > else >   put $_POST["email"] into tEmail > end if > > if tEmail is not empty then >   -- have email address - generate a code and ask user for it >   put random(999999) into tSix >   put format("%06d", tSix) into tSix > >   -- put this following line in for quick and easy testing !! >   -- be sure to take it out later !!! >   put "should email" && tSix && "to you.

" > >   -- build the message header, adding the from, to and subject > details >   -- we also put any cc addresses in here, but not bcc (bcc > addresses hidden) > >   put "info at kilmelford.com" into pFrom   -- CHANGE KILMELFORD.COM >   put tEmail into pTo >   put "From:" && pFrom  & return & \ >        "To:" && tEmail & return & \ >        "Subject: Login code for kilmelford.com" & \ >         return into tMsg > >    put "Content-Type: text/plain;" & return & return after tMsg >    put "Your code is" && tSix && "and it will expire in 15 > minutes" after tMsg > >    -- send the mail by piping the message we have just built to > the sendmail command >    get shell("echo" && wrapQ(shellEscape(tMsg)) && "| > /usr/sbin/sendmail" && \ >          wrapQ(shellEscape(pTo)) && "-f" && > wrapQ(shellEscape(pFrom))) > >   put the seconds into tEndTime >   add 15 * 60 to tEndTime >   put tSix & comma & tEmail & comma & tEndTime &CR after \ >        URL ("file:codes.txt") > >   askforcode >   exit to top > > end if > > askforemail > > -- end of simplelogin.lc > -------------------- > > > _______________________________________________ > 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 From bobsneidar at iotecdigital.com Wed Mar 27 18:55:45 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 27 Mar 2024 22:55:45 +0000 Subject: Revisiting Lock Screen Message-ID: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> Hi all. I read in the dictionary that Lock Screen does not work in Script Debug mode. Okay so I turn it off, put the command “Lock Screen” at the entry point to a selectionChanged handler which goes on to do a number of things that change the appearance of the screen. The screen is decidedly NOT LOCKED! The things I go on to do are things like changing the hilitedItems of a tab widget which in turn shows and hides a number of objects, and also changes the selection in a number of datagrids. Every action that alters the screen is visible after I issue the Lock Screen command. Is Lock Screen completely hosed? Am I missing something?? Bob S From bobsneidar at iotecdigital.com Wed Mar 27 19:01:51 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 27 Mar 2024 23:01:51 +0000 Subject: Revisiting Lock Screen In-Reply-To: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> Message-ID: <12ABAFF4-5B88-4B7F-98E8-9B8CAA26ECA1@iotecdigital.com> Oh, but it gets better. I put at the entry point of the script: lock screen put the lockscreen into tScreenIsLocked — I checked and this is true Then at the exit point: put the lockscreen STILL TRUE in spite of the fact that I see everything that the app is doing to the screen the entire time. Also curious is that I get the same result whether or not I am in script debug mode or no!!!!! Bob S > On Mar 27, 2024, at 3:55 PM, Bob Sneidar wrote: > > Hi all. > > I read in the dictionary that Lock Screen does not work in Script Debug mode. Okay so I turn it off, put the command “Lock Screen” at the entry point to a selectionChanged handler which goes on to do a number of things that change the appearance of the screen. The screen is decidedly NOT LOCKED! The things I go on to do are things like changing the hilitedItems of a tab widget which in turn shows and hides a number of objects, and also changes the selection in a number of datagrids. Every action that alters the screen is visible after I issue the Lock Screen command. > > Is Lock Screen completely hosed? Am I missing something?? > > Bob S > From bobsneidar at iotecdigital.com Wed Mar 27 19:03:27 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 27 Mar 2024 23:03:27 +0000 Subject: Tutorial for Livecode Server log in system In-Reply-To: References: <3f95b490-af44-2641-7211-d5823a0c97ef@tkf.att.ne.jp> Message-ID: <8579E98C-4BD2-4F3A-BD66-E320A673B607@iotecdigital.com> As an aside, I do store passwords, but I encrypt them first using a method only I know about. However I am not using a web portal, so there’s that. Bob S On Mar 27, 2024, at 3:44 PM, Tim Selander via use-livecode wrote: Dear Alex and Pere Thank you both for your code and and the time you took to help! I'm am working through the code you sent, studying out how it works. Great learning experience. Also, Alex, your point of not using password log ins is a philosophical re-frame in my thinking! Thank you! Tim From tom at makeshyft.com Wed Mar 27 23:43:47 2024 From: tom at makeshyft.com (Tom Glod) Date: Wed, 27 Mar 2024 23:43:47 -0400 Subject: Revisiting Lock Screen In-Reply-To: <12ABAFF4-5B88-4B7F-98E8-9B8CAA26ECA1@iotecdigital.com> References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <12ABAFF4-5B88-4B7F-98E8-9B8CAA26ECA1@iotecdigital.com> Message-ID: Bob, Sorry I can't double check at the moment, but I was reading the release notes for 10 dp7 and there was some stuff about that in there (Its possible I am ..... mis-remembering.) Is that the version you are using? On Wed, Mar 27, 2024 at 7:02 PM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > Oh, but it gets better. I put at the entry point of the script: > > lock screen > put the lockscreen into tScreenIsLocked — I checked and this is true > > Then at the exit point: > > put the lockscreen > > STILL TRUE in spite of the fact that I see everything that the app is > doing to the screen the entire time. > > Also curious is that I get the same result whether or not I am in script > debug mode or no!!!!! > > Bob S > > > > On Mar 27, 2024, at 3:55 PM, Bob Sneidar > wrote: > > > > Hi all. > > > > I read in the dictionary that Lock Screen does not work in Script Debug > mode. Okay so I turn it off, put the command “Lock Screen” at the entry > point to a selectionChanged handler which goes on to do a number of things > that change the appearance of the screen. The screen is decidedly NOT > LOCKED! The things I go on to do are things like changing the hilitedItems > of a tab widget which in turn shows and hides a number of objects, and also > changes the selection in a number of datagrids. Every action that alters > the screen is visible after I issue the Lock Screen command. > > > > Is Lock Screen completely hosed? Am I missing something?? > > > > Bob S > > > > _______________________________________________ > 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 > From heather at livecode.com Thu Mar 28 06:17:55 2024 From: heather at livecode.com (Heather Laine) Date: Thu, 28 Mar 2024 10:17:55 +0000 Subject: iOS Privacy Manifest Requirements begin May 1 In-Reply-To: <0BF11B80-93E3-45D0-83D0-FEF3EBE61579@me.com> References: <0BF11B80-93E3-45D0-83D0-FEF3EBE61579@me.com> Message-ID: <643524FC-CEC9-420D-BC0F-20D22BC060DA@livecode.com> Hello Henry, We're aware of this upcoming requirement and it will be addressed in 9.6.12, we expect an RC of this in April. You will probably also be able to retrospectively do it with a custom plist for 9.6.11. Best Regards, Heather Heather Laine Customer Services Manager LiveCode Ltd www.livecode.com > On 27 Mar 2024, at 00:26, HENRY LOWE via use-livecode wrote: > > Received the following today while submitting an LC App update to the iOS store: > > ITMS-91053: Missing API declaration - Your app’s code references one or more APIs that require reasons, including the following API categories: > > NSPrivacyAccessedAPICategoryFileTimestamp > > While no action is required at this time, starting May 1, 2024, when you upload a new app or app update, you must include a NSPrivacyAccessedAPITypes array in your app’s privacy manifest to provide approved reasons for these APIs used by your app’s code. > > The relevant developer info is here: > > https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/ > > I assume that the Livecode Engine is using one or more APIs that will require a Privacy Manifest update? > > Henry > > _______________________________________________ > 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 From alex at tweedly.net Thu Mar 28 08:13:41 2024 From: alex at tweedly.net (Alex Tweedly) Date: Thu, 28 Mar 2024 12:13:41 +0000 Subject: Revisiting Lock Screen In-Reply-To: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> Message-ID: <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> Hi Bob, I'm not sure from your description how / when you are seeing the (unexpected) changes happening. Remember that lockscreen is automatically set to false when there is no handler running, so unlerss you have an intensive handler running, you will see these changes. If it's not that - could you describe how you are verifying the effect of lockscreen in more detail. Thanks. Alex. On 27/03/2024 22:55, Bob Sneidar via use-livecode wrote: > Hi all. > > I read in the dictionary that Lock Screen does not work in Script Debug mode. Okay so I turn it off, put the command Lock Screen at the entry point to a selectionChanged handler which goes on to do a number of things that change the appearance of the screen. The screen is decidedly NOT LOCKED! The things I go on to do are things like changing the hilitedItems of a tab widget which in turn shows and hides a number of objects, and also changes the selection in a number of datagrids. Every action that alters the screen is visible after I issue the Lock Screen command. > > Is Lock Screen completely hosed? Am I missing something?? > > Bob S > > _______________________________________________ > 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 From craig at starfirelighting.com Thu Mar 28 08:48:17 2024 From: craig at starfirelighting.com (Craig Newman) Date: Thu, 28 Mar 2024 08:48:17 -0400 Subject: Revisiting Lock Screen In-Reply-To: <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> Message-ID: <05BE6F43-1278-40EB-90FA-0FD68C6B5BED@starfirelighting.com> Bob. I have no idea what you are facing with such a basic issue. To be sure, please, somewhere in the stack you are having the issue, make a button and a field and run this: on mouseup lock screen —comment out for the first run repeat 3 put random(999) into fld 1 wait 20 end repeat end mouseup Do you see the two scenarios above working normally? That is, with the lock screen disabled, you see three numbers in succession, and with it enabled, you only see the last one? Craig > On Mar 28, 2024, at 8:13 AM, Alex Tweedly via use-livecode wrote: > > Hi Bob, > > I'm not sure from your description how / when you are seeing the (unexpected) changes happening. > > Remember that lockscreen is automatically set to false when there is no handler running, so unlerss you have an intensive handler running, you will see these changes. > > If it's not that - could you describe how you are verifying the effect of lockscreen in more detail. Thanks. > > Alex. > > On 27/03/2024 22:55, Bob Sneidar via use-livecode wrote: >> Hi all. >> >> I read in the dictionary that Lock Screen does not work in Script Debug mode. Okay so I turn it off, put the command “Lock Screen” at the entry point to a selectionChanged handler which goes on to do a number of things that change the appearance of the screen. The screen is decidedly NOT LOCKED! The things I go on to do are things like changing the hilitedItems of a tab widget which in turn shows and hides a number of objects, and also changes the selection in a number of datagrids. Every action that alters the screen is visible after I issue the Lock Screen command. >> >> Is Lock Screen completely hosed? Am I missing something?? >> >> Bob S >> >> _______________________________________________ >> 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 > > _______________________________________________ > 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 From bobsneidar at iotecdigital.com Thu Mar 28 11:07:55 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 28 Mar 2024 15:07:55 +0000 Subject: Revisiting Lock Screen In-Reply-To: References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <12ABAFF4-5B88-4B7F-98E8-9B8CAA26ECA1@iotecdigital.com> Message-ID: No I am using 9.6.11. Bob S > On Mar 27, 2024, at 8:43 PM, Tom Glod via use-livecode wrote: > > Bob, > Sorry I can't double check at the moment, but I was reading the release > notes for 10 dp7 and there was some stuff about that in there > (Its possible I am ..... mis-remembering.) > Is that the version you are using? > > On Wed, Mar 27, 2024 at 7:02 PM Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> Oh, but it gets better. I put at the entry point of the script: >> >> lock screen >> put the lockscreen into tScreenIsLocked — I checked and this is true >> >> Then at the exit point: >> >> put the lockscreen >> >> STILL TRUE in spite of the fact that I see everything that the app is >> doing to the screen the entire time. >> >> Also curious is that I get the same result whether or not I am in script >> debug mode or no!!!!! >> >> Bob S >> >> >>> On Mar 27, 2024, at 3:55 PM, Bob Sneidar >> wrote: >>> >>> Hi all. >>> >>> I read in the dictionary that Lock Screen does not work in Script Debug >> mode. Okay so I turn it off, put the command “Lock Screen” at the entry >> point to a selectionChanged handler which goes on to do a number of things >> that change the appearance of the screen. The screen is decidedly NOT >> LOCKED! The things I go on to do are things like changing the hilitedItems >> of a tab widget which in turn shows and hides a number of objects, and also >> changes the selection in a number of datagrids. Every action that alters >> the screen is visible after I issue the Lock Screen command. >>> >>> Is Lock Screen completely hosed? Am I missing something?? >>> >>> Bob S >>> >> >> _______________________________________________ >> 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 >> > _______________________________________________ > 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 From bobsneidar at iotecdigital.com Thu Mar 28 11:21:36 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 28 Mar 2024 15:21:36 +0000 Subject: Revisiting Lock Screen In-Reply-To: <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> Message-ID: Hi Alex. Thanks for responding. I have a module in my app called Software. I have 5 datagrids, one for software and 4 others for the entities the software license is linked to. Each datagrid has associated fields as well. Customers, Sites, Devices and Files. Each of these entities can be linked to the Software license by clicking a checkbox for each entity. All this does is put the unique ID of the entity in the respective column of the Software record and then update the database. When I click on a software title, each entity’s datagrid changes its selection based on the unique id saved in the Software record. For instance if a customer has 3 sites, and the software is linked to one of those sites, the datagrid selection is changed to reflect that. The same for the other three datagrids. I also have a tab widget with a tab for each entity, so that I can show the datagrid and objects associated with that entity and hide the others. As I update each entity’s datagrid and objects, I show those objects. Normally I want to see these things change to give the user a visual clue that there is something being processed by the app, but the effect is so rapid, it really distracting, so I decided against that and put a Lock Screen at the beginning of the selectionChanged handler for the Software datagrid thinking that this would prevent all the rapid visual effects, but it doesn’t. I know that Lock Screen is in effect because I store the lockScreen in a variable right after setting it, then I check the variable in script debug mode. It is always true. I then remove the breakpoint, and run the routine, then check the lockscreen at the very end of the selectionChanged handler, it is STILL TRUE even though the screen has been updating the entire time. I hope that helps you. A screenshot or a short video would be nice but I cannot post those here. Bob S > On Mar 28, 2024, at 5:13 AM, Alex Tweedly via use-livecode wrote: > > Hi Bob, > > I'm not sure from your description how / when you are seeing the (unexpected) changes happening. > > Remember that lockscreen is automatically set to false when there is no handler running, so unlerss you have an intensive handler running, you will see these changes. > > If it's not that - could you describe how you are verifying the effect of lockscreen in more detail. Thanks. > > Alex. > > On 27/03/2024 22:55, Bob Sneidar via use-livecode wrote: >> Hi all. >> >> I read in the dictionary that Lock Screen does not work in Script Debug mode. Okay so I turn it off, put the command “Lock Screen” at the entry point to a selectionChanged handler which goes on to do a number of things that change the appearance of the screen. The screen is decidedly NOT LOCKED! The things I go on to do are things like changing the hilitedItems of a tab widget which in turn shows and hides a number of objects, and also changes the selection in a number of datagrids. Every action that alters the screen is visible after I issue the Lock Screen command. >> >> Is Lock Screen completely hosed? Am I missing something?? >> >> Bob S >> >> _______________________________________________ >> 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 > > _______________________________________________ > 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 From bobsneidar at iotecdigital.com Thu Mar 28 11:28:29 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 28 Mar 2024 15:28:29 +0000 Subject: Revisiting Lock Screen In-Reply-To: <05BE6F43-1278-40EB-90FA-0FD68C6B5BED@starfirelighting.com> References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> <05BE6F43-1278-40EB-90FA-0FD68C6B5BED@starfirelighting.com> Message-ID: Hi Craig thanks for responding. I am not updating fields per se as the only thing changing is the datagrid selection(s) and the status of the checkbox. Curiously I am not seeing the tab widget selection change but I am seeing the hiding and showing of the datagrids as each tab is selected. Bob S > On Mar 28, 2024, at 5:48 AM, Craig Newman via use-livecode wrote: > > Bob. > > I have no idea what you are facing with such a basic issue. To be sure, please, somewhere in the stack you are having the issue, make a button and a field and run this: > > on mouseup > > lock screen —comment out for the first run > > repeat 3 > > put random(999) into fld 1 > > wait 20 > > end repeat > > end mouseup > > > > Do you see the two scenarios above working normally? That is, with the lock screen disabled, you see three numbers in succession, and with it enabled, you only see the last one? > > Craig > > >> On Mar 28, 2024, at 8:13 AM, Alex Tweedly via use-livecode wrote: >> >> Hi Bob, >> >> I'm not sure from your description how / when you are seeing the (unexpected) changes happening. >> >> Remember that lockscreen is automatically set to false when there is no handler running, so unlerss you have an intensive handler running, you will see these changes. >> >> If it's not that - could you describe how you are verifying the effect of lockscreen in more detail. Thanks. >> >> Alex. >> >> On 27/03/2024 22:55, Bob Sneidar via use-livecode wrote: >>> Hi all. >>> >>> I read in the dictionary that Lock Screen does not work in Script Debug mode. Okay so I turn it off, put the command “Lock Screen” at the entry point to a selectionChanged handler which goes on to do a number of things that change the appearance of the screen. The screen is decidedly NOT LOCKED! The things I go on to do are things like changing the hilitedItems of a tab widget which in turn shows and hides a number of objects, and also changes the selection in a number of datagrids. Every action that alters the screen is visible after I issue the Lock Screen command. >>> >>> Is Lock Screen completely hosed? Am I missing something?? >>> >>> Bob S >>> >>> _______________________________________________ >>> 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 >> >> _______________________________________________ >> 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 > > _______________________________________________ > 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 From bobsneidar at iotecdigital.com Thu Mar 28 11:30:26 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 28 Mar 2024 15:30:26 +0000 Subject: Revisiting Lock Screen In-Reply-To: References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> <05BE6F43-1278-40EB-90FA-0FD68C6B5BED@starfirelighting.com> Message-ID: The issue may be with the datagrids. It appears that Lock Screen is not preventing changes to the datagrids from refreshing the screen. Bob S > On Mar 28, 2024, at 8:28 AM, Bob Sneidar wrote: > > Hi Craig thanks for responding. I am not updating fields per se as the only thing changing is the datagrid selection(s) and the status of the checkbox. > > Curiously I am not seeing the tab widget selection change but I am seeing the hiding and showing of the datagrids as each tab is selected. > > Bob S > > >> On Mar 28, 2024, at 5:48 AM, Craig Newman via use-livecode wrote: >> >> Bob. >> >> I have no idea what you are facing with such a basic issue. To be sure, please, somewhere in the stack you are having the issue, make a button and a field and run this: >> >> on mouseup >> >> lock screen —comment out for the first run >> >> repeat 3 >> >> put random(999) into fld 1 >> >> wait 20 >> >> end repeat >> >> end mouseup >> >> >> >> Do you see the two scenarios above working normally? That is, with the lock screen disabled, you see three numbers in succession, and with it enabled, you only see the last one? >> >> Craig >> >> From MikeKerner at roadrunner.com Thu Mar 28 11:48:58 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Thu, 28 Mar 2024 11:48:58 -0400 Subject: Revisiting Lock Screen In-Reply-To: References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> <05BE6F43-1278-40EB-90FA-0FD68C6B5BED@starfirelighting.com> Message-ID: there are many (many) datagrid functions and commands that unlock the screen, the behavior script for dg's is 11,597 lines long. i started copying/pasting the signature of them, but finally decided there were many too many. instead of deleting the rest of this post, i left them in place. i reiterate, i only went through around 2100 lines, or around 20% of the dg behavior. i don't know how many more there are. *command* _SetScrollbarWidth pWidth *private* *command* _CreateDragImageFromControl pControl *private* *command* _CreateDragImageFromIndex pIndex *private* *command* _PositionDropIndicator pMouseH, pMouseV *command* dgArrowKey pDirection *command* dgMouseDown pMouseBtnNum *command* EditCellOfIndex pColumn, pIndex *command* EditKeyOfIndex pKey, pIndex *command* DeleteIndexes pIndexes *command* SortDataByKey pKey, pType, pDirection, pCaseSensitive *command* ReverseSort pColumn *command* HiliteAndStoreSortByColumn pColumn *private* *command* _SortByColumn pColumn *command* SortByColumn pColumn *command* ResizeToFit *private* *command* _DrawList *command* dgResetList *command* RefreshList *command* ResetControl *private* *command* _ResetAllControls *private* *command* _ResetData *private* *command* _ToggleVScrollBarVisibility pBoolean *private* *command* _ToggleHScrollBarVisibility pBoolean *private* *command* _DrawListWithProperties pStartingSequence, pSetVScrollTo, pForceRefresh, pCallback, pCallbackContext *private* *command* _DeleteControls On Thu, Mar 28, 2024 at 11:31 AM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > The issue may be with the datagrids. It appears that Lock Screen is not > preventing changes to the datagrids from refreshing the screen. > > Bob S > > > > On Mar 28, 2024, at 8:28 AM, Bob Sneidar > wrote: > > > > Hi Craig thanks for responding. I am not updating fields per se as the > only thing changing is the datagrid selection(s) and the status of the > checkbox. > > > > Curiously I am not seeing the tab widget selection change but I am > seeing the hiding and showing of the datagrids as each tab is selected. > > > > Bob S > > > > > >> On Mar 28, 2024, at 5:48 AM, Craig Newman via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> > >> Bob. > >> > >> I have no idea what you are facing with such a basic issue. To be sure, > please, somewhere in the stack you are having the issue, make a button and > a field and run this: > >> > >> on mouseup > >> > >> lock screen —comment out for the first run > >> > >> repeat 3 > >> > >> put random(999) into fld 1 > >> > >> wait 20 > >> > >> end repeat > >> > >> end mouseup > >> > >> > >> > >> Do you see the two scenarios above working normally? That is, with the > lock screen disabled, you see three numbers in succession, and with it > enabled, you only see the last one? > >> > >> Craig > >> > >> > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From bobsneidar at iotecdigital.com Thu Mar 28 12:21:30 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 28 Mar 2024 16:21:30 +0000 Subject: Revisiting Lock Screen In-Reply-To: References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> <05BE6F43-1278-40EB-90FA-0FD68C6B5BED@starfirelighting.com> Message-ID: <00091D27-5CA7-43B2-A1D4-2A182681E559@iotecdigital.com> Wow thanks for that! I think I remember now this came up before, and datagrids were the culprit. But that does seem odd, doesn’t it? Why would a screen lock interfere with the datagrid behavior? (That is rhetorical. Only the devs would know that.) Bob S On Mar 28, 2024, at 8:48 AM, Mike Kerner via use-livecode wrote: there are many (many) datagrid functions and commands that unlock the screen, the behavior script for dg's is 11,597 lines long. i started copying/pasting the signature of them, but finally decided there were many too many. instead of deleting the rest of this post, i left them in place. i reiterate, i only went through around 2100 lines, or around 20% of the dg behavior. i don't know how many more there are. From MikeKerner at roadrunner.com Thu Mar 28 12:31:48 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Thu, 28 Mar 2024 12:31:48 -0400 Subject: Revisiting Lock Screen In-Reply-To: <00091D27-5CA7-43B2-A1D4-2A182681E559@iotecdigital.com> References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> <05BE6F43-1278-40EB-90FA-0FD68C6B5BED@starfirelighting.com> <00091D27-5CA7-43B2-A1D4-2A182681E559@iotecdigital.com> Message-ID: didn't you say your code was modifying a dg? i see a couple of possible failure points: * the widget could be doing something unexpected * the dg could be unlocking the screen. you could also try two or more lock screens. i believe lock screen is additive. until idle. On Thu, Mar 28, 2024 at 12:22 PM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > Wow thanks for that! I think I remember now this came up before, and > datagrids were the culprit. > > But that does seem odd, doesn’t it? Why would a screen lock interfere with > the datagrid behavior? (That is rhetorical. Only the devs would know that.) > > Bob S > > > On Mar 28, 2024, at 8:48 AM, Mike Kerner via use-livecode < > use-livecode at lists.runrev.com> wrote: > > there are many (many) datagrid functions and commands that unlock the > screen, > the behavior script for dg's is 11,597 lines long. > i started copying/pasting the signature of them, but finally decided there > were many too many. instead of deleting the rest of this post, i left them > in place. > i reiterate, i only went through around 2100 lines, or around 20% of the dg > behavior. i don't know how many more there are. > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From rdimola at evergreeninfo.net Thu Mar 28 12:47:20 2024 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Thu, 28 Mar 2024 12:47:20 -0400 Subject: Facebook in Browser Widget Message-ID: <001d01da812f$9d52db70$d7f89250$@net> LC 9.6.11 pro Win 10 When I open Facebook url "https://www.facebook.com/someAccount" in the browser widget in an Android app I briefly see the Facebook page and then get the error net:ERR_UNKNOWN_URL_SCHEME. The Error url displayed is "fc://profile..." this used to work. This happens if the FB app is or is not installed. What I would like is if the app is not installed then open in the browser widget or if FB is installed then open in the FB app. I have not tested iOS yet. Thanks in advance Ralph DiMola IT Director Evergreen Information Services rdimola at evergreeninfo.net From bobsneidar at iotecdigital.com Thu Mar 28 13:23:45 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 28 Mar 2024 17:23:45 +0000 Subject: Revisiting Lock Screen In-Reply-To: References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> <05BE6F43-1278-40EB-90FA-0FD68C6B5BED@starfirelighting.com> <00091D27-5CA7-43B2-A1D4-2A182681E559@iotecdigital.com> Message-ID: Thanks Mike. I think I am going to have to come up with an alternative. Something like taking a snapshot of the window then overlaying it on the window while processing, then deleting it when done. The trouble is I have other windows open that will update because they are synching with the module I am working in. Also this won’t improve performance the way Lock Screen would (should). Bob S On Mar 28, 2024, at 9:31 AM, Mike Kerner via use-livecode wrote: didn't you say your code was modifying a dg? i see a couple of possible failure points: * the widget could be doing something unexpected * the dg could be unlocking the screen. you could also try two or more lock screens. i believe lock screen is additive. until idle. On Thu, Mar 28, 2024 at 12:22 PM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: Wow thanks for that! I think I remember now this came up before, and datagrids were the culprit. But that does seem odd, doesn’t it? Why would a screen lock interfere with the datagrid behavior? (That is rhetorical. Only the devs would know that.) Bob S From MikeKerner at roadrunner.com Thu Mar 28 13:30:02 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Thu, 28 Mar 2024 13:30:02 -0400 Subject: Revisiting Lock Screen In-Reply-To: References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> <05BE6F43-1278-40EB-90FA-0FD68C6B5BED@starfirelighting.com> <00091D27-5CA7-43B2-A1D4-2A182681E559@iotecdigital.com> Message-ID: what about switching to pg? On Thu, Mar 28, 2024 at 1:24 PM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > Thanks Mike. > > I think I am going to have to come up with an alternative. Something like > taking a snapshot of the window then overlaying it on the window while > processing, then deleting it when done. > > The trouble is I have other windows open that will update because they are > synching with the module I am working in. Also this won’t improve > performance the way Lock Screen would (should). > > Bob S > > > On Mar 28, 2024, at 9:31 AM, Mike Kerner via use-livecode < > use-livecode at lists.runrev.com> wrote: > > didn't you say your code was modifying a dg? > i see a couple of possible failure points: > * the widget could be doing something unexpected > * the dg could be unlocking the screen. > you could also try two or more lock screens. i believe lock screen is > additive. until idle. > > On Thu, Mar 28, 2024 at 12:22 PM Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> > wrote: > > Wow thanks for that! I think I remember now this came up before, and > datagrids were the culprit. > > But that does seem odd, doesn’t it? Why would a screen lock interfere with > the datagrid behavior? (That is rhetorical. Only the devs would know that.) > > Bob S > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From bobsneidar at iotecdigital.com Thu Mar 28 13:55:39 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 28 Mar 2024 17:55:39 +0000 Subject: Revisiting Lock Screen In-Reply-To: References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> <05BE6F43-1278-40EB-90FA-0FD68C6B5BED@starfirelighting.com> <00091D27-5CA7-43B2-A1D4-2A182681E559@iotecdigital.com> Message-ID: I do a lot with DG that is not supported with PG. Also I just discovered that on a MacOS device, the snapshot of the card shows the custom menu, even though the menu is not inside the rect of the card. . I will have to calculate the rect as well. No big deal, just more things to have to workaround. Bob S On Mar 28, 2024, at 10:30 AM, Mike Kerner via use-livecode wrote: what about switching to pg? On Thu, Mar 28, 2024 at 1:24 PM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: Thanks Mike. I think I am going to have to come up with an alternative. Something like taking a snapshot of the window then overlaying it on the window while processing, then deleting it when done. The trouble is I have other windows open that will update because they are synching with the module I am working in. Also this won’t improve performance the way Lock Screen would (should). Bob S On Mar 28, 2024, at 9:31 AM, Mike Kerner via use-livecode < use-livecode at lists.runrev.com> wrote: didn't you say your code was modifying a dg? i see a couple of possible failure points: * the widget could be doing something unexpected * the dg could be unlocking the screen. you could also try two or more lock screens. i believe lock screen is additive. until idle. On Thu, Mar 28, 2024 at 12:22 PM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: Wow thanks for that! I think I remember now this came up before, and datagrids were the culprit. But that does seem odd, doesn’t it? Why would a screen lock interfere with the datagrid behavior? (That is rhetorical. Only the devs would know that.) Bob S From paul at researchware.com Thu Mar 28 15:13:35 2024 From: paul at researchware.com (Paul Dupuis) Date: Thu, 28 Mar 2024 15:13:35 -0400 Subject: Revisiting Lock Screen In-Reply-To: References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <12ABAFF4-5B88-4B7F-98E8-9B8CAA26ECA1@iotecdigital.com> Message-ID: <93863b75-1395-4ea1-9b54-b9c6b2ddd2b9@researchware.com> In our app, we have a lot of handlers (internal APIs) that get called by other handlers and, as multiple developers are involved, knowing what is calling what takes some effort. To address the issue of screen locks, we adopted a coding standard as follows: If a handler should lock the screen, we add the following code: put the lockScreen into tPreserveLockScreen if tPreserveLockScreen is false then lock screen -- if the screen is not already locked by any calling handler, then lock the screen, else, the screen is already locked by the calling handler ... code of the handler .... if tPreserveLockScreen is false then unlock screen -- if the screen was not locked by the calling handler, it was locked by this handler, so unlock it, else, expect that the calling handler should unlock it (or preserve it as appropriate) I know this doesn't address the specific issue raised in this thread, but I thought this model may be helpful to someone reading this thread. From rdimola at evergreeninfo.net Thu Mar 28 17:57:56 2024 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Thu, 28 Mar 2024 17:57:56 -0400 Subject: Browser Widget and Google Maps Api on Win 10 Message-ID: <002d01da815b$00e8e140$02baa3c0$@net> When in the IDE and testing using the browser widget the line below does not ever complete. The call back to "startMapInit" is never called. This works on Win 10 desktop in Chrome and LC deployed Android app using the same browser widget as in the IDE. I will test on iOS. The real question is how to see JavaScript errors in the Browser Widget? Ralph DiMola IT Director Evergreen Information Services rdimola at evergreeninfo.net From bobsneidar at iotecdigital.com Fri Mar 1 11:05:59 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 1 Mar 2024 16:05:59 +0000 Subject: sideloading updates to mobile In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> Isn’t the Library sandboxed? Bob S On Feb 29, 2024, at 6:35 PM, Mike Kerner via use-livecode wrote: any reason to store in documents instead of in library? it seems like there might be less of a chance of the user misusing the Files app to break the app. On Thu, Feb 29, 2024 at 5:32 PM Mike Kerner > wrote: ah. that's a better way of handling this. i was going to have the app check the documents folder for updates, before loading a stack, but if i keep the source stacks, there, it will work better. On Thu, Feb 29, 2024 at 3:10 PM J. Landman Gay via use-livecode < use-livecode at lists.runrev.com> wrote: You can't add or change anything inside the app bundle so downloaded files have to go in specialFolderPath("documents"). Copy the originals from the resources folder to the documents folder on first launch so you always have a known file path location. Any file in documents will be overwritten with the new download if the file name is the same. From jacque at hyperactivesw.com Fri Mar 1 11:31:35 2024 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 01 Mar 2024 10:31:35 -0600 Subject: sideloading updates to mobile In-Reply-To: <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> Message-ID: <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Both library and documents are sandboxed, I think all the listed folders are. I mostly use documents so that I have the same file paths on both iOS and Android since I generally need to build for both. But either one will work. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On March 1, 2024 10:08:15 AM Bob Sneidar via use-livecode wrote: > Isnt the Library sandboxed? > > Bob S > > > On Feb 29, 2024, at 6:35 PM, Mike Kerner via use-livecode > wrote: > > any reason to store in documents instead of in library? > it seems like there might be less of a chance of the user misusing the > Files app to break the app. > > On Thu, Feb 29, 2024 at 5:32PM Mike Kerner > > > wrote: > > ah. that's a better way of handling this. i was going to have the app > check the documents folder for updates, before loading a stack, but if i > keep the source stacks, there, it will work better. > > On Thu, Feb 29, 2024 at 3:10PM J. Landman Gay via use-livecode < > use-livecode at lists.runrev.com> wrote: > > You can't add or change anything inside the app bundle so downloaded > files > have to go in specialFolderPath("documents"). Copy the originals from the > resources folder to the documents folder on first launch so you always > have > a known file path location. Any file in documents will be overwritten > with > the new download if the file name is the same. > > > _______________________________________________ > 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 From bobsneidar at iotecdigital.com Fri Mar 1 11:40:03 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 1 Mar 2024 16:40:03 +0000 Subject: sideloading updates to mobile In-Reply-To: <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> Hell that means EVERYTHING is sandboxed! I need to go buy a pail and shovel! Bob S > On Mar 1, 2024, at 8:31 AM, J. Landman Gay via use-livecode wrote: > > Both library and documents are sandboxed, I think all the listed folders are. I mostly use documents so that I have the same file paths on both iOS and Android since I generally need to build for both. But either one will work. > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > On March 1, 2024 10:08:15 AM Bob Sneidar via use-livecode wrote: > >> Isn’t the Library sandboxed? >> >> Bob S >> >> >> On Feb 29, 2024, at 6:35 PM, Mike Kerner via use-livecode wrote: >> >> any reason to store in documents instead of in library? >> it seems like there might be less of a chance of the user misusing the >> Files app to break the app. >> >> On Thu, Feb 29, 2024 at 5:32 PM Mike Kerner > >> wrote: >> >> ah. that's a better way of handling this. i was going to have the app >> check the documents folder for updates, before loading a stack, but if i >> keep the source stacks, there, it will work better. >> >> On Thu, Feb 29, 2024 at 3:10 PM J. Landman Gay via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >> You can't add or change anything inside the app bundle so downloaded >> files >> have to go in specialFolderPath("documents"). Copy the originals from the >> resources folder to the documents folder on first launch so you always >> have >> a known file path location. Any file in documents will be overwritten >> with >> the new download if the file name is the same. >> >> >> _______________________________________________ >> 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 > > > > > _______________________________________________ > 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 From jacque at hyperactivesw.com Fri Mar 1 11:45:22 2024 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 01 Mar 2024 10:45:22 -0600 Subject: sideloading updates to mobile In-Reply-To: <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> Message-ID: <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Right. In spite of Android's "external documents" option, which I needed, it's still in the sandbox. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On March 1, 2024 10:42:04 AM Bob Sneidar via use-livecode wrote: > Hell that means EVERYTHING is sandboxed! I need to go buy a pail and shovel! > > Bob S > > >> On Mar 1, 2024, at 8:31 AM, J. Landman Gay via use-livecode >> wrote: >> >> Both library and documents are sandboxed, I think all the listed folders >> are. I mostly use documents so that I have the same file paths on both iOS >> and Android since I generally need to build for both. But either one will work. >> >> -- >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> HyperActive Software | http://www.hyperactivesw.com >> On March 1, 2024 10:08:15 AM Bob Sneidar via use-livecode >> wrote: >> >>> Isnt the Library sandboxed? >>> >>> Bob S >>> >>> >>> On Feb 29, 2024, at 6:35 PM, Mike Kerner via use-livecode >>> wrote: >>> >>> any reason to store in documents instead of in library? >>> it seems like there might be less of a chance of the user misusing the >>> Files app to break the app. >>> >>> On Thu, Feb 29, 2024 at 5:32PM Mike Kerner >>> > >>> wrote: >>> >>> ah. that's a better way of handling this. i was going to have the app >>> check the documents folder for updates, before loading a stack, but if i >>> keep the source stacks, there, it will work better. >>> >>> On Thu, Feb 29, 2024 at 3:10PM J. Landman Gay via use-livecode < >>> use-livecode at lists.runrev.com> wrote: >>> >>> You can't add or change anything inside the app bundle so downloaded >>> files >>> have to go in specialFolderPath("documents"). Copy the originals from the >>> resources folder to the documents folder on first launch so you always >>> have >>> a known file path location. Any file in documents will be overwritten >>> with >>> the new download if the file name is the same. >>> >>> >>> _______________________________________________ >>> 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 >> >> >> >> >> _______________________________________________ >> 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 > > _______________________________________________ > 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 From bobsneidar at iotecdigital.com Fri Mar 1 11:48:25 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 1 Mar 2024 16:48:25 +0000 Subject: sideloading updates to mobile In-Reply-To: <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: They should stop calling it a Sandbox then. It’s the entire beach! LOL! Bob S On Mar 1, 2024, at 8:45 AM, J. Landman Gay via use-livecode wrote: Right. In spite of Android's "external documents" option, which I needed, it's still in the sandbox. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On March 1, 2024 10:42:04 AM Bob Sneidar via use-livecode wrote: From jacque at hyperactivesw.com Fri Mar 1 12:37:19 2024 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 01 Mar 2024 11:37:19 -0600 Subject: sideloading updates to mobile In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: <18dfb178498.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> But it's a private beach. No trespassing. Guards. Barbed wire. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On March 1, 2024 10:50:17 AM Bob Sneidar via use-livecode wrote: > They should stop calling it a Sandbox then. Its the entire beach! LOL! > > Bob S > > > On Mar 1, 2024, at 8:45 AM, J. Landman Gay via use-livecode > wrote: > > Right. In spite of Android's "external documents" option, which I needed, > it's still in the sandbox. > > -- > Jacqueline Landman Gay | > jacque at hyperactivesw.com > HyperActive Software | > http://www.hyperactivesw.com > On March 1, 2024 10:42:04 AM Bob Sneidar via use-livecode > wrote: > > > > _______________________________________________ > 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 From MikeKerner at roadrunner.com Fri Mar 1 12:37:41 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Fri, 1 Mar 2024 12:37:41 -0500 Subject: sideloading updates to mobile In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: i'm going to have to mess with this, some more. i didn't think documents is sandboxed. On Fri, Mar 1, 2024 at 11:49 AM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > They should stop calling it a Sandbox then. It’s the entire beach! LOL! > > Bob S > > > On Mar 1, 2024, at 8:45 AM, J. Landman Gay via use-livecode < > use-livecode at lists.runrev.com> wrote: > > Right. In spite of Android's "external documents" option, which I needed, > it's still in the sandbox. > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com jacque at hyperactivesw.com> > HyperActive Software | http://www.hyperactivesw.com< > http://www.hyperactivesw.com/> > On March 1, 2024 10:42:04 AM Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From jacque at hyperactivesw.com Fri Mar 1 13:09:28 2024 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 01 Mar 2024 12:09:28 -0600 Subject: sideloading updates to mobile In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> A quick test would be to see if Files can access the private documents of any installed app. I could try it if I didn't have to steal my husband's phone, which is tricky business. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On March 1, 2024 11:40:09 AM Mike Kerner via use-livecode wrote: > i'm going to have to mess with this, some more. i didn't think documents is > sandboxed. > > > On Fri, Mar 1, 2024 at 11:49AM Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> They should stop calling it a Sandbox then. Its the entire beach! LOL! >> >> Bob S >> >> >> On Mar 1, 2024, at 8:45 AM, J. Landman Gay via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >> Right. In spite of Android's "external documents" option, which I needed, >> it's still in the sandbox. >> >> -- >> Jacqueline Landman Gay | jacque at hyperactivesw.com> jacque at hyperactivesw.com> >> HyperActive Software | http://www.hyperactivesw.com< >> http://www.hyperactivesw.com/> >> On March 1, 2024 10:42:04 AM Bob Sneidar via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >> >> >> _______________________________________________ >> 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 >> > > > -- > On the first day, God created the heavens and the Earth > On the second day, God created the oceans. > On the third day, God put the animals on hold for a few hours, > and did a little diving. > And God said, "This is good." > _______________________________________________ > 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 From MikeKerner at roadrunner.com Fri Mar 1 13:22:54 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Fri, 1 Mar 2024 13:22:54 -0500 Subject: sideloading updates to mobile In-Reply-To: <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: the latest pieces that i found on the topic said that files can access the documents folder (but not library), and that it is available by other means, without jailbreaking. thus, i need to screw around with this, some more. if it's unavailable, then great, no need for library. in The Before Times, documents was isolated, but i thought that changed. On Fri, Mar 1, 2024 at 1:10 PM J. Landman Gay via use-livecode < use-livecode at lists.runrev.com> wrote: > A quick test would be to see if Files can access the private documents of > any installed app. I could try it if I didn't have to steal my husband's > phone, which is tricky business. > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > On March 1, 2024 11:40:09 AM Mike Kerner via use-livecode > wrote: > > > i'm going to have to mess with this, some more. i didn't think documents > is > > sandboxed. > > > > > > On Fri, Mar 1, 2024 at 11:49 AM Bob Sneidar via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > >> They should stop calling it a Sandbox then. It’s the entire beach! LOL! > >> > >> Bob S > >> > >> > >> On Mar 1, 2024, at 8:45 AM, J. Landman Gay via use-livecode < > >> use-livecode at lists.runrev.com> wrote: > >> > >> Right. In spite of Android's "external documents" option, which I > needed, > >> it's still in the sandbox. > >> > >> -- > >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> jacque at hyperactivesw.com> > >> HyperActive Software | http://www.hyperactivesw.com< > >> http://www.hyperactivesw.com/> > >> On March 1, 2024 10:42:04 AM Bob Sneidar via use-livecode < > >> use-livecode at lists.runrev.com> wrote: > >> > >> > >> > >> _______________________________________________ > >> 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 > >> > > > > > > -- > > On the first day, God created the heavens and the Earth > > On the second day, God created the oceans. > > On the third day, God put the animals on hold for a few hours, > > and did a little diving. > > And God said, "This is good." > > _______________________________________________ > > 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 > > > > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From jacque at hyperactivesw.com Fri Mar 1 18:37:58 2024 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 01 Mar 2024 17:37:58 -0600 Subject: sideloading updates to mobile In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Let me know if you find out. I'm still running in the before times. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On March 1, 2024 12:25:21 PM Mike Kerner via use-livecode wrote: > the latest pieces that i found on the topic said that files can access the > documents folder (but not library), and that it is available by other > means, without jailbreaking. > thus, i need to screw around with this, some more. > if it's unavailable, then great, no need for library. > in The Before Times, documents was isolated, but i thought that changed. > > On Fri, Mar 1, 2024 at 1:10PM J. Landman Gay via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> A quick test would be to see if Files can access the private documents of >> any installed app. I could try it if I didn't have to steal my husband's >> phone, which is tricky business. >> >> -- >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> HyperActive Software | http://www.hyperactivesw.com >> On March 1, 2024 11:40:09 AM Mike Kerner via use-livecode >> wrote: >> >> > i'm going to have to mess with this, some more. i didn't think documents >> is >> > sandboxed. >> > >> > >> > On Fri, Mar 1, 2024 at 11:49AM Bob Sneidar via use-livecode < >> > use-livecode at lists.runrev.com> wrote: >> > >> >> They should stop calling it a Sandbox then. Its the entire beach! LOL! >> >> >> >> Bob S >> >> >> >> >> >> On Mar 1, 2024, at 8:45 AM, J. Landman Gay via use-livecode < >> >> use-livecode at lists.runrev.com> wrote: >> >> >> >> Right. In spite of Android's "external documents" option, which I >> needed, >> >> it's still in the sandbox. >> >> >> >> -- >> >> Jacqueline Landman Gay | jacque at hyperactivesw.com> >> jacque at hyperactivesw.com> >> >> HyperActive Software | http://www.hyperactivesw.com< >> >> http://www.hyperactivesw.com/> >> >> On March 1, 2024 10:42:04 AM Bob Sneidar via use-livecode < >> >> use-livecode at lists.runrev.com> wrote: >> >> >> >> >> >> >> >> _______________________________________________ >> >> 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 >> >> >> > >> > >> > -- >> > On the first day, God created the heavens and the Earth >> > On the second day, God created the oceans. >> > On the third day, God put the animals on hold for a few hours, >> > and did a little diving. >> > And God said, "This is good." >> > _______________________________________________ >> > 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 >> >> >> >> >> _______________________________________________ >> 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 >> > > > -- > On the first day, God created the heavens and the Earth > On the second day, God created the oceans. > On the third day, God put the animals on hold for a few hours, > and did a little diving. > And God said, "This is good." > _______________________________________________ > 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 From MikeKerner at roadrunner.com Sat Mar 2 12:53:08 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Sat, 2 Mar 2024 12:53:08 -0500 Subject: sideloading updates to mobile In-Reply-To: <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: looks like specialfolderpath("documents") is sandboxed, after all. apparently there is another Documents folder, that lc isn't accessing, that is not. On Fri, Mar 1, 2024 at 6:39 PM J. Landman Gay via use-livecode < use-livecode at lists.runrev.com> wrote: > Let me know if you find out. I'm still running in the before times. > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > On March 1, 2024 12:25:21 PM Mike Kerner via use-livecode > wrote: > > > the latest pieces that i found on the topic said that files can access > the > > documents folder (but not library), and that it is available by other > > means, without jailbreaking. > > thus, i need to screw around with this, some more. > > if it's unavailable, then great, no need for library. > > in The Before Times, documents was isolated, but i thought that changed. > > > > On Fri, Mar 1, 2024 at 1:10 PM J. Landman Gay via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > >> A quick test would be to see if Files can access the private documents > of > >> any installed app. I could try it if I didn't have to steal my husband's > >> phone, which is tricky business. > >> > >> -- > >> Jacqueline Landman Gay | jacque at hyperactivesw.com > >> HyperActive Software | http://www.hyperactivesw.com > >> On March 1, 2024 11:40:09 AM Mike Kerner via use-livecode > >> wrote: > >> > >> > i'm going to have to mess with this, some more. i didn't think > documents > >> is > >> > sandboxed. > >> > > >> > > >> > On Fri, Mar 1, 2024 at 11:49 AM Bob Sneidar via use-livecode < > >> > use-livecode at lists.runrev.com> wrote: > >> > > >> >> They should stop calling it a Sandbox then. It’s the entire beach! > LOL! > >> >> > >> >> Bob S > >> >> > >> >> > >> >> On Mar 1, 2024, at 8:45 AM, J. Landman Gay via use-livecode < > >> >> use-livecode at lists.runrev.com> wrote: > >> >> > >> >> Right. In spite of Android's "external documents" option, which I > >> needed, > >> >> it's still in the sandbox. > >> >> > >> >> -- > >> >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> >> jacque at hyperactivesw.com> > >> >> HyperActive Software | http://www.hyperactivesw.com< > >> >> http://www.hyperactivesw.com/> > >> >> On March 1, 2024 10:42:04 AM Bob Sneidar via use-livecode < > >> >> use-livecode at lists.runrev.com> wrote: > >> >> > >> >> > >> >> > >> >> _______________________________________________ > >> >> 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 > >> >> > >> > > >> > > >> > -- > >> > On the first day, God created the heavens and the Earth > >> > On the second day, God created the oceans. > >> > On the third day, God put the animals on hold for a few hours, > >> > and did a little diving. > >> > And God said, "This is good." > >> > _______________________________________________ > >> > 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 > >> > >> > >> > >> > >> _______________________________________________ > >> 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 > >> > > > > > > -- > > On the first day, God created the heavens and the Earth > > On the second day, God created the oceans. > > On the third day, God put the animals on hold for a few hours, > > and did a little diving. > > And God said, "This is good." > > _______________________________________________ > > 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 > > > > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From jacque at hyperactivesw.com Sat Mar 2 13:06:41 2024 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sat, 02 Mar 2024 12:06:41 -0600 Subject: sideloading updates to mobile In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Thanks for checking, now I don't have to change anything. Android also has both a sandboxed documents folder and a public one. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On March 2, 2024 11:55:52 AM Mike Kerner via use-livecode wrote: > looks like specialfolderpath("documents") is sandboxed, after all. > apparently there is another Documents folder, that lc isn't accessing, that > is not. > > On Fri, Mar 1, 2024 at 6:39PM J. Landman Gay via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> Let me know if you find out. I'm still running in the before times. >> >> -- >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> HyperActive Software | http://www.hyperactivesw.com >> On March 1, 2024 12:25:21 PM Mike Kerner via use-livecode >> wrote: >> >> > the latest pieces that i found on the topic said that files can access >> the >> > documents folder (but not library), and that it is available by other >> > means, without jailbreaking. >> > thus, i need to screw around with this, some more. >> > if it's unavailable, then great, no need for library. >> > in The Before Times, documents was isolated, but i thought that changed. >> > >> > On Fri, Mar 1, 2024 at 1:10PM J. Landman Gay via use-livecode < >> > use-livecode at lists.runrev.com> wrote: >> > >> >> A quick test would be to see if Files can access the private documents >> of >> >> any installed app. I could try it if I didn't have to steal my husband's >> >> phone, which is tricky business. >> >> >> >> -- >> >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> >> HyperActive Software | http://www.hyperactivesw.com >> >> On March 1, 2024 11:40:09 AM Mike Kerner via use-livecode >> >> wrote: >> >> >> >> > i'm going to have to mess with this, some more. i didn't think >> documents >> >> is >> >> > sandboxed. >> >> > >> >> > >> >> > On Fri, Mar 1, 2024 at 11:49AM Bob Sneidar via use-livecode < >> >> > use-livecode at lists.runrev.com> wrote: >> >> > >> >> >> They should stop calling it a Sandbox then. Its the entire beach! >> LOL! >> >> >> >> >> >> Bob S >> >> >> >> >> >> >> >> >> On Mar 1, 2024, at 8:45 AM, J. Landman Gay via use-livecode < >> >> >> use-livecode at lists.runrev.com> wrote: >> >> >> >> >> >> Right. In spite of Android's "external documents" option, which I >> >> needed, >> >> >> it's still in the sandbox. >> >> >> >> >> >> -- >> >> >> Jacqueline Landman Gay | jacque at hyperactivesw.com> >> >> jacque at hyperactivesw.com> >> >> >> HyperActive Software | http://www.hyperactivesw.com< >> >> >> http://www.hyperactivesw.com/> >> >> >> On March 1, 2024 10:42:04 AM Bob Sneidar via use-livecode < >> >> >> use-livecode at lists.runrev.com> wrote: >> >> >> >> >> >> >> >> >> >> >> >> _______________________________________________ >> >> >> 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 >> >> >> >> >> > >> >> > >> >> > -- >> >> > On the first day, God created the heavens and the Earth >> >> > On the second day, God created the oceans. >> >> > On the third day, God put the animals on hold for a few hours, >> >> > and did a little diving. >> >> > And God said, "This is good." >> >> > _______________________________________________ >> >> > 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 >> >> >> >> >> >> >> >> >> >> _______________________________________________ >> >> 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 >> >> >> > >> > >> > -- >> > On the first day, God created the heavens and the Earth >> > On the second day, God created the oceans. >> > On the third day, God put the animals on hold for a few hours, >> > and did a little diving. >> > And God said, "This is good." >> > _______________________________________________ >> > 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 >> >> >> >> >> _______________________________________________ >> 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 >> > > > -- > On the first day, God created the heavens and the Earth > On the second day, God created the oceans. > On the third day, God put the animals on hold for a few hours, > and did a little diving. > And God said, "This is good." > _______________________________________________ > 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 From MikeKerner at roadrunner.com Sat Mar 2 19:22:12 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Sat, 2 Mar 2024 19:22:12 -0500 Subject: sideloading updates to mobile In-Reply-To: <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: fyi, to anyone else coming to thie thread, you can't use revCopyFolder or revCopyFile to move your bundle stacks/files to the documents folder b/c both commands require a shell, and ios doesn't have shell support. On Sat, Mar 2, 2024 at 1:07 PM J. Landman Gay via use-livecode < use-livecode at lists.runrev.com> wrote: > Thanks for checking, now I don't have to change anything. Android also has > both a sandboxed documents folder and a public one. > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > On March 2, 2024 11:55:52 AM Mike Kerner via use-livecode > wrote: > > > looks like specialfolderpath("documents") is sandboxed, after all. > > apparently there is another Documents folder, that lc isn't accessing, > that > > is not. > > > > On Fri, Mar 1, 2024 at 6:39 PM J. Landman Gay via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > >> Let me know if you find out. I'm still running in the before times. > >> > >> -- > >> Jacqueline Landman Gay | jacque at hyperactivesw.com > >> HyperActive Software | http://www.hyperactivesw.com > >> On March 1, 2024 12:25:21 PM Mike Kerner via use-livecode > >> wrote: > >> > >> > the latest pieces that i found on the topic said that files can access > >> the > >> > documents folder (but not library), and that it is available by other > >> > means, without jailbreaking. > >> > thus, i need to screw around with this, some more. > >> > if it's unavailable, then great, no need for library. > >> > in The Before Times, documents was isolated, but i thought that > changed. > >> > > >> > On Fri, Mar 1, 2024 at 1:10 PM J. Landman Gay via use-livecode < > >> > use-livecode at lists.runrev.com> wrote: > >> > > >> >> A quick test would be to see if Files can access the private > documents > >> of > >> >> any installed app. I could try it if I didn't have to steal my > husband's > >> >> phone, which is tricky business. > >> >> > >> >> -- > >> >> Jacqueline Landman Gay | jacque at hyperactivesw.com > >> >> HyperActive Software | http://www.hyperactivesw.com > >> >> On March 1, 2024 11:40:09 AM Mike Kerner via use-livecode > >> >> wrote: > >> >> > >> >> > i'm going to have to mess with this, some more. i didn't think > >> documents > >> >> is > >> >> > sandboxed. > >> >> > > >> >> > > >> >> > On Fri, Mar 1, 2024 at 11:49 AM Bob Sneidar via use-livecode < > >> >> > use-livecode at lists.runrev.com> wrote: > >> >> > > >> >> >> They should stop calling it a Sandbox then. It’s the entire beach! > >> LOL! > >> >> >> > >> >> >> Bob S > >> >> >> > >> >> >> > >> >> >> On Mar 1, 2024, at 8:45 AM, J. Landman Gay via use-livecode < > >> >> >> use-livecode at lists.runrev.com> wrote: > >> >> >> > >> >> >> Right. In spite of Android's "external documents" option, which I > >> >> needed, > >> >> >> it's still in the sandbox. > >> >> >> > >> >> >> -- > >> >> >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> >> >> jacque at hyperactivesw.com> > >> >> >> HyperActive Software | http://www.hyperactivesw.com< > >> >> >> http://www.hyperactivesw.com/> > >> >> >> On March 1, 2024 10:42:04 AM Bob Sneidar via use-livecode < > >> >> >> use-livecode at lists.runrev.com> wrote: > >> >> >> > >> >> >> > >> >> >> > >> >> >> _______________________________________________ > >> >> >> 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 > >> >> >> > >> >> > > >> >> > > >> >> > -- > >> >> > On the first day, God created the heavens and the Earth > >> >> > On the second day, God created the oceans. > >> >> > On the third day, God put the animals on hold for a few hours, > >> >> > and did a little diving. > >> >> > And God said, "This is good." > >> >> > _______________________________________________ > >> >> > 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 > >> >> > >> >> > >> >> > >> >> > >> >> _______________________________________________ > >> >> 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 > >> >> > >> > > >> > > >> > -- > >> > On the first day, God created the heavens and the Earth > >> > On the second day, God created the oceans. > >> > On the third day, God put the animals on hold for a few hours, > >> > and did a little diving. > >> > And God said, "This is good." > >> > _______________________________________________ > >> > 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 > >> > >> > >> > >> > >> _______________________________________________ > >> 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 > >> > > > > > > -- > > On the first day, God created the heavens and the Earth > > On the second day, God created the oceans. > > On the third day, God put the animals on hold for a few hours, > > and did a little diving. > > And God said, "This is good." > > _______________________________________________ > > 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 > > > > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From dan at clearvisiontech.com Tue Mar 5 11:51:52 2024 From: dan at clearvisiontech.com (Dan Friedman) Date: Tue, 5 Mar 2024 16:51:52 +0000 Subject: Cursor Placement in MobileControl In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: 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 From merakosp at gmail.com Tue Mar 5 12:43:42 2024 From: merakosp at gmail.com (panagiotis merakos) Date: Tue, 5 Mar 2024 19:43:42 +0200 Subject: Cursor Placement in MobileControl In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From dan at clearvisiontech.com Wed Mar 6 11:15:03 2024 From: dan at clearvisiontech.com (Dan Friedman) Date: Wed, 6 Mar 2024 16:15:03 +0000 Subject: Cursor Placement in MobileControl In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0-A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: 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 on behalf of panagiotis merakos via use-livecode Date: Tuesday, March 5, 2024 at 9:45 AM To: How to use LiveCode Cc: panagiotis merakos 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 at 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 at 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 at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From rdimola at evergreeninfo.net Wed Mar 6 13:13:51 2024 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Wed, 6 Mar 2024 13:13:51 -0500 Subject: Cursor Placement in MobileControl In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0- A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: <003a01da6ff2$0e632bc0$2b298340$@net> Dan, Nice... thanks! Ralph DiMola IT Director Evergreen Information Services rdimola at evergreeninfo.net -----Original Message----- From: use-livecode [mailto:use-livecode-bounces at 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 on behalf of panagiotis merakos via use-livecode Date: Tuesday, March 5, 2024 at 9:45 AM To: How to use LiveCode Cc: panagiotis merakos 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 at 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 at 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 at 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 at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Wed Mar 6 14:06:20 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 6 Mar 2024 19:06:20 +0000 Subject: Cursor Placement in MobileControl In-Reply-To: <003a01da6ff2$0e632bc0$2b298340$@net> References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <6A0FA0E0- A86E-406D-BB5A-79712ABD6BAE@iotecdigital.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <003a01da6ff2$0e632bc0$2b298340$@net> Message-ID: <87116489-C0CA-40A7-97BA-AC158EBE38FE@iotecdigital.com> 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 wrote: > > Dan, > > Nice... thanks! > > Ralph DiMola > IT Director > Evergreen Information Services > rdimola at evergreeninfo.net > > -----Original Message----- > From: use-livecode [mailto:use-livecode-bounces at 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 on behalf of > panagiotis merakos via use-livecode > Date: Tuesday, March 5, 2024 at 9:45 AM > To: How to use LiveCode > Cc: panagiotis merakos > 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 at 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 at 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 at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From MikeKerner at roadrunner.com Wed Mar 6 14:11:48 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Wed, 6 Mar 2024 14:11:48 -0500 Subject: Cursor Placement in MobileControl In-Reply-To: <87116489-C0CA-40A7-97BA-AC158EBE38FE@iotecdigital.com> References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <003a01da6ff2$0e632bc0$2b298340$@net> <87116489-C0CA-40A7-97BA-AC158EBE38FE@iotecdigital.com> Message-ID: it would be nice to have a universal field widget, and be able to have this sort of behavior be part of it... On Wed, Mar 6, 2024 at 2:07 PM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > 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 at lists.runrev.com> wrote: > > > > Dan, > > > > Nice... thanks! > > > > Ralph DiMola > > IT Director > > Evergreen Information Services > > rdimola at evergreeninfo.net > > > > -----Original Message----- > > From: use-livecode [mailto:use-livecode-bounces at 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 on behalf of > > panagiotis merakos via use-livecode > > Date: Tuesday, March 5, 2024 at 9:45 AM > > To: How to use LiveCode > > Cc: panagiotis merakos > > 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 at 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 at 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 at 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 at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From marksmithhfx at gmail.com Wed Mar 6 15:37:56 2024 From: marksmithhfx at gmail.com (Mark Smith) Date: Wed, 6 Mar 2024 20:37:56 +0000 Subject: Cursor Placement in MobileControl In-Reply-To: References: Message-ID: <9C7F333F-AAA1-4814-9A9C-5718C74C1895@gmail.com> Very useful to know. Thanks Dan Mark Sent from my iPhone > On Mar 6, 2024, at 7:13 PM, Mike Kerner via use-livecode wrote: > > it would be nice to have a universal field widget, and be able to have this > sort of behavior be part of it... > >> On Wed, Mar 6, 2024 at 2:07 PM Bob Sneidar via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >> 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 at lists.runrev.com> wrote: >>> >>> Dan, >>> >>> Nice... thanks! >>> >>> Ralph DiMola >>> IT Director >>> Evergreen Information Services >>> rdimola at evergreeninfo.net >>> >>> -----Original Message----- >>> From: use-livecode [mailto:use-livecode-bounces at 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 on behalf of >>> panagiotis merakos via use-livecode >>> Date: Tuesday, March 5, 2024 at 9:45 AM >>> To: How to use LiveCode >>> Cc: panagiotis merakos >>> 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 at 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 at 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 at 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 at 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 at 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 at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> > > > -- > On the first day, God created the heavens and the Earth > On the second day, God created the oceans. > On the third day, God put the animals on hold for a few hours, > and did a little diving. > And God said, "This is good." > _______________________________________________ > 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 From bobsneidar at iotecdigital.com Wed Mar 6 17:00:13 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 6 Mar 2024 22:00:13 +0000 Subject: Cursor Placement in MobileControl In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <003a01da6ff2$0e632bc0$2b298340$@net> <87116489-C0CA-40A7-97BA-AC158EBE38FE@iotecdigital.com> Message-ID: <1619AE8B-1AED-4CDF-821F-3F1C52770ACF@iotecdigital.com> It’s too specific. For instance I always format phone numbers nnn-nnn-nnnn xnnn (the x is for extension). Some people bracket the area code with paras, some need the country code, some want to prepend 1+ etc. I was planning to have a format string of some sort, then follow that pattern as the user types. For instance: -- x the brackets indicating text to be replaced. I could exclude the brackets but I might want to have a format string that uses a literal n in the future, so I have to figure out how to do all that. Bob S > On Mar 6, 2024, at 11:11 AM, Mike Kerner via use-livecode wrote: > > it would be nice to have a universal field widget, and be able to have this > sort of behavior be part of it... > > On Wed, Mar 6, 2024 at 2:07 PM Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> That is damn handy. That could be massaged to work with a Livecode field >> too. I’m going to work on that. >> >> Bob S >> >> From bobsneidar at iotecdigital.com Wed Mar 6 17:03:54 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 6 Mar 2024 22:03:54 +0000 Subject: Cursor Placement in MobileControl In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <003a01da6ff2$0e632bc0$2b298340$@net> <87116489-C0CA-40A7-97BA-AC158EBE38FE@iotecdigital.com> Message-ID: Also, and without trying to put too fine a point on it, I’d like to reiterate that Livecode is much less like a furniture store, and more like an Ikea furniture factory, where there are lots of different parts, and bits to hold the furniture together, but theoretically you could make any kind of furniture you like. I think what you are asking for is a piece of furniture, when you already have everything necessary to make your own coffee table. :-) Bob S > On Mar 6, 2024, at 11:11 AM, Mike Kerner via use-livecode wrote: > > it would be nice to have a universal field widget, and be able to have this > sort of behavior be part of it... > From MikeKerner at roadrunner.com Wed Mar 6 22:04:42 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Wed, 6 Mar 2024 22:04:42 -0500 Subject: Cursor Placement in MobileControl In-Reply-To: References: <9F0E2C59-27FD-49A8-AA22-DA8F6E9D080A@midwestcoastmedia.com> <18dcdac7158.276f.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df2d876e8.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18df67caf58.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <461C5D1D-68DB-44E7-8E78-41757DAA4079@iotecdigital.com> <18dfadb5658.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfae7f4d0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfb34f3c0.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18dfc61b008.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <18e0058c368.2814.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <003a01da6ff2$0e632bc0$2b298340$@net> <87116489-C0CA-40A7-97BA-AC158EBE38FE@iotecdigital.com> Message-ID: we don't have a universal field widget, and, the existing controls don't make it easy to do things like this. there are often ways to overcome, just like there are in c, but that doesn't mean i prefer c or swift or java or xojo sometimes workarounds are a means to identify opportunities to improve the product. On Wed, Mar 6, 2024 at 5:04 PM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > Also, and without trying to put too fine a point on it, I’d like to > reiterate that Livecode is much less like a furniture store, and more like > an Ikea furniture factory, where there are lots of different parts, and > bits to hold the furniture together, but theoretically you could make any > kind of furniture you like. I think what you are asking for is a piece of > furniture, when you already have everything necessary to make your own > coffee table. :-) > > Bob S > > > > On Mar 6, 2024, at 11:11 AM, Mike Kerner via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > it would be nice to have a universal field widget, and be able to have > this > > sort of behavior be part of it... > > > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From david.bovill at gmail.com Fri Mar 8 03:44:55 2024 From: david.bovill at gmail.com (David Bovill) Date: Fri, 8 Mar 2024 08:44:55 +0000 Subject: Enhanced HTTPD - native HTTP 1.1 Livecode Socket Server In-Reply-To: References: Message-ID: Hi Mike and Richard, the progress I’ve made is along the lines that Richard speaks to in the thread. I have added a little to the earlier work and bundled socket based servers - mainly by making it easy to add and remove logging with before and after handlers, and layers of back scripts that allow you to add your own custom middleware. There are a few things holding me back from plunging in further and finishing the work. Firstly, as Richard says still a way to go to add things like HTTP 206 partial content support, and there are already robust libraries in other languages out there - so the strategy of integrating Livecode with one of these is also attractive given the amount of effort required it’s a question in my head as too which route would be better pursued. I also have quite a nice integration with local node servers, which took quite a lot of tweaking as simply using shell() didn’t cut it - but now works well. However with this approach I don’t get the control I need from the Livecode side. There are also issues with socket requests and timeouts which would need to be debugged and while that is not a problem in itself, the underlying concern I’d have is that at the end of the process I’d find that the cause was a Livecode bug and not something in my code. There would be little I could do in that case other than hope and wait. Funny you came across the Full Moon Happening event as I’m currently working on a new version of that early experiment for March 25th this year (a full moon, penumbral lunar eclipse and wikis birthday - should be fun. If anyone’s in London this Friday March 15th, I’ll be doing an event at the RSA in the afternoon and Newspeak House in the evening where we’ll go into this in more detail. On Wed, 28 Feb 2024 at 13:55, Mike Kerner via use-livecode < use-livecode at lists.runrev.com> wrote: > just pinging to see if anything more has happened on this > and the how list is really quiet > > On Tue, Feb 6, 2024 at 11:09 PM ambassador--- via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > David Bovill wrote: > > > > > I've been working for a while on a native server written in Livecode > > > using sockets. I feel it is definitely something that is sorely needed > > > - but to do it properly is more work that I initially thought. I need > > > to add HTTP 206 partial content support - > > > https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/206. I expect > > > there to be other things that will need to be added. > > > > > > Is anyone interested / need this? Or does anyone already have something > > > they use? > > > > > > MC shipped with a simple HTTPd example included, and many years ago back > > when Pierre was still active here I dusted it off to add support for HTTP > > 1.1 so it would work with modern browsers: > > > > https://fourthworld.net/lc/mchttpd-4W.zip > > > > It's been years since I touched it, and IIRC the only other change I made > > was to use callbacks for both ends of the network I/O (for some reason > > Raney had used callbacks only on one side, tho I can't recall if his was > on > > the write or read end). Callbacks for net I/O help a lot. > > > > If you're already far enough down the road to be thinking of 206 errors, > > there's likely nothing here you haven't already written. But as an > example > > (slightly updated) of the sort of thing that used to ship with old > versions > > to encourage exploration of network apps, it may be a fun trip down > memory > > lane. > > > > > > A question, if interesting to answer: one of the reasons I set this aside > > was the beginning of a process of moving away from my own homegrown tools > > for generic commodities like socket servers. Apache and Node cover most > of > > what I've needed since, and I don't have to maintain them, so I can focus > > on the stuff specific to my app. What are you working on these days? I > > stumbled across your chat with Ward Cunningham in the Full Moon Happening > > just a few months ago; good stuff. Curious if your interest in > > decentralization is still a focus, and whether it also includes things > like > > IPSF and blockchains. Maybe offlist if it's not too LiveCodey is fine. > > > > > > Richard Gaskin > > FourthWorld.com > > > > _______________________________________________ > > 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 > > > > > -- > On the first day, God created the heavens and the Earth > On the second day, God created the oceans. > On the third day, God put the animals on hold for a few hours, > and did a little diving. > And God said, "This is good." > _______________________________________________ > 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 > From david.bovill at gmail.com Fri Mar 8 03:54:28 2024 From: david.bovill at gmail.com (David Bovill) Date: Fri, 8 Mar 2024 08:54:28 +0000 Subject: Enhanced HTTPD - native HTTP 1.1 Livecode Socket Server In-Reply-To: <31d2bf4382641c6fd936f04d88edf69cc25f1dea@fourthworld.com> References: <31d2bf4382641c6fd936f04d88edf69cc25f1dea@fourthworld.com> Message-ID: Hi Richard - checking in again :) Yes I worked a lot with decentralised protocols and communities, and was looking to integrate those technologies with Livecode. That work got set back when Livecode pivoted away from FOSS. I believe there are still some approaches that can work but would probably be best done off list in a video call? On Wed, 28 Feb 2024 at 17:56, Richard Gaskin via use-livecode < use-livecode at lists.runrev.com> wrote: > FWIW I haven't heard from David, but with the economic numbers off to a > good start this year I suspect he's just been as busy as most I know. > > I know of at least one other LC fan with an interest in decentralized > protocols, but I'm not sure how far he's gotten with his implementations. > I've mentioned LC in some of those circles, but those communities tend to > make and use FOSS tools, so the conversation is usually very short. > > Richard Gaskin > FourthWorld.com > > > > On February 28, 2024 at 9:00 AM, Mike Kerner wrote: > > > > just pinging to see if anything more has happened on this > > > > and the how list is really quiet > > > > On Tue, Feb 6, 2024 at 11:09?PM ambassador--- via use-livecode < > > > > use-livecode at lists.runrev.com> wrote: > > > > > David Bovill wrote: > > > > > > I've been working for a while on a native server written in Livecode > > > using sockets. I feel it is definitely something that is sorely needed > > > - but to do it properly is more work that I initially thought. I need > > > to add HTTP 206 partial content support - > > > https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/206. I > expect > > > there to be other things that will need to be added. > > > Is anyone interested / need this? Or does anyone already have > something > > > they use? > > > > > MC shipped with a simple HTTPd example included, and many years ago back > > > > when Pierre was still active here I dusted it off to add support for > HTTP > > 1.1 so it would work with modern browsers: > > https://fourthworld.net/lc/mchttpd-4W.zip > > > > It's been years since I touched it, and IIRC the only other change I > made > > was to use callbacks for both ends of the network I/O (for some reason > > Raney had used callbacks only on one side, tho I can't recall if his was > on > > the write or read end). Callbacks for net I/O help a lot. > > > > If you're already far enough down the road to be thinking of 206 errors, > > there's likely nothing here you haven't already written. But as an > example > > (slightly updated) of the sort of thing that used to ship with old > versions > > to encourage exploration of network apps, it may be a fun trip down > memory > > lane. > > > > A question, if interesting to answer: one of the reasons I set this > aside > > was the beginning of a process of moving away from my own homegrown > tools > > for generic commodities like socket servers. Apache and Node cover most > of > > what I've needed since, and I don't have to maintain them, so I can focus > > on the stuff specific to my app. What are you working on these days? I > > stumbled across your chat with Ward Cunningham in the Full Moon > Happening > > just a few months ago; good stuff. Curious if your interest in > > decentralization is still a focus, and whether it also includes things > like > > IPSF and blockchains. Maybe offlist if it's not too LiveCodey is fine. > > > > Richard Gaskin > > FourthWorld.com > > _______________________________________________ > 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 > From klaus at major-k.de Wed Mar 13 05:26:28 2024 From: klaus at major-k.de (Klaus major-k) Date: Wed, 13 Mar 2024 10:26:28 +0100 Subject: Iconmaker 2.0 Message-ID: <99F2FA3E-4453-4F3F-9619-4C34C8034154@major-k.de> Hi friends, a new version of my plug-in "Iconmaker" is available, it now also creates .ICNS icon files for macOS apps. Check it here: https://major-k.de/iconmaker.html Best Klaus From bobsneidar at iotecdigital.com Wed Mar 13 12:08:10 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 13 Mar 2024 16:08:10 +0000 Subject: Iconmaker 2.0 In-Reply-To: <99F2FA3E-4453-4F3F-9619-4C34C8034154@major-k.de> References: <99F2FA3E-4453-4F3F-9619-4C34C8034154@major-k.de> Message-ID: <51A542A2-F7FD-4A90-87F6-3F3F6F246A43@iotecdigital.com> Awesome thanks! Bob S > On Mar 13, 2024, at 2:26 AM, Klaus major-k via use-livecode wrote: > > Hi friends, > > a new version of my plug-in "Iconmaker" is available, it now also creates .ICNS icon files for macOS apps. > Check it here: https://major-k.de/iconmaker.html > > > Best > > Klaus > _______________________________________________ > 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 From jbv at souslelogo.com Fri Mar 15 10:36:39 2024 From: jbv at souslelogo.com (jbv at souslelogo.com) Date: Fri, 15 Mar 2024 10:36:39 -0400 Subject: Code translation anyone ? Message-ID: Hi list, Has anyone tried to translate code from 1 version to another, or from 1 language to another ? Like from php 5 to php 8, or from php to LC ? My question concerns mainly server scripts. Thanks, jbv From jbv at souslelogo.com Fri Mar 15 10:39:57 2024 From: jbv at souslelogo.com (jbv at souslelogo.com) Date: Fri, 15 Mar 2024 10:39:57 -0400 Subject: Code translation anyone ? In-Reply-To: References: Message-ID: <85df7e46662e355a4bbafbfb0dadab8d@souslelogo.com> One detail I forgot in my question : code translation using ChatGPT or any other AI. Thanks, jbv Le 2024-03-15 10:36, jbv via use-livecode a crit : > Hi list, > > Has anyone tried to translate code from 1 version to > another, or from 1 language to another ? > Like from php 5 to php 8, or from php to LC ? > My question concerns mainly server scripts. > > Thanks, > jbv > > _______________________________________________ > 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 From bobsneidar at iotecdigital.com Fri Mar 15 11:15:19 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 15 Mar 2024 15:15:19 +0000 Subject: Code translation anyone ? In-Reply-To: <85df7e46662e355a4bbafbfb0dadab8d@souslelogo.com> References: <85df7e46662e355a4bbafbfb0dadab8d@souslelogo.com> Message-ID: <619F751C-E25E-4BEF-815E-2A6C55946D01@iotecdigital.com> I tried to write a code converter from dBase (Foxpro) to what is now called Livecode. I ran into at least one insurmountable issue. I forget exactly what it was, but it was along the lines of certain conventions used in Foxpro that had no parallel in Livecode or meant something totally different in Livecode. For instance, Foxpro uses a convention called Macro Substitution, where preceding a variable with an ampersand would at runtime replace the variable with its contents. For instance: x = "Fox" ? "&x.Pro” Would produce FoxPro. The trouble was that ampersand is *ALSO* used for concatenation! How can I tell? Periods inside quotes are just periods *unless* they are used in Macro Substitution. There were a couple others, like using $ for certain things. I came to the conclusion that the process would be more complex than I wanted, if at all possible, and in the end it would be easier to simple reproduce the application from scratch. Bob S > On Mar 15, 2024, at 7:39 AM, jbv via use-livecode wrote: > > One detail I forgot in my question : code translation using > ChatGPT or any other AI. > > Thanks, > jbv > > > Le 2024-03-15 10:36, jbv via use-livecode a écrit : >> Hi list, >> Has anyone tried to translate code from 1 version to >> another, or from 1 language to another ? >> Like from php 5 to php 8, or from php to LC ? >> My question concerns mainly server scripts. >> Thanks, >> jbv >> _______________________________________________ >> 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 > > _______________________________________________ > 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 From christerp1 at gmail.com Fri Mar 15 12:28:22 2024 From: christerp1 at gmail.com (=?utf-8?Q?Christer_Pyyhti=C3=A4?=) Date: Fri, 15 Mar 2024 18:28:22 +0200 Subject: Code translation anyone ? In-Reply-To: <619F751C-E25E-4BEF-815E-2A6C55946D01@iotecdigital.com> References: <85df7e46662e355a4bbafbfb0dadab8d@souslelogo.com> <619F751C-E25E-4BEF-815E-2A6C55946D01@iotecdigital.com> Message-ID: <973B22EA-0441-4973-A870-BFB45B7EDEDB@gmail.com> Just an ideal hacker problem. Have you tried OpenAi or Gemini? Once just for fun tried asking OpenAI to create a structure for a problem using LiveCode, and the result was acceptable giving a coarse structure for the solving the problem. Maybe those generative tools would recognise FoxPro as well. Please tell what you’ll find out. Reds Christer Pyyhtiä christerp1 at gmail.com > On 15. Mar 2024, at 17.15, Bob Sneidar via use-livecode wrote: > > I tried to write a code converter from dBase (Foxpro) to what is now called Livecode. I ran into at least one insurmountable issue. I forget exactly what it was, but it was along the lines of certain conventions used in Foxpro that had no parallel in Livecode or meant something totally different in Livecode. For instance, Foxpro uses a convention called Macro Substitution, where preceding a variable with an ampersand would at runtime replace the variable with its contents. For instance: > > x = "Fox" > ? "&x.Pro” > > Would produce FoxPro. The trouble was that ampersand is *ALSO* used for concatenation! How can I tell? Periods inside quotes are just periods *unless* they are used in Macro Substitution. > > There were a couple others, like using $ for certain things. I came to the conclusion that the process would be more complex than I wanted, if at all possible, and in the end it would be easier to simple reproduce the application from scratch. > > > Bob S > > > >> On Mar 15, 2024, at 7:39 AM, jbv via use-livecode wrote: >> >> One detail I forgot in my question : code translation using >> ChatGPT or any other AI. >> >> Thanks, >> jbv >> >> >> Le 2024-03-15 10:36, jbv via use-livecode a écrit : >>> Hi list, >>> Has anyone tried to translate code from 1 version to >>> another, or from 1 language to another ? >>> Like from php 5 to php 8, or from php to LC ? >>> My question concerns mainly server scripts. >>> Thanks, >>> jbv >>> _______________________________________________ >>> 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 >> >> _______________________________________________ >> 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 > > _______________________________________________ > 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 From jbv at souslelogo.com Fri Mar 15 14:07:36 2024 From: jbv at souslelogo.com (jbv at souslelogo.com) Date: Fri, 15 Mar 2024 14:07:36 -0400 Subject: Code translation anyone ? In-Reply-To: <973B22EA-0441-4973-A870-BFB45B7EDEDB@gmail.com> References: <85df7e46662e355a4bbafbfb0dadab8d@souslelogo.com> <619F751C-E25E-4BEF-815E-2A6C55946D01@iotecdigital.com> <973B22EA-0441-4973-A870-BFB45B7EDEDB@gmail.com> Message-ID: Le 2024-03-15 12:28, Christer Pyyhti via use-livecode a crit : > Have you tried OpenAi or Gemini? Once just for fun tried asking OpenAI > to create a structure for a problem using LiveCode, and the result was > acceptable giving a coarse structure for the solving the problem. Yes, I have tried ChatGPT, but my problem is that my php weights 500 Kb, so I started to proceed chunk by chunk, and each time ChatGPT adds lengthy comments and explanations from the php manual... From tom at makeshyft.com Sat Mar 16 15:26:14 2024 From: tom at makeshyft.com (Tom Glod) Date: Sat, 16 Mar 2024 15:26:14 -0400 Subject: Code translation anyone ? In-Reply-To: References: <85df7e46662e355a4bbafbfb0dadab8d@souslelogo.com> <619F751C-E25E-4BEF-815E-2A6C55946D01@iotecdigital.com> <973B22EA-0441-4973-A870-BFB45B7EDEDB@gmail.com> Message-ID: I think its a great task for an AI with a greater context window. Don't give up yet. CHat GPT can be prompted to be less verbose. You can also use the openai playground, upload your php, and use the model with the bigger context window. From klaus at major-k.de Sun Mar 17 13:17:52 2024 From: klaus at major-k.de (Klaus major-k) Date: Sun, 17 Mar 2024 18:17:52 +0100 Subject: is there something like "sockettimeoutinterval" for "put url... into aVariable"? Message-ID: <58CE5F5F-9F33-4524-9ABD-6234759DB18E@major-k.de> Hi friends, see subject, any hints welcome. Thanks in advance! Best Klaus -- Klaus Major https://www.major-k.de https://www.major-k.de/bass klaus at major-k.de From matthias_livecode_150811 at m-r-d.de Sun Mar 17 13:39:46 2024 From: matthias_livecode_150811 at m-r-d.de (matthias_livecode_150811 at m-r-d.de) Date: Sun, 17 Mar 2024 18:39:46 +0100 Subject: is there something like "sockettimeoutinterval" for "put url... into aVariable"? In-Reply-To: <58CE5F5F-9F33-4524-9ABD-6234759DB18E@major-k.de> References: <58CE5F5F-9F33-4524-9ABD-6234759DB18E@major-k.de> Message-ID: <3FDE5210-F3E4-4ADF-85A7-A287290FB518@m-r-d.de> What URL type are you using? When using http/ftp and so on then there is also tsNetSetTimeouts in case you are using a commercial LC Version >=8. > Am 17.03.2024 um 18:17 schrieb Klaus major-k via use-livecode : > > Hi friends, > > see subject, any hints welcome. > Thanks in advance! > > > Best > > Klaus > -- > Klaus Major > https://www.major-k.de > https://www.major-k.de/bass > klaus at major-k.de > > > _______________________________________________ > 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 From klaus at major-k.de Sun Mar 17 13:51:21 2024 From: klaus at major-k.de (Klaus major-k) Date: Sun, 17 Mar 2024 18:51:21 +0100 Subject: is there something like "sockettimeoutinterval" for "put url... into aVariable"? In-Reply-To: <3FDE5210-F3E4-4ADF-85A7-A287290FB518@m-r-d.de> References: <58CE5F5F-9F33-4524-9ABD-6234759DB18E@major-k.de> <3FDE5210-F3E4-4ADF-85A7-A287290FB518@m-r-d.de> Message-ID: <3C1B14F6-EA0D-45B3-AC79-E7766ED1EACF@major-k.de> Hi Matthias, > Am 17.03.2024 um 18:39 schrieb matthias rebbe via use-livecode : > > What URL type are you using? a https url on my server. > When using http/ftp and so on then there is also tsNetSetTimeouts in case you are using a commercial LC Version >=8. Ah, great will try this, thank you! >> Am 17.03.2024 um 18:17 schrieb Klaus major-k via use-livecode : >> >> Hi friends, >> >> see subject, any hints welcome. >> Thanks in advance! Best Klaus -- Klaus Major https://www.major-k.de https://www.major-k.de/bass klaus at major-k.de From benr_mc at cogapp.com Sun Mar 17 16:15:39 2024 From: benr_mc at cogapp.com (Ben Rubinstein) Date: Sun, 17 Mar 2024 20:15:39 +0000 Subject: Damn I missed it - happy 20th birthday! Message-ID: <0dcdc45e-1274-4400-8e8d-ef25321f55a7@cogapp.com> Sorry it's two days late, but happy 20th birthday to https://quality.livecode.com/show_bug.cgi?id=1372 ... and many happy returns? (I would have forgotten altogether but a colleague asked me how to do this conversion and I had to tell him about the workaround, and that he'd then have to code to strip out para formatting etc.... just like it always was.) Ben From dochawk at gmail.com Thu Mar 21 12:26:01 2024 From: dochawk at gmail.com (doc hawk) Date: Thu, 21 Mar 2024 09:26:01 -0700 Subject: pulling out hair connecting to postgres server Message-ID: I'm near pulling out my hair on this. I set this up, and haven't used it for so long that I can't seem to remember everything. Postrgres 9.5 is installed on this machine, and appears to be running and accepting connections: sudo -u postgres /Library/PostgreSQL/9.5/bin/pg_ctl restart -m fast -D /Library/PostgreSQL/9.5/data/ sharpshin:hawk>2024-03-08 15:48:39 PST LOG: redirecting log output to logging collector process 2024-03-08 15:48:39 PST HINT: Future log output will appear in directory "pg_log". -- Dr. Richard E. Hawkins, Esq. (702) 508-8462 From harrison at all-auctions.com Thu Mar 21 17:38:58 2024 From: harrison at all-auctions.com (harrison at all-auctions.com) Date: Thu, 21 Mar 2024 17:38:58 -0400 Subject: pulling out hair connecting to postgres server In-Reply-To: References: Message-ID: What version of the OS are you running? What is your pg_log telling you? Version 9.5 is very old. The current version of PostgreSQL is 16.2 What version of LiveCode Server are you running? Let us know! Rick > On Mar 21, 2024, at 12:26 PM, doc hawk via use-livecode wrote: > > I'm near pulling out my hair on this. > > I set this up, and haven't used it for so long that I can't seem to > remember everything. > > Postrgres 9.5 is installed on this machine, and appears to be running and > accepting connections: > > sudo -u postgres /Library/PostgreSQL/9.5/bin/pg_ctl restart -m fast -D > /Library/PostgreSQL/9.5/data/ > > sharpshin:hawk>2024-03-08 15:48:39 PST LOG: redirecting log output to > logging collector process > 2024-03-08 15:48:39 PST HINT: Future log output will appear in directory > "pg_log". From paul at researchware.com Thu Mar 21 17:48:09 2024 From: paul at researchware.com (Paul Dupuis) Date: Thu, 21 Mar 2024 17:48:09 -0400 Subject: Dropping file on an LC standalone... Message-ID: My question is what message is triggered when a file is dropped on a running LC standdalone on Windows On Windows, if the APP is started by dropping a file on it, the file name is available to any handler in the startup sequence via the $1 special variable. i.e. IF teh variable $1 contains a file name the app was started by someone droping the file on teh app or by double-clicking a file associated with teh app. On macOS, this is all handled by appleEvents. i.e. if a file is dropped on a LC standalone on macOS that standalone gets an appleEvent message and the parameters of the message can be used to get the file name . This is true on startup (if a file was dropped on the app to start it or an associated file was double clicked to start the app OR on macOS if the app is already running and a file is dropped on its icon, the app gets an appleEvent message. So, what message does a LC standalone app on Windows get, if it has been running and a file is dropped on its icon? An what is the message path of that message (i.e. is it send to the current card, current stack, the mainstack card, or the mainstack stack?) Thanks in advance! From bobsneidar at iotecdigital.com Thu Mar 21 18:46:59 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 21 Mar 2024 22:46:59 +0000 Subject: Dropping file on an LC standalone... In-Reply-To: References: Message-ID: Does it have to be the icon? If I drag a file onto an app in the Windows Tack Bar it does nothing, even if the file belongs to the app I am dragging the file onto. If however I HOVER on the icon and the app is running, it will bring the app to the front and show the frontmost window if it is hidden. If I drag the file onto the open Window, the app will open it. Case in point, drag an Excel spreadsheet onto the Excel icon in the task bar. All it will do is add a shortcut to the Excel icon for that file. But launch Excel, open a blank spreadsheet, then drag an excel file onto the icon, hover, then drop onto the blank Excel Spreadsheet. In THIS case it will open the spreadsheet in a new window. Because of this you may be able to use a Drag / Drop handler in your card script. The caveat is that the card itself will not accept a drag/drop action, but if you drag anything on top of an actual object, THEN the card will get the message. So to handle this, add an opaque rectangle the size of the card behind everything else (if the opacity is set to 99 it will appear transparent for all intents and purposes). The rectangle (or any other object on the card that doesn’t have a dragDrop handler) will get the message and it will fall through to the card where you can handle it. This in my card script: on dragEnter set the dragAction to "link" -- for files pass dragEnter end dragEnter on dragDrop put the dragData into tDragData set the dragData to empty -- do something with tDragData end dragDrop On Mar 21, 2024, at 2:48 PM, Paul Dupuis via use-livecode wrote: My question is what message is triggered when a file is dropped on a running LC standdalone on Windows On Windows, if the APP is started by dropping a file on it, the file name is available to any handler in the startup sequence via the $1 special variable. i.e. IF teh variable $1 contains a file name the app was started by someone droping the file on teh app or by double-clicking a file associated with teh app. On macOS, this is all handled by appleEvents. i.e. if a file is dropped on a LC standalone on macOS that standalone gets an appleEvent message and the parameters of the message can be used to get the file name . This is true on startup (if a file was dropped on the app to start it or an associated file was double clicked to start the app OR on macOS if the app is already running and a file is dropped on its icon, the app gets an appleEvent message. So, what message does a LC standalone app on Windows get, if it has been running and a file is dropped on its icon? An what is the message path of that message (i.e. is it send to the current card, current stack, the mainstack card, or the mainstack stack?) Thanks in advance! From bobsneidar at iotecdigital.com Thu Mar 21 18:58:58 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 21 Mar 2024 22:58:58 +0000 Subject: Dropping file on an LC standalone... In-Reply-To: References: Message-ID: <54569147-9438-416C-8235-9AA6457C0745@iotecdigital.com> Wow I just read that and it didn’t even make sense to me! Basically with Windows, dragging a file onto a taskbar icon only adds the file to the icon’s Pinned items. Dragging a file onto an open window of an App will try and open the file in that app. If the app’s window(s) are hidden, dragging and hovering over the app’s shortcut will cause the app to show it’s window(s) whereupon you can drop the file onto the open window. Bob S On Mar 21, 2024, at 3:46 PM, Bob Sneidar via use-livecode wrote: Does it have to be the icon? If I drag a file onto an app in the Windows Tack Bar it does nothing, even if the file belongs to the app I am dragging the file onto. If however I HOVER on the icon and the app is running, it will bring the app to the front and show the frontmost window if it is hidden. If I drag the file onto the open Window, the app will open it. Case in point, drag an Excel spreadsheet onto the Excel icon in the task bar. All it will do is add a shortcut to the Excel icon for that file. But launch Excel, open a blank spreadsheet, then drag an excel file onto the icon, hover, then drop onto the blank Excel Spreadsheet. In THIS case it will open the spreadsheet in a new window. Because of this you may be able to use a Drag / Drop handler in your card script. The caveat is that the card itself will not accept a drag/drop action, but if you drag anything on top of an actual object, THEN the card will get the message. So to handle this, add an opaque rectangle the size of the card behind everything else (if the opacity is set to 99 it will appear transparent for all intents and purposes). The rectangle (or any other object on the card that doesn’t have a dragDrop handler) will get the message and it will fall through to the card where you can handle it. This in my card script: on dragEnter set the dragAction to "link" -- for files pass dragEnter end dragEnter on dragDrop put the dragData into tDragData set the dragData to empty -- do something with tDragData end dragDrop From craig at starfirelighting.com Fri Mar 22 08:44:32 2024 From: craig at starfirelighting.com (Craig Newman) Date: Fri, 22 Mar 2024 08:44:32 -0400 Subject: Dropping file on an LC standalone... In-Reply-To: <54569147-9438-416C-8235-9AA6457C0745@iotecdigital.com> References: <54569147-9438-416C-8235-9AA6457C0745@iotecdigital.com> Message-ID: <385F2046-BC33-4558-A935-C5F34ED99477@starfirelighting.com> What on earth is the “1$ special variable”? Craig > On Mar 21, 2024, at 6:58 PM, Bob Sneidar via use-livecode wrote: > > Wow I just read that and it didn’t even make sense to me! > > Basically with Windows, dragging a file onto a taskbar icon only adds the file to the icon’s Pinned items. Dragging a file onto an open window of an App will try and open the file in that app. If the app’s window(s) are hidden, dragging and hovering over the app’s shortcut will cause the app to show it’s window(s) whereupon you can drop the file onto the open window. > > Bob S > > > On Mar 21, 2024, at 3:46 PM, Bob Sneidar via use-livecode wrote: > > Does it have to be the icon? If I drag a file onto an app in the Windows Tack Bar it does nothing, even if the file belongs to the app I am dragging the file onto. If however I HOVER on the icon and the app is running, it will bring the app to the front and show the frontmost window if it is hidden. > > If I drag the file onto the open Window, the app will open it. Case in point, drag an Excel spreadsheet onto the Excel icon in the task bar. All it will do is add a shortcut to the Excel icon for that file. But launch Excel, open a blank spreadsheet, then drag an excel file onto the icon, hover, then drop onto the blank Excel Spreadsheet. In THIS case it will open the spreadsheet in a new window. > > Because of this you may be able to use a Drag / Drop handler in your card script. The caveat is that the card itself will not accept a drag/drop action, but if you drag anything on top of an actual object, THEN the card will get the message. > > So to handle this, add an opaque rectangle the size of the card behind everything else (if the opacity is set to 99 it will appear transparent for all intents and purposes). The rectangle (or any other object on the card that doesn’t have a dragDrop handler) will get the message and it will fall through to the card where you can handle it. > > This in my card script: > > on dragEnter > set the dragAction to "link" -- for files > pass dragEnter > end dragEnter > > on dragDrop > put the dragData into tDragData > set the dragData to empty > -- do something with tDragData > end dragDrop > > _______________________________________________ > 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 From klaus at major-k.de Fri Mar 22 08:56:52 2024 From: klaus at major-k.de (Klaus major-k) Date: Fri, 22 Mar 2024 13:56:52 +0100 Subject: Dropping file on an LC standalone... In-Reply-To: <385F2046-BC33-4558-A935-C5F34ED99477@starfirelighting.com> References: <54569147-9438-416C-8235-9AA6457C0745@iotecdigital.com> <385F2046-BC33-4558-A935-C5F34ED99477@starfirelighting.com> Message-ID: <6764ADB2-7257-4D22-A617-B8E81D96C529@major-k.de> Hi Craig, > Am 22.03.2024 um 13:44 schrieb Craig Newman via use-livecode : > > What on earth is the “1$ special variable”? well, 1$ sounds like a good bargain for a "special variable"! :-D Actually it is -> $1 Look up $ in the dictionary for further information. > Craig > >> On Mar 21, 2024, at 6:58 PM, Bob Sneidar via use-livecode wrote: >> >> Wow I just read that and it didn’t even make sense to me! >> >> Basically with Windows, dragging a file onto a taskbar icon only adds the file to the icon’s Pinned items. Dragging a file onto an open window of an App will try and open the file in that app. If the app’s window(s) are hidden, dragging and hovering over the app’s shortcut will cause the app to show it’s window(s) whereupon you can drop the file onto the open window. >> >> Bob S >> >> >> On Mar 21, 2024, at 3:46 PM, Bob Sneidar via use-livecode wrote: >> >> Does it have to be the icon? If I drag a file onto an app in the Windows Tack Bar it does nothing, even if the file belongs to the app I am dragging the file onto. If however I HOVER on the icon and the app is running, it will bring the app to the front and show the frontmost window if it is hidden. >> >> If I drag the file onto the open Window, the app will open it. Case in point, drag an Excel spreadsheet onto the Excel icon in the task bar. All it will do is add a shortcut to the Excel icon for that file. But launch Excel, open a blank spreadsheet, then drag an excel file onto the icon, hover, then drop onto the blank Excel Spreadsheet. In THIS case it will open the spreadsheet in a new window. >> >> Because of this you may be able to use a Drag / Drop handler in your card script. The caveat is that the card itself will not accept a drag/drop action, but if you drag anything on top of an actual object, THEN the card will get the message. >> >> So to handle this, add an opaque rectangle the size of the card behind everything else (if the opacity is set to 99 it will appear transparent for all intents and purposes). The rectangle (or any other object on the card that doesn’t have a dragDrop handler) will get the message and it will fall through to the card where you can handle it. >> >> This in my card script: >> >> on dragEnter >> set the dragAction to "link" -- for files >> pass dragEnter >> end dragEnter >> >> on dragDrop >> put the dragData into tDragData >> set the dragData to empty >> -- do something with tDragData >> end dragDrop Best Klaus -- Klaus Major https://www.major-k.de https://www.major-k.de/bass klaus at major-k.de From craig at starfirelighting.com Fri Mar 22 12:09:34 2024 From: craig at starfirelighting.com (Craig Newman) Date: Fri, 22 Mar 2024 12:09:34 -0400 Subject: Dropping file on an LC standalone... In-Reply-To: <6764ADB2-7257-4D22-A617-B8E81D96C529@major-k.de> References: <54569147-9438-416C-8235-9AA6457C0745@iotecdigital.com> <385F2046-BC33-4558-A935-C5F34ED99477@starfirelighting.com> <6764ADB2-7257-4D22-A617-B8E81D96C529@major-k.de> Message-ID: <9A96E1CB-B642-4093-802B-36350EEED916@starfirelighting.com> Klaus. AHA. I did, but did not see past the fact that the “$” keyword took parameters. Craig > On Mar 22, 2024, at 8:56 AM, Klaus major-k via use-livecode wrote: > > Hi Craig, > >> Am 22.03.2024 um 13:44 schrieb Craig Newman via use-livecode >: >> >> What on earth is the “1$ special variable”? > > well, 1$ sounds like a good bargain for a "special variable"! :-D > > Actually it is -> $1 > Look up $ in the dictionary for further information. > >> Craig >> >>> On Mar 21, 2024, at 6:58 PM, Bob Sneidar via use-livecode wrote: >>> >>> Wow I just read that and it didn’t even make sense to me! >>> >>> Basically with Windows, dragging a file onto a taskbar icon only adds the file to the icon’s Pinned items. Dragging a file onto an open window of an App will try and open the file in that app. If the app’s window(s) are hidden, dragging and hovering over the app’s shortcut will cause the app to show it’s window(s) whereupon you can drop the file onto the open window. >>> >>> Bob S >>> >>> >>> On Mar 21, 2024, at 3:46 PM, Bob Sneidar via use-livecode wrote: >>> >>> Does it have to be the icon? If I drag a file onto an app in the Windows Tack Bar it does nothing, even if the file belongs to the app I am dragging the file onto. If however I HOVER on the icon and the app is running, it will bring the app to the front and show the frontmost window if it is hidden. >>> >>> If I drag the file onto the open Window, the app will open it. Case in point, drag an Excel spreadsheet onto the Excel icon in the task bar. All it will do is add a shortcut to the Excel icon for that file. But launch Excel, open a blank spreadsheet, then drag an excel file onto the icon, hover, then drop onto the blank Excel Spreadsheet. In THIS case it will open the spreadsheet in a new window. >>> >>> Because of this you may be able to use a Drag / Drop handler in your card script. The caveat is that the card itself will not accept a drag/drop action, but if you drag anything on top of an actual object, THEN the card will get the message. >>> >>> So to handle this, add an opaque rectangle the size of the card behind everything else (if the opacity is set to 99 it will appear transparent for all intents and purposes). The rectangle (or any other object on the card that doesn’t have a dragDrop handler) will get the message and it will fall through to the card where you can handle it. >>> >>> This in my card script: >>> >>> on dragEnter >>> set the dragAction to "link" -- for files >>> pass dragEnter >>> end dragEnter >>> >>> on dragDrop >>> put the dragData into tDragData >>> set the dragData to empty >>> -- do something with tDragData >>> end dragDrop > > Best > > Klaus > > -- > Klaus Major > https://www.major-k.de > https://www.major-k.de/bass > klaus at major-k.de > > > _______________________________________________ > 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 From neville.smythe at optusnet.com.au Sun Mar 24 05:45:05 2024 From: neville.smythe at optusnet.com.au (Neville Smythe) Date: Sun, 24 Mar 2024 20:45:05 +1100 Subject: FindIndex question Message-ID: <1AC244C2-FAA2-4834-B882-6B4D1CB31B88@optusnet.com.au> I am using FindIndex on a dataGrid dispatch "FindIndex" to tDataGrid with pKey, pSearchingString and I can pass multiple pKey, pSearchingString pairs such as “col1",pSearchStr1,”col2”,pSearchStr2 as cited in the dictionary entry But there is also a rather cryptic note at the end of the FindIndex dictionary entry Note that pKey can also be an array if you want to use array-valued array indexing to locate pSearchingString. I took that to mean one could set up an array pKey with values such as pKey[“col1”]=pSearchStr1, pKey[“col2”]=pSearchStr2 and then just pass the pKey array. But that doesn’t work. Neither does using two indexed arrays pKey and pSearchStr with pKey[1]=“col1”, pSearchStr[1]=pSearchStr1,pKey[2]=“col2”, pSearchStr[2]=pSearchStr2 Anyone know what it does mean? Neville Smythe From MikeKerner at roadrunner.com Sun Mar 24 10:02:27 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Sun, 24 Mar 2024 10:02:27 -0400 Subject: FindIndex question In-Reply-To: <1AC244C2-FAA2-4834-B882-6B4D1CB31B88@optusnet.com.au> References: <1AC244C2-FAA2-4834-B882-6B4D1CB31B88@optusnet.com.au> Message-ID: i don't know if you dove into the code, but it's too early to think about unpacking this, so here's the code: *## pSearchA is array-valued index for accessing sDataArray* *## pSearchA[1] = key_1* *## pSearchA[2] = key_2* *command* FindIndex pKeyIndexA, pSearchString *--, ...* *-----* *local* foundAMatch, theFoundIndex *local* i *local* theIndex *-----* *repeat* for each key theIndex in sDataArray *## Developer can pass in multiple search strings to perform an AND search* *repeat* with i = 1 to the paramCount step 2 *if* sDataArray[theIndex][param(i)] is param(i+1) *then* *put* true into foundAMatch *else* *put* false into foundAMatch *end* *if* *## AND search didn't pan out. Move on to next index.* *if* not foundAMatch *then* *exit* *repeat* *end* *repeat* *if* foundAMatch *then* *put* theIndex into theFoundIndex *exit* *repeat* *end* *if* *end* *repeat* *return* max(0, theFoundIndex) *end* FindIndex On Sun, Mar 24, 2024 at 5:46 AM Neville Smythe via use-livecode < use-livecode at lists.runrev.com> wrote: > I am using FindIndex on a dataGrid > > dispatch "FindIndex" to tDataGrid with pKey, pSearchingString > > and I can pass multiple pKey, pSearchingString pairs such as > “col1",pSearchStr1,”col2”,pSearchStr2 as cited in the dictionary entry > > But there is also a rather cryptic note at the end of the FindIndex > dictionary entry > > Note that pKey can also be an array if you want to use array-valued > array indexing to locate pSearchingString. > > I took that to mean one could set up an array pKey with values such as > pKey[“col1”]=pSearchStr1, pKey[“col2”]=pSearchStr2 > and then just pass the pKey array. But that doesn’t work. > > Neither does using two indexed arrays pKey and pSearchStr with > pKey[1]=“col1”, pSearchStr[1]=pSearchStr1,pKey[2]=“col2”, > pSearchStr[2]=pSearchStr2 > > Anyone know what it does mean? > > > Neville Smythe > > > > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From neville.smythe at optusnet.com.au Sun Mar 24 17:22:02 2024 From: neville.smythe at optusnet.com.au (Neville Smythe) Date: Mon, 25 Mar 2024 08:22:02 +1100 Subject: FindIndex question In-Reply-To: References: Message-ID: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> > On 25 Mar 2024, at 3:00 am,Mike Kerner wrote: > > i don't know if you dove into the code, but it's too early to think about > unpacking this, so here's the code: ... Thanks Mike While I was aware of the optional parameters feature of LC commands I have never used it I so was unfamiliar with the syntax. The penny had never dropped that the parameter list for a command is just an array, so evidently you can actually send an array instead of a comma delimited list Which means that you can send FindIndex a single parameter pKeyPairsA which is an array with alternating colName,searchStr values Setting up such an array is not particularly convenient for coding however. My workaround had been to use a custom function hack function myFindIndex pDataGrid, pKeyPairs — pKeyPairs is a comma delimited list such as “colname1,str1,colname2,str2,..” replace comma with quote & comma & quote in pKeyPairs put “dispatch FindIndex to” && pDataGrid && “with” && quote & pKeyPairs & quote into tCommandStr do tCommandstr put the result into tFoundIndex ... A much more elegant (if probably no faster) solution is function myFindIndex pDataGrid, pKeyPairs — pKeyPairs is a comma delimited list such as “colname1,str1,colname2,str2,..” set the columnDelimiter to comma split pKeyPairs by column dispatch “FindIndex" to pDataGrid with pKeyPairs put the result into tFoundIndex ... BTW, where did you find the source code for DataGrid handlers? I now see how one could write a FindIndices function to return all indices rather than just the first found … or even a general WHERE search :-) Neville Smythe From MikeKerner at roadrunner.com Sun Mar 24 21:59:05 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Sun, 24 Mar 2024 21:59:05 -0400 Subject: FindIndex question In-Reply-To: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> References: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> Message-ID: it's in the behavior of the dg you can also go digging through the OSS repo, if you like. On Sun, Mar 24, 2024 at 5:23 PM Neville Smythe via use-livecode < use-livecode at lists.runrev.com> wrote: > > > On 25 Mar 2024, at 3:00 am,Mike Kerner wrote: > > > > i don't know if you dove into the code, but it's too early to think about > > unpacking this, so here's the code: ... > > Thanks Mike > > While I was aware of the optional parameters feature of LC commands I have > never used it I so was unfamiliar with the syntax. The penny had never > dropped that the parameter list for a command is just an array, so > evidently you can actually send an array instead of a comma delimited list > > Which means that you can send FindIndex a single parameter pKeyPairsA > which is an array with alternating colName,searchStr values > > Setting up such an array is not particularly convenient for coding > however. My workaround had been to use a custom function hack > > function myFindIndex pDataGrid, pKeyPairs > — pKeyPairs is a comma delimited list such as > “colname1,str1,colname2,str2,..” > > replace comma with quote & comma & quote in pKeyPairs > put “dispatch FindIndex to” && pDataGrid && “with” && quote & > pKeyPairs & quote into tCommandStr > do tCommandstr > put the result into tFoundIndex > ... > > A much more elegant (if probably no faster) solution is > > function myFindIndex pDataGrid, pKeyPairs > — pKeyPairs is a comma delimited list such as > “colname1,str1,colname2,str2,..” > > set the columnDelimiter to comma > split pKeyPairs by column > dispatch “FindIndex" to pDataGrid with pKeyPairs > put the result into tFoundIndex > ... > > > BTW, where did you find the source code for DataGrid handlers? I now see > how one could write a FindIndices function to return all indices rather > than just the first found … or even a general WHERE search :-) > > Neville Smythe > > > > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From MikeKerner at roadrunner.com Sun Mar 24 22:03:14 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Sun, 24 Mar 2024 22:03:14 -0400 Subject: FindIndex question In-Reply-To: References: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> Message-ID: just to sanitycheck myself, i opened 9.6.9, created a new stack, and added a dg to it. then i fired up the pb. expand the card, and you'll see the dg. there are two behaviors assigned to the dg. the first is button id 1005 of stack "revDataGridLibrary" which has, as its behavior, stack "RevDataGridLibraryBehaviorsDataGridButtonBehavior" On Sun, Mar 24, 2024 at 9:59 PM Mike Kerner wrote: > it's in the behavior of the dg > you can also go digging through the OSS repo, if you like. > > > On Sun, Mar 24, 2024 at 5:23 PM Neville Smythe via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> >> > On 25 Mar 2024, at 3:00 am,Mike Kerner wrote: >> > >> > i don't know if you dove into the code, but it's too early to think >> about >> > unpacking this, so here's the code: ... >> >> Thanks Mike >> >> While I was aware of the optional parameters feature of LC commands I >> have never used it I so was unfamiliar with the syntax. The penny had never >> dropped that the parameter list for a command is just an array, so >> evidently you can actually send an array instead of a comma delimited list >> >> Which means that you can send FindIndex a single parameter pKeyPairsA >> which is an array with alternating colName,searchStr values >> >> Setting up such an array is not particularly convenient for coding >> however. My workaround had been to use a custom function hack >> >> function myFindIndex pDataGrid, pKeyPairs >> — pKeyPairs is a comma delimited list such as >> “colname1,str1,colname2,str2,..” >> >> replace comma with quote & comma & quote in pKeyPairs >> put “dispatch FindIndex to” && pDataGrid && “with” && quote & >> pKeyPairs & quote into tCommandStr >> do tCommandstr >> put the result into tFoundIndex >> ... >> >> A much more elegant (if probably no faster) solution is >> >> function myFindIndex pDataGrid, pKeyPairs >> — pKeyPairs is a comma delimited list such as >> “colname1,str1,colname2,str2,..” >> >> set the columnDelimiter to comma >> split pKeyPairs by column >> dispatch “FindIndex" to pDataGrid with pKeyPairs >> put the result into tFoundIndex >> ... >> >> >> BTW, where did you find the source code for DataGrid handlers? I now see >> how one could write a FindIndices function to return all indices rather >> than just the first found … or even a general WHERE search :-) >> >> Neville Smythe >> >> >> >> >> _______________________________________________ >> 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 >> > > > -- > On the first day, God created the heavens and the Earth > On the second day, God created the oceans. > On the third day, God put the animals on hold for a few hours, > and did a little diving. > And God said, "This is good." > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From bobsneidar at iotecdigital.com Mon Mar 25 11:15:22 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 25 Mar 2024 15:15:22 +0000 Subject: FindIndex question In-Reply-To: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> References: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> Message-ID: I wrote a findInArray() function that will convert an array to a memory based SQL database, and one of the arguments is the SQL query statement to use on the database. I have another called FilterArray() which simply iterates through the keys to output those matching a criteria. Bob S > On Mar 24, 2024, at 2:22 PM, Neville Smythe via use-livecode wrote: > > >> On 25 Mar 2024, at 3:00 am,Mike Kerner wrote: >> >> i don't know if you dove into the code, but it's too early to think about >> unpacking this, so here's the code: ... > > Thanks Mike > > While I was aware of the optional parameters feature of LC commands I have never used it I so was unfamiliar with the syntax. The penny had never dropped that the parameter list for a command is just an array, so evidently you can actually send an array instead of a comma delimited list > > Which means that you can send FindIndex a single parameter pKeyPairsA which is an array with alternating colName,searchStr values > > Setting up such an array is not particularly convenient for coding however. My workaround had been to use a custom function hack > > function myFindIndex pDataGrid, pKeyPairs > — pKeyPairs is a comma delimited list such as “colname1,str1,colname2,str2,..” > > replace comma with quote & comma & quote in pKeyPairs > put “dispatch FindIndex to” && pDataGrid && “with” && quote & pKeyPairs & quote into tCommandStr > do tCommandstr > put the result into tFoundIndex > ... > > A much more elegant (if probably no faster) solution is > > function myFindIndex pDataGrid, pKeyPairs > — pKeyPairs is a comma delimited list such as “colname1,str1,colname2,str2,..” > > set the columnDelimiter to comma > split pKeyPairs by column > dispatch “FindIndex" to pDataGrid with pKeyPairs > put the result into tFoundIndex > ... > > > BTW, where did you find the source code for DataGrid handlers? I now see how one could write a FindIndices function to return all indices rather than just the first found … or even a general WHERE search :-) > > Neville Smythe > > > > > _______________________________________________ > 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 From MikeKerner at roadrunner.com Mon Mar 25 13:34:06 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Mon, 25 Mar 2024 13:34:06 -0400 Subject: FindIndex question In-Reply-To: References: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> Message-ID: i would be curious to know if an in-memory sqlite db increases scroll speed with dg's. basically, you would live load the dg with pages from the db. i can't imagine that the dg is faster than the pg. everything i've tried with the pg is faster than the dg. just one more reason to resurrect the script compiler and release it. On Mon, Mar 25, 2024 at 11:16 AM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > I wrote a findInArray() function that will convert an array to a memory > based SQL database, and one of the arguments is the SQL query statement to > use on the database. I have another called FilterArray() which simply > iterates through the keys to output those matching a criteria. > > Bob S > > > On Mar 24, 2024, at 2:22 PM, Neville Smythe via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > > >> On 25 Mar 2024, at 3:00 am,Mike Kerner wrote: > >> > >> i don't know if you dove into the code, but it's too early to think > about > >> unpacking this, so here's the code: ... > > > > Thanks Mike > > > > While I was aware of the optional parameters feature of LC commands I > have never used it I so was unfamiliar with the syntax. The penny had never > dropped that the parameter list for a command is just an array, so > evidently you can actually send an array instead of a comma delimited list > > > > Which means that you can send FindIndex a single parameter pKeyPairsA > which is an array with alternating colName,searchStr values > > > > Setting up such an array is not particularly convenient for coding > however. My workaround had been to use a custom function hack > > > > function myFindIndex pDataGrid, pKeyPairs > > — pKeyPairs is a comma delimited list such as > “colname1,str1,colname2,str2,..” > > > > replace comma with quote & comma & quote in pKeyPairs > > put “dispatch FindIndex to” && pDataGrid && “with” && quote & > pKeyPairs & quote into tCommandStr > > do tCommandstr > > put the result into tFoundIndex > > ... > > > > A much more elegant (if probably no faster) solution is > > > > function myFindIndex pDataGrid, pKeyPairs > > — pKeyPairs is a comma delimited list such as > “colname1,str1,colname2,str2,..” > > > > set the columnDelimiter to comma > > split pKeyPairs by column > > dispatch “FindIndex" to pDataGrid with pKeyPairs > > put the result into tFoundIndex > > ... > > > > > > BTW, where did you find the source code for DataGrid handlers? I now see > how one could write a FindIndices function to return all indices rather > than just the first found … or even a general WHERE search :-) > > > > Neville Smythe > > > > > > > > > > _______________________________________________ > > 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 > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From bobsneidar at iotecdigital.com Mon Mar 25 14:07:20 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 25 Mar 2024 18:07:20 +0000 Subject: FindIndex question In-Reply-To: References: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> Message-ID: I’ve thought about that. A temporary memory database would not appear to the user to be faster, as the initial query for a large dataset will happen all at once during which Livecode would be unresponsive. And if you page the queries from the live database, re-storing the data in a memory database would just be added time. You could use send in time to cache forward and backwards a few pages, and in that case a memory database could help, but if the user drags the elevator box (how many people know what THAT is) then you go back to square 1 concerning efficiency. Bob S > On Mar 25, 2024, at 10:34 AM, Mike Kerner via use-livecode wrote: > > i would be curious to know if an in-memory sqlite db increases scroll speed > with dg's. > basically, you would live load the dg with pages from the db. > i can't imagine that the dg is faster than the pg. everything i've tried > with the pg is faster than the dg. > just one more reason to resurrect the script compiler and release it. > > On Mon, Mar 25, 2024 at 11:16 AM Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> I wrote a findInArray() function that will convert an array to a memory >> based SQL database, and one of the arguments is the SQL query statement to >> use on the database. I have another called FilterArray() which simply >> iterates through the keys to output those matching a criteria. >> >> Bob S >> >>> On Mar 24, 2024, at 2:22 PM, Neville Smythe via use-livecode < >> use-livecode at lists.runrev.com> wrote: >>> >>> >>>> On 25 Mar 2024, at 3:00 am,Mike Kerner wrote: >>>> >>>> i don't know if you dove into the code, but it's too early to think >> about >>>> unpacking this, so here's the code: ... >>> >>> Thanks Mike >>> >>> While I was aware of the optional parameters feature of LC commands I >> have never used it I so was unfamiliar with the syntax. The penny had never >> dropped that the parameter list for a command is just an array, so >> evidently you can actually send an array instead of a comma delimited list >>> >>> Which means that you can send FindIndex a single parameter pKeyPairsA >> which is an array with alternating colName,searchStr values >>> >>> Setting up such an array is not particularly convenient for coding >> however. My workaround had been to use a custom function hack >>> >>> function myFindIndex pDataGrid, pKeyPairs >>> — pKeyPairs is a comma delimited list such as >> “colname1,str1,colname2,str2,..” >>> >>> replace comma with quote & comma & quote in pKeyPairs >>> put “dispatch FindIndex to” && pDataGrid && “with” && quote & >> pKeyPairs & quote into tCommandStr >>> do tCommandstr >>> put the result into tFoundIndex >>> ... >>> >>> A much more elegant (if probably no faster) solution is >>> >>> function myFindIndex pDataGrid, pKeyPairs >>> — pKeyPairs is a comma delimited list such as >> “colname1,str1,colname2,str2,..” >>> >>> set the columnDelimiter to comma >>> split pKeyPairs by column >>> dispatch “FindIndex" to pDataGrid with pKeyPairs >>> put the result into tFoundIndex >>> ... >>> >>> >>> BTW, where did you find the source code for DataGrid handlers? I now see >> how one could write a FindIndices function to return all indices rather >> than just the first found … or even a general WHERE search :-) >>> >>> Neville Smythe >>> >>> >>> >>> >>> _______________________________________________ >>> 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 >> >> _______________________________________________ >> 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 >> > > > -- > On the first day, God created the heavens and the Earth > On the second day, God created the oceans. > On the third day, God put the animals on hold for a few hours, > and did a little diving. > And God said, "This is good." > _______________________________________________ > 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 From MikeKerner at roadrunner.com Mon Mar 25 14:48:47 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Mon, 25 Mar 2024 14:48:47 -0400 Subject: FindIndex question In-Reply-To: References: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> Message-ID: i never heard of it called an "elevator". I anyways heard "thumb" On Mon, Mar 25, 2024 at 2:08 PM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > I’ve thought about that. A temporary memory database would not appear to > the user to be faster, as the initial query for a large dataset will happen > all at once during which Livecode would be unresponsive. And if you page > the queries from the live database, re-storing the data in a memory > database would just be added time. > > You could use send in time to cache forward and backwards a few pages, and > in that case a memory database could help, but if the user drags the > elevator box (how many people know what THAT is) then you go back to square > 1 concerning efficiency. > > Bob S > > > > On Mar 25, 2024, at 10:34 AM, Mike Kerner via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > i would be curious to know if an in-memory sqlite db increases scroll > speed > > with dg's. > > basically, you would live load the dg with pages from the db. > > i can't imagine that the dg is faster than the pg. everything i've tried > > with the pg is faster than the dg. > > just one more reason to resurrect the script compiler and release it. > > > > On Mon, Mar 25, 2024 at 11:16 AM Bob Sneidar via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > >> I wrote a findInArray() function that will convert an array to a memory > >> based SQL database, and one of the arguments is the SQL query statement > to > >> use on the database. I have another called FilterArray() which simply > >> iterates through the keys to output those matching a criteria. > >> > >> Bob S > >> > >>> On Mar 24, 2024, at 2:22 PM, Neville Smythe via use-livecode < > >> use-livecode at lists.runrev.com> wrote: > >>> > >>> > >>>> On 25 Mar 2024, at 3:00 am,Mike Kerner wrote: > >>>> > >>>> i don't know if you dove into the code, but it's too early to think > >> about > >>>> unpacking this, so here's the code: ... > >>> > >>> Thanks Mike > >>> > >>> While I was aware of the optional parameters feature of LC commands I > >> have never used it I so was unfamiliar with the syntax. The penny had > never > >> dropped that the parameter list for a command is just an array, so > >> evidently you can actually send an array instead of a comma delimited > list > >>> > >>> Which means that you can send FindIndex a single parameter pKeyPairsA > >> which is an array with alternating colName,searchStr values > >>> > >>> Setting up such an array is not particularly convenient for coding > >> however. My workaround had been to use a custom function hack > >>> > >>> function myFindIndex pDataGrid, pKeyPairs > >>> — pKeyPairs is a comma delimited list such as > >> “colname1,str1,colname2,str2,..” > >>> > >>> replace comma with quote & comma & quote in pKeyPairs > >>> put “dispatch FindIndex to” && pDataGrid && “with” && quote & > >> pKeyPairs & quote into tCommandStr > >>> do tCommandstr > >>> put the result into tFoundIndex > >>> ... > >>> > >>> A much more elegant (if probably no faster) solution is > >>> > >>> function myFindIndex pDataGrid, pKeyPairs > >>> — pKeyPairs is a comma delimited list such as > >> “colname1,str1,colname2,str2,..” > >>> > >>> set the columnDelimiter to comma > >>> split pKeyPairs by column > >>> dispatch “FindIndex" to pDataGrid with pKeyPairs > >>> put the result into tFoundIndex > >>> ... > >>> > >>> > >>> BTW, where did you find the source code for DataGrid handlers? I now > see > >> how one could write a FindIndices function to return all indices rather > >> than just the first found … or even a general WHERE search :-) > >>> > >>> Neville Smythe > >>> > >>> > >>> > >>> > >>> _______________________________________________ > >>> 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 > >> > >> _______________________________________________ > >> 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 > >> > > > > > > -- > > On the first day, God created the heavens and the Earth > > On the second day, God created the oceans. > > On the third day, God put the animals on hold for a few hours, > > and did a little diving. > > And God said, "This is good." > > _______________________________________________ > > 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 > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From MikeKerner at roadrunner.com Mon Mar 25 14:50:18 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Mon, 25 Mar 2024 14:50:18 -0400 Subject: FindIndex question In-Reply-To: References: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> Message-ID: i guess what i'm wondering is how quickly or slowly the dg will render, if the dgArray is large. it seems to be slower, when the array is larger. On Mon, Mar 25, 2024 at 2:48 PM Mike Kerner wrote: > i never heard of it called an "elevator". I anyways heard "thumb" > > On Mon, Mar 25, 2024 at 2:08 PM Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> I’ve thought about that. A temporary memory database would not appear to >> the user to be faster, as the initial query for a large dataset will happen >> all at once during which Livecode would be unresponsive. And if you page >> the queries from the live database, re-storing the data in a memory >> database would just be added time. >> >> You could use send in time to cache forward and backwards a few pages, >> and in that case a memory database could help, but if the user drags the >> elevator box (how many people know what THAT is) then you go back to square >> 1 concerning efficiency. >> >> Bob S >> >> >> > On Mar 25, 2024, at 10:34 AM, Mike Kerner via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> > >> > i would be curious to know if an in-memory sqlite db increases scroll >> speed >> > with dg's. >> > basically, you would live load the dg with pages from the db. >> > i can't imagine that the dg is faster than the pg. everything i've tried >> > with the pg is faster than the dg. >> > just one more reason to resurrect the script compiler and release it. >> > >> > On Mon, Mar 25, 2024 at 11:16 AM Bob Sneidar via use-livecode < >> > use-livecode at lists.runrev.com> wrote: >> > >> >> I wrote a findInArray() function that will convert an array to a memory >> >> based SQL database, and one of the arguments is the SQL query >> statement to >> >> use on the database. I have another called FilterArray() which simply >> >> iterates through the keys to output those matching a criteria. >> >> >> >> Bob S >> >> >> >>> On Mar 24, 2024, at 2:22 PM, Neville Smythe via use-livecode < >> >> use-livecode at lists.runrev.com> wrote: >> >>> >> >>> >> >>>> On 25 Mar 2024, at 3:00 am,Mike Kerner wrote: >> >>>> >> >>>> i don't know if you dove into the code, but it's too early to think >> >> about >> >>>> unpacking this, so here's the code: ... >> >>> >> >>> Thanks Mike >> >>> >> >>> While I was aware of the optional parameters feature of LC commands I >> >> have never used it I so was unfamiliar with the syntax. The penny had >> never >> >> dropped that the parameter list for a command is just an array, so >> >> evidently you can actually send an array instead of a comma delimited >> list >> >>> >> >>> Which means that you can send FindIndex a single parameter pKeyPairsA >> >> which is an array with alternating colName,searchStr values >> >>> >> >>> Setting up such an array is not particularly convenient for coding >> >> however. My workaround had been to use a custom function hack >> >>> >> >>> function myFindIndex pDataGrid, pKeyPairs >> >>> — pKeyPairs is a comma delimited list such as >> >> “colname1,str1,colname2,str2,..” >> >>> >> >>> replace comma with quote & comma & quote in pKeyPairs >> >>> put “dispatch FindIndex to” && pDataGrid && “with” && quote & >> >> pKeyPairs & quote into tCommandStr >> >>> do tCommandstr >> >>> put the result into tFoundIndex >> >>> ... >> >>> >> >>> A much more elegant (if probably no faster) solution is >> >>> >> >>> function myFindIndex pDataGrid, pKeyPairs >> >>> — pKeyPairs is a comma delimited list such as >> >> “colname1,str1,colname2,str2,..” >> >>> >> >>> set the columnDelimiter to comma >> >>> split pKeyPairs by column >> >>> dispatch “FindIndex" to pDataGrid with pKeyPairs >> >>> put the result into tFoundIndex >> >>> ... >> >>> >> >>> >> >>> BTW, where did you find the source code for DataGrid handlers? I now >> see >> >> how one could write a FindIndices function to return all indices rather >> >> than just the first found … or even a general WHERE search :-) >> >>> >> >>> Neville Smythe >> >>> >> >>> >> >>> >> >>> >> >>> _______________________________________________ >> >>> 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 >> >> >> >> _______________________________________________ >> >> 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 >> >> >> > >> > >> > -- >> > On the first day, God created the heavens and the Earth >> > On the second day, God created the oceans. >> > On the third day, God put the animals on hold for a few hours, >> > and did a little diving. >> > And God said, "This is good." >> > _______________________________________________ >> > 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 >> >> _______________________________________________ >> 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 >> > > > -- > On the first day, God created the heavens and the Earth > On the second day, God created the oceans. > On the third day, God put the animals on hold for a few hours, > and did a little diving. > And God said, "This is good." > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From alex at tweedly.net Mon Mar 25 18:06:49 2024 From: alex at tweedly.net (Alex Tweedly) Date: Mon, 25 Mar 2024 22:06:49 +0000 Subject: FindIndex question In-Reply-To: References: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> Message-ID: <5dfb831c-f08d-41f0-8363-e8717918a067@tweedly.net> Bob - I think you've mentioned these functions (and posted code, or a pointer to code, for them) before (but I couldn't find it). Any chance you could re-post (or just send to me, or ...) Mike - I couldn't see in the thread *why* you want to use a dg ather than a pg ? Is there a missing capability you need ? Or some non-obvious (to me) reason to avoid pg? Thanks, Alex. On 25/03/2024 18:50, Mike Kerner via use-livecode wrote: > i guess what i'm wondering is how quickly or slowly the dg will render, if > the dgArray is large. it seems to be slower, when the array is larger. > > On Mon, Mar 25, 2024 at 2:48PM Mike Kerner > wrote: > >> i never heard of it called an "elevator". I anyways heard "thumb" >> >> On Mon, Mar 25, 2024 at 2:08PM Bob Sneidar via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >>> Ive thought about that. A temporary memory database would not appear to >>> the user to be faster, as the initial query for a large dataset will happen >>> all at once during which Livecode would be unresponsive. And if you page >>> the queries from the live database, re-storing the data in a memory >>> database would just be added time. >>> >>> You could use send in time to cache forward and backwards a few pages, >>> and in that case a memory database could help, but if the user drags the >>> elevator box (how many people know what THAT is) then you go back to square >>> 1 concerning efficiency. >>> >>> Bob S >>> >>> >>>> On Mar 25, 2024, at 10:34 AM, Mike Kerner via use-livecode < >>> use-livecode at lists.runrev.com> wrote: >>>> i would be curious to know if an in-memory sqlite db increases scroll >>> speed >>>> with dg's. >>>> basically, you would live load the dg with pages from the db. >>>> i can't imagine that the dg is faster than the pg. everything i've tried >>>> with the pg is faster than the dg. >>>> just one more reason to resurrect the script compiler and release it. >>>> >>>> On Mon, Mar 25, 2024 at 11:16AM Bob Sneidar via use-livecode < >>>> use-livecode at lists.runrev.com> wrote: >>>> >>>>> I wrote a findInArray() function that will convert an array to a memory >>>>> based SQL database, and one of the arguments is the SQL query >>> statement to >>>>> use on the database. I have another called FilterArray() which simply >>>>> iterates through the keys to output those matching a criteria. >>>>> >>>>> Bob S >>>>> >>>>>> On Mar 24, 2024, at 2:22 PM, Neville Smythe via use-livecode < >>>>> use-livecode at lists.runrev.com> wrote: >>>>>> >>>>>>> On 25 Mar 2024, at 3:00 am,Mike Kerner wrote: >>>>>>> >>>>>>> i don't know if you dove into the code, but it's too early to think >>>>> about >>>>>>> unpacking this, so here's the code: ... >>>>>> Thanks Mike >>>>>> >>>>>> While I was aware of the optional parameters feature of LC commands I >>>>> have never used it I so was unfamiliar with the syntax. The penny had >>> never >>>>> dropped that the parameter list for a command is just an array, so >>>>> evidently you can actually send an array instead of a comma delimited >>> list >>>>>> Which means that you can send FindIndex a single parameter pKeyPairsA >>>>> which is an array with alternating colName,searchStr values >>>>>> Setting up such an array is not particularly convenient for coding >>>>> however. My workaround had been to use a custom function hack >>>>>> function myFindIndex pDataGrid, pKeyPairs >>>>>> pKeyPairs is a comma delimited list such as >>>>> colname1,str1,colname2,str2,.. >>>>>> replace comma with quote & comma & quote in pKeyPairs >>>>>> put dispatch FindIndex to && pDataGrid && with && quote & >>>>> pKeyPairs & quote into tCommandStr >>>>>> do tCommandstr >>>>>> put the result into tFoundIndex >>>>>> ... >>>>>> >>>>>> A much more elegant (if probably no faster) solution is >>>>>> >>>>>> function myFindIndex pDataGrid, pKeyPairs >>>>>> pKeyPairs is a comma delimited list such as >>>>> colname1,str1,colname2,str2,.. >>>>>> set the columnDelimiter to comma >>>>>> split pKeyPairs by column >>>>>> dispatch FindIndex" to pDataGrid with pKeyPairs >>>>>> put the result into tFoundIndex >>>>>> ... >>>>>> >>>>>> >>>>>> BTW, where did you find the source code for DataGrid handlers? I now >>> see >>>>> how one could write a FindIndices function to return all indices rather >>>>> than just the first found or even a general WHERE search :-) >>>>>> Neville Smythe >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> 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 >>>>> _______________________________________________ >>>>> 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 >>>>> >>>> >>>> -- >>>> On the first day, God created the heavens and the Earth >>>> On the second day, God created the oceans. >>>> On the third day, God put the animals on hold for a few hours, >>>> and did a little diving. >>>> And God said, "This is good." >>>> _______________________________________________ >>>> 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 >>> _______________________________________________ >>> 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 >>> >> >> -- >> On the first day, God created the heavens and the Earth >> On the second day, God created the oceans. >> On the third day, God put the animals on hold for a few hours, >> and did a little diving. >> And God said, "This is good." >> > From bobsneidar at iotecdigital.com Mon Mar 25 18:39:54 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 25 Mar 2024 22:39:54 +0000 Subject: FindIndex question In-Reply-To: <5dfb831c-f08d-41f0-8363-e8717918a067@tweedly.net> References: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> <5dfb831c-f08d-41f0-8363-e8717918a067@tweedly.net> Message-ID: <9B1A61B1-F178-4FA8-B030-8D2AA82BC3F7@iotecdigital.com> This is the code with a couple of dependencies. I think that’s all the fiddlybits. If I missed something let me know. Bob S function filterArray pArrayDataA, pConditions put the defaultFolder & "/" & "tempdatabase.db" into tDBName put arrayToSQLite(pArrayDataA, tDBName, "arraydata") into tDBID put "select * from arraydata where" && pConditions into tQueryString try put revQueryDatabase(tDBID, tQueryString) into tCursorID put cursorToArray(tCursorID) into tFilteredDataA return tFilteredDataA catch tError return empty end try end filterArray FUNCTION arrayToSQLite pArrayDataA, pDBFile, pDBName, pDBID, pBinaryColumns — The only argument required is pArrayData. Defaults will be used for the rest put the keys of pArrayDataA into tArrayKeys sort tArrayKeys numeric ascending IF pDBFile is empty THEN put ":memory:" into pDBFile IF pDBName is empty THEN put "arraydata" into pDBName TRY if pDBID is empty then \ put revOpenDatabase("sqlite", pDBFile) into pDBID IF "Error" is in pDBID THEN return empty END IF -- attempt to set the encoding put "PRAGMA encoding = 'UTF-16'" into tSQL revExecuteSQL pDBID, tSQL -- attempt to drop the table put "drop table " & pDBName into tDropSQL revExecuteSQL pDBID, tDropSQL put the result into tResult CATCH tError answer tError IF the environment is "development" THEN exit to top ELSE quit END TRY -- create the table put "create table" && quote & pDBName & quote \ & cr into tCreateCommand put "(" & quote & "recordid" & quote && "NUMERIC PRIMARY KEY UNIQUE, " \ & cr AFTER tCreateCommand put the keys of pArrayDataA [1] into tRecordKeyList filter lines of tRecordKeyList without "recordid" REPEAT for each line tRecordKey in tRecordKeyList if pArrayDataA [1] [tRecordKey] is an array or \ pArrayDataA [1] [tRecordKey] begins with "Salted__" then put "BLOB" into tColumnType else put VARCHAR into tColumnType end if put quote & tRecordKey & quote && tColumnType & "," && cr AFTER tCreateCommand END REPEAT delete char -3 to -1 of tCreateCommand put ")" AFTER tCreateCommand TRY revExecuteSQL pDBID, tCreateCommand put the result into tResult IF tResult is not 0 THEN breakpoint CATCH tError breakpoint END TRY put 1 into tRecordCounter put "recordid" & cr & tRecordKeyList into tColumns repeat with i = 1 to the number of lines of tColumns put ":" & i into item i of tColumnList end repeat put "(" & tColumnList & ")" into tColumnList -- insert data REPEAT for each line tKey in tArrayKeys put 1 into tColumnCounter put pArrayDataA [tKey] into tRecordDataA put tRecordCounter into tQueryDataA [1] REPEAT for each line tRecordKey in tRecordKeyList add 1 to tColumnCounter if tRecordDataA [tRecordKey] is an array then put arrayEncode(tRecordDataA [tRecordKey]) into tValue else put tRecordDataA [tRecordKey] into tValue end if put tValue into tQueryDataA [tColumnCounter] END REPEAT put "insert into" && pDBName && "VALUES" && tColumnList into tInsertSQL TRY revExecuteSQL pDBID, tInsertSQL, "tQueryDataA" put the result into tResult if the result is not a number then breakpoint CATCH tError breakpoint END TRY add 1 to tRecordCounter END REPEAT return pDBID END arrayToSQLite FUNCTION cursorToArray pCursorID put revNumberOfRecords(pCursorID) into tNumberOfRecords if tNumberOfRecords = 0 then \ return empty put revDatabaseColumnCount(pCursorID) into tColumnCount put revDatabaseColumnNames(pCursorID) into tColumnNames REPEAT forever add 1 to tRecordCount REPEAT with i = 1 to tColumnCount put revDatabaseColumnNumbered(pCursorID, i) into tColumnValue put tColumnValue into aCursorArray [tRecordCount] [item i of tColumnNames] END REPEAT revMoveToNextRecord pCursorID if revQueryIsAtEnd(pCursorID) then \ exit repeat END REPEAT return aCursorArray END cursorToArray > On Mar 25, 2024, at 3:06 PM, Alex Tweedly via use-livecode wrote: > > Bob - I think you've mentioned these functions (and posted code, or a pointer to code, for them) before (but I couldn't find it). Any chance you could re-post (or just send to me, or ...) > > Mike - I couldn't see in the thread *why* you want to use a dg ather than a pg ? Is there a missing capability you need ? Or some non-obvious (to me) reason to avoid pg? > > Thanks, > > Alex. > From selander at tkf.att.ne.jp Tue Mar 26 01:14:17 2024 From: selander at tkf.att.ne.jp (Tim Selander) Date: Tue, 26 Mar 2024 14:14:17 +0900 Subject: Tutorial for Livecode Server log in system Message-ID: <3f95b490-af44-2641-7211-d5823a0c97ef@tkf.att.ne.jp> Hi all. As a hobbiest/amateur I continue to plunk away with Livecode, mostly the server product in my on-rev account. Can anyone point me to a tutorial or sample of an online log in system (username, email and password) for a website using Livecode? I've found some php tutorials, and /think/ I could glean enough hints to roll my own in LC server, but would greatly prefer to start with LC itself! Any help appreciated! Tim Selander Japan From pxrossello at gmail.com Tue Mar 26 07:45:38 2024 From: pxrossello at gmail.com (pere xavier Rossello) Date: Tue, 26 Mar 2024 12:45:38 +0100 Subject: Tutorial for Livecode Server log in system In-Reply-To: <3f95b490-af44-2641-7211-d5823a0c97ef@tkf.att.ne.jp> References: <3f95b490-af44-2641-7211-d5823a0c97ef@tkf.att.ne.jp> Message-ID: Hi. To make online log in is quit easy in livecode. first you need a webpage with a form asking username, email and password ) and submit to a livecode script

--- method can be to types get or post - normally I use Get this will send username and pass to tloging.lc script and the livecode code script ------------------------- " put "window.location='impr_pend.lc?t=impresion';" put "" end if if len(gUsr)<2 or len(gPass)<2 then put "" end if put revOpenDatabase ("mysql", "localhost:3363","reparacion","gsmmax","11*Endimion_grd") into gDbId --put revdb_execute(gDbId, tSQL, "") into tResultado put "select pass,id,token from tecnicos where login='" & gUsr & "';" into tSQL put tSQL & "
" put revDataFromQuery(tab, return, gDbID, tSQL) into tRes set itemdelimiter to tab put item 1 of tRes into tPass put item 2 of tRes into tCod put item 3 of tRes into tToken El mar, 26 mar 2024 a las 6:15, Tim Selander via use-livecode (< use-livecode at lists.runrev.com>) escribió: > Hi all. > > As a hobbiest/amateur I continue to plunk away with Livecode, mostly the > server product in my on-rev account. > > Can anyone point me to a tutorial or sample of an online log in system > (username, email and password) for a website using Livecode? > > I've found some php tutorials, and /think/ I could glean enough hints to > roll my own in LC server, but would greatly prefer to start with LC itself! > > Any help appreciated! > > Tim Selander > Japan > > _______________________________________________ > 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 > From pxrossello at gmail.com Tue Mar 26 07:58:06 2024 From: pxrossello at gmail.com (pere xavier Rossello) Date: Tue, 26 Mar 2024 12:58:06 +0100 Subject: Tutorial for Livecode Server log in system In-Reply-To: References: <3f95b490-af44-2641-7211-d5823a0c97ef@tkf.att.ne.jp> Message-ID: cont ( make mistakes pushing tab on keyboard) full scrip " put "window.location='index.html?_e=Error_sin_login';" put "" end if -------------------- retrive pass from database put revOpenDatabase ("mysql", "localhost:3363","reparacion","gsmmax","11*Endimion_grd") into gDbId put "select pass,id,token from tecnicos where login='" & gUsr & "';" into tSQL put tSQL & "
" put revDataFromQuery(tab, return, gDbID, tSQL) into tRes set itemdelimiter to tab put item 1 of tRes into tPass put item 2 of tRes into tCod put item 3 of tRes into tToken if tPass <> gPass then -------------------------- error ----------------- put "" else ------------ Pass oK continue put "" end if revCloseDatabase gDbId ?> if someone want to try it: https://mpibox.com/rep/ login: user: test pass: admin if you need some help let me know. P.D. sorry for spelling mistakes. and other copy/paste El mar, 26 mar 2024 a las 12:45, pere xavier Rossello () escribió: > Hi. > > To make online log in is quit easy in livecode. > first you need a webpage with a form asking username, email and password ) > and submit to a livecode script >
enctype="text/plain"> > placeholder="Usuario" required> > required> > >
> --- method can be to types get or post - normally I use Get > this will send username and pass to tloging.lc script > > and the livecode code script > ------------------------- > put $_SERVER["REQUEST_METHOD"] into gMetodo > if gMetodo = "POST" then > put $_POST["login"] into gUsr > put $_POST["pass"] into gPass > put $_POST["tipo"] into gTipo > > else > put $_GET["login"] into gUsr > put $_GET["pass"] into gPass > put $_GET["tipo"] into gTipo > end if > if gPass = "print" and gUsr = "print" then > put "" > end if > if len(gUsr)<2 or len(gPass)<2 then > > put "" > end if > put revOpenDatabase ("mysql", > "localhost:3363","reparacion","gsmmax","11*Endimion_grd") into gDbId > > --put revdb_execute(gDbId, tSQL, "") into tResultado > put "select pass,id,token from tecnicos where login='" & gUsr & "';" into > tSQL > put tSQL & "
" > put revDataFromQuery(tab, return, gDbID, tSQL) into tRes > > set itemdelimiter to tab > put item 1 of tRes into tPass > put item 2 of tRes into tCod > put item 3 of tRes into tToken > > > > > > > > El mar, 26 mar 2024 a las 6:15, Tim Selander via use-livecode (< > use-livecode at lists.runrev.com>) escribió: > >> Hi all. >> >> As a hobbiest/amateur I continue to plunk away with Livecode, mostly the >> server product in my on-rev account. >> >> Can anyone point me to a tutorial or sample of an online log in system >> (username, email and password) for a website using Livecode? >> >> I've found some php tutorials, and /think/ I could glean enough hints to >> roll my own in LC server, but would greatly prefer to start with LC >> itself! >> >> Any help appreciated! >> >> Tim Selander >> Japan >> >> _______________________________________________ >> 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 >> > From MikeKerner at roadrunner.com Tue Mar 26 08:39:02 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Tue, 26 Mar 2024 08:39:02 -0400 Subject: FindIndex question In-Reply-To: <5dfb831c-f08d-41f0-8363-e8717918a067@tweedly.net> References: <3835BB42-E840-4243-B9F5-2C16E8A423A1@optusnet.com.au> <5dfb831c-f08d-41f0-8363-e8717918a067@tweedly.net> Message-ID: other way, alex. use the pg, not the dg, for now. BUT, here's a good reason to use the dg - you can fix issues with it. the source of the pg is closed, and you can't get at it, AFAIK. check the issue tracker for issues with it. you can't address them. please, no comments from the peanut gallery on the status of lcb. that's a separate problem. SO, if the script compiler was in the wild, i would expect the dg to be faster. would it be as fast as the pg? dunno. but, again, you could work on it. On Mon, Mar 25, 2024 at 6:07 PM Alex Tweedly via use-livecode < use-livecode at lists.runrev.com> wrote: > Bob - I think you've mentioned these functions (and posted code, or a > pointer to code, for them) before (but I couldn't find it). Any chance > you could re-post (or just send to me, or ...) > > Mike - I couldn't see in the thread *why* you want to use a dg ather > than a pg ? Is there a missing capability you need ? Or some non-obvious > (to me) reason to avoid pg? > > Thanks, > > Alex. > > On 25/03/2024 18:50, Mike Kerner via use-livecode wrote: > > i guess what i'm wondering is how quickly or slowly the dg will render, > if > > the dgArray is large. it seems to be slower, when the array is larger. > > > > On Mon, Mar 25, 2024 at 2:48 PM Mike Kerner > > wrote: > > > >> i never heard of it called an "elevator". I anyways heard "thumb" > >> > >> On Mon, Mar 25, 2024 at 2:08 PM Bob Sneidar via use-livecode < > >> use-livecode at lists.runrev.com> wrote: > >> > >>> I’ve thought about that. A temporary memory database would not appear > to > >>> the user to be faster, as the initial query for a large dataset will > happen > >>> all at once during which Livecode would be unresponsive. And if you > page > >>> the queries from the live database, re-storing the data in a memory > >>> database would just be added time. > >>> > >>> You could use send in time to cache forward and backwards a few pages, > >>> and in that case a memory database could help, but if the user drags > the > >>> elevator box (how many people know what THAT is) then you go back to > square > >>> 1 concerning efficiency. > >>> > >>> Bob S > >>> > >>> > >>>> On Mar 25, 2024, at 10:34 AM, Mike Kerner via use-livecode < > >>> use-livecode at lists.runrev.com> wrote: > >>>> i would be curious to know if an in-memory sqlite db increases scroll > >>> speed > >>>> with dg's. > >>>> basically, you would live load the dg with pages from the db. > >>>> i can't imagine that the dg is faster than the pg. everything i've > tried > >>>> with the pg is faster than the dg. > >>>> just one more reason to resurrect the script compiler and release it. > >>>> > >>>> On Mon, Mar 25, 2024 at 11:16 AM Bob Sneidar via use-livecode < > >>>> use-livecode at lists.runrev.com> wrote: > >>>> > >>>>> I wrote a findInArray() function that will convert an array to a > memory > >>>>> based SQL database, and one of the arguments is the SQL query > >>> statement to > >>>>> use on the database. I have another called FilterArray() which simply > >>>>> iterates through the keys to output those matching a criteria. > >>>>> > >>>>> Bob S > >>>>> > >>>>>> On Mar 24, 2024, at 2:22 PM, Neville Smythe via use-livecode < > >>>>> use-livecode at lists.runrev.com> wrote: > >>>>>> > >>>>>>> On 25 Mar 2024, at 3:00 am,Mike Kerner wrote: > >>>>>>> > >>>>>>> i don't know if you dove into the code, but it's too early to think > >>>>> about > >>>>>>> unpacking this, so here's the code: ... > >>>>>> Thanks Mike > >>>>>> > >>>>>> While I was aware of the optional parameters feature of LC commands > I > >>>>> have never used it I so was unfamiliar with the syntax. The penny had > >>> never > >>>>> dropped that the parameter list for a command is just an array, so > >>>>> evidently you can actually send an array instead of a comma delimited > >>> list > >>>>>> Which means that you can send FindIndex a single parameter > pKeyPairsA > >>>>> which is an array with alternating colName,searchStr values > >>>>>> Setting up such an array is not particularly convenient for coding > >>>>> however. My workaround had been to use a custom function hack > >>>>>> function myFindIndex pDataGrid, pKeyPairs > >>>>>> — pKeyPairs is a comma delimited list such as > >>>>> “colname1,str1,colname2,str2,..” > >>>>>> replace comma with quote & comma & quote in pKeyPairs > >>>>>> put “dispatch FindIndex to” && pDataGrid && “with” && quote & > >>>>> pKeyPairs & quote into tCommandStr > >>>>>> do tCommandstr > >>>>>> put the result into tFoundIndex > >>>>>> ... > >>>>>> > >>>>>> A much more elegant (if probably no faster) solution is > >>>>>> > >>>>>> function myFindIndex pDataGrid, pKeyPairs > >>>>>> — pKeyPairs is a comma delimited list such as > >>>>> “colname1,str1,colname2,str2,..” > >>>>>> set the columnDelimiter to comma > >>>>>> split pKeyPairs by column > >>>>>> dispatch “FindIndex" to pDataGrid with pKeyPairs > >>>>>> put the result into tFoundIndex > >>>>>> ... > >>>>>> > >>>>>> > >>>>>> BTW, where did you find the source code for DataGrid handlers? I now > >>> see > >>>>> how one could write a FindIndices function to return all indices > rather > >>>>> than just the first found … or even a general WHERE search :-) > >>>>>> Neville Smythe > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>> _______________________________________________ > >>>>>> 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 > >>>>> _______________________________________________ > >>>>> 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 > >>>>> > >>>> > >>>> -- > >>>> On the first day, God created the heavens and the Earth > >>>> On the second day, God created the oceans. > >>>> On the third day, God put the animals on hold for a few hours, > >>>> and did a little diving. > >>>> And God said, "This is good." > >>>> _______________________________________________ > >>>> 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 > >>> _______________________________________________ > >>> 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 > >>> > >> > >> -- > >> On the first day, God created the heavens and the Earth > >> On the second day, God created the oceans. > >> On the third day, God put the animals on hold for a few hours, > >> and did a little diving. > >> And God said, "This is good." > >> > > > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From alex at tweedly.net Tue Mar 26 13:36:15 2024 From: alex at tweedly.net (Alex Tweedly) Date: Tue, 26 Mar 2024 17:36:15 +0000 Subject: Tutorial for Livecode Server log in system In-Reply-To: <3f95b490-af44-2641-7211-d5823a0c97ef@tkf.att.ne.jp> References: <3f95b490-af44-2641-7211-d5823a0c97ef@tkf.att.ne.jp> Message-ID: Hi Tim, I guess my first response would be - don't. Specifically, don't store or use passwords. Users have a bad habit of re-using the same passwords, so even if your site has no personal or valuable info about your users, the fact that passwords get re-used means you are storing valuable info, and so you're taking on a moral responsibility to keep it very safe. If you do have passwords, then you need to have a recovery mechanism for when users forget their pssword. 99% of the time, that involves emailing them a recovery link, or temp password, or ... So in effect the password has the same (or less) security than their email account - so you might as well just use the email account. Nowadays I always use this style of password-free accounts. I would have sent a copy of the known, tested, etc. code - but it's all embedded in lots of my libraries, etc. and was tricky to unravel. So I've sent a very bare-bones version; tested but not all corner cases (e.g. I didn't wait a week to ensure time-outs happened properly :-). Overview: The user asks for a code to login with, that gets emailed to them, and then they type that code in to the next screen. Once that's successfully done, you set up a cookie in their browser, valid for some reasonable length of time such as 7 days, and you're done. Any script that wants to can take the getCurrentUser() code to check that they are logged in properly. Internally, it's done by creating a temporary code (6 digits, which is recorded along with their email and expires within 15 minutes), and once they have verified that code, you give them a new code which is a UUID (so essentially un-guessable) which lasts for the 7 days. Other than that, I hope it's reasonably straightforward ..... Alex. simplelogin.lc ------------ tExpires then       return empty    else       return item 2 of line -1 of tCodes    end if end getCurrentUser function shellEscape pText -- keep this at the end because it messes up Coda colouring    repeat for each char tChar in "\`!$" & quote       replace tChar with "\" & tChar in pText    end repeat    return pText end shellEscape function wrapQ pText    return quote & pText & quote end wrapQ on askforemail  put "

"  put "    "  put "    "  put "    "  put "" end askforemail on askforcode  put "

"  put "    "  put "    "  put "    "  put "" end askforcode on askforlogout  put ""  put "    "  put "    "  put "" end askforlogout -- real code start here put getCurrentUser() into tUser if $_POST["logout"] AND tUser is not empty then    put $_COOKIE["myusercookie"] into tCode    put tCode & comma & tUser & comma & (the seconds-1) &CR after \        URL ("file:codes.txt")   put "Successfully logged out."   exit to top end if if tUser is not empty then -- ask them if they want to log out   put "Already logged in as " & tUser   askforlogout   exit to top end if put $_POST["code"] into tCode if tCode is not empty then   -- we need to compare this code with what is pending   put URL ("file:codes.txt") into tPending   put ( tCode & comma & "*") into tFilter   filter tPending with tFilter   put line -1 of tPending into tPending   if the seconds <= item 3 of tPending then  -- found a match pending      put item 2 of tPending into tEmail      put uuid("random") into tCode      put tCode & comma & tEmail & comma & (the seconds+60*60*24*7) &CR after \        URL ("file:codes.txt")      put cookie "myusercookie" with tCode until (the seconds + 60 * 60 * 24 * 7)      put "Successfully logged in"      exit to top   end if   -- no match for the code   put "Code not matched. Please try again or give different email address.

"   askforcode else   put $_POST["email"] into tEmail end if if tEmail is not empty then   -- have email address - generate a code and ask user for it   put random(999999) into tSix   put format("%06d", tSix) into tSix   -- put this following line in for quick and easy testing !!   -- be sure to take it out later !!!   put "should email" && tSix && "to you.

"   -- build the message header, adding the from, to and subject details   -- we also put any cc addresses in here, but not bcc (bcc addresses hidden)   put "info at kilmelford.com" into pFrom   -- CHANGE KILMELFORD.COM   put tEmail into pTo   put "From:" && pFrom  & return & \        "To:" && tEmail & return & \        "Subject: Login code for kilmelford.com" & \         return into tMsg    put "Content-Type: text/plain;" & return & return after tMsg    put "Your code is" && tSix && "and it will expire in 15 minutes" after tMsg    -- send the mail by piping the message we have just built to the sendmail command    get shell("echo" && wrapQ(shellEscape(tMsg)) && "| /usr/sbin/sendmail" && \          wrapQ(shellEscape(pTo)) && "-f" && wrapQ(shellEscape(pFrom)))   put the seconds into tEndTime   add 15 * 60 to tEndTime   put tSix & comma & tEmail & comma & tEndTime &CR after \        URL ("file:codes.txt")   askforcode   exit to top end if askforemail -- end of simplelogin.lc -------------------- From hlowe at me.com Tue Mar 26 20:26:10 2024 From: hlowe at me.com (HENRY LOWE) Date: Tue, 26 Mar 2024 17:26:10 -0700 Subject: iOS Privacy Manifest Requirements begin May 1 Message-ID: <0BF11B80-93E3-45D0-83D0-FEF3EBE61579@me.com> Received the following today while submitting an LC App update to the iOS store: ITMS-91053: Missing API declaration - Your app’s code references one or more APIs that require reasons, including the following API categories: NSPrivacyAccessedAPICategoryFileTimestamp While no action is required at this time, starting May 1, 2024, when you upload a new app or app update, you must include a NSPrivacyAccessedAPITypes array in your app’s privacy manifest to provide approved reasons for these APIs used by your app’s code. The relevant developer info is here: https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/ I assume that the Livecode Engine is using one or more APIs that will require a Privacy Manifest update? Henry From selander at tkf.att.ne.jp Wed Mar 27 18:44:02 2024 From: selander at tkf.att.ne.jp (Tim Selander) Date: Thu, 28 Mar 2024 07:44:02 +0900 Subject: Tutorial for Livecode Server log in system In-Reply-To: References: <3f95b490-af44-2641-7211-d5823a0c97ef@tkf.att.ne.jp> Message-ID: Dear Alex and Pere Thank you both for your code and and the time you took to help! I'm am working through the code you sent, studying out how it works. Great learning experience. Also, Alex, your point of not using password log ins is a philosophical re-frame in my thinking! Thank you! Tim On 2024/03/27 2:36, Alex Tweedly via use-livecode wrote: > Hi Tim, > > I guess my first response would be - don't. > > Specifically, don't store or use passwords. Users have a bad > habit of re-using the same passwords, so even if your site has no > personal or valuable info about your users, the fact that > passwords get re-used means you are storing valuable info, and so > you're taking on a moral responsibility to keep it very safe. > > If you do have passwords, then you need to have a recovery > mechanism for when users forget their pssword. 99% of the time, > that involves emailing them a recovery link, or temp password, or > ... So in effect the password has the same (or less) security > than their email account - so you might as well just use the > email account. > > Nowadays I always use this style of password-free accounts. I > would have sent a copy of the known, tested, etc. code - but it's > all embedded in lots of my libraries, etc. and was tricky to > unravel. So I've sent a very bare-bones version; tested but not > all corner cases (e.g. I didn't wait a week to ensure time-outs > happened properly :-). > > Overview: The user asks for a code to login with, that gets > emailed to them, and then they type that code in to the next > screen. Once that's successfully done, you set up a cookie in > their browser, valid for some reasonable length of time such as 7 > days, and you're done. Any script that wants to can take the > getCurrentUser() code to check that they are logged in properly. > > Internally, it's done by creating a temporary code (6 digits, > which is recorded along with their email and expires within 15 > minutes), and once they have verified that code, you give them a > new code which is a UUID (so essentially un-guessable) which > lasts for the 7 days. > > Other than that, I hope it's reasonably straightforward ..... > > > Alex. > > simplelogin.lc > ------------ > > > set the errormode to inline > > function getCurrentUser >    local tCookie, tCodes, tExpires >    put $_COOKIE["myusercookie"] into tCookie >    if tCookie is empty then >       return empty >    end if > >    -- codes are stored as code,email,expirydate (in seconds) >    put URL ("file:codes.txt") into tCodes >    filter tCodes with (tCookie & comma & "*") >    put item 3 of line -1 of tCodes into tExpires >    if seconds() > tExpires then >       return empty >    else >       return item 2 of line -1 of tCodes >    end if > end getCurrentUser > > function shellEscape pText > -- keep this at the end because it messes up Coda colouring >    repeat for each char tChar in "\`!$" & quote >       replace tChar with "\" & tChar in pText >    end repeat >    return pText > end shellEscape > > function wrapQ pText >    return quote & pText & quote > end wrapQ > > on askforemail >  put "

" >  put "    " >  put "    " >  put "    " >  put "" > end askforemail > > on askforcode >  put "

" >  put "    " >  put "    " >  put "    " >  put "" > end askforcode > > on askforlogout >  put "" >  put "    " >  put "    " >  put "" > end askforlogout > > -- real code start here > > put getCurrentUser() into tUser > > if $_POST["logout"] AND tUser is not empty then >    put $_COOKIE["myusercookie"] into tCode >    put tCode & comma & tUser & comma & (the seconds-1) &CR after \ >        URL ("file:codes.txt") >   put "Successfully logged out." >   exit to top > end if > > if tUser is not empty then -- ask them if they want to log out >   put "Already logged in as " & tUser >   askforlogout >   exit to top > end if > > put $_POST["code"] into tCode > if tCode is not empty then >   -- we need to compare this code with what is pending >   put URL ("file:codes.txt") into tPending >   put ( tCode & comma & "*") into tFilter >   filter tPending with tFilter >   put line -1 of tPending into tPending >   if the seconds <= item 3 of tPending then  -- found a match > pending >      put item 2 of tPending into tEmail >      put uuid("random") into tCode >      put tCode & comma & tEmail & comma & (the > seconds+60*60*24*7) &CR after \ >        URL ("file:codes.txt") >      put cookie "myusercookie" with tCode until (the seconds + > 60 * 60 * 24 * 7) >      put "Successfully logged in" >      exit to top >   end if >   -- no match for the code >   put "Code not matched. Please try again or give different > email address.

" >   askforcode > else >   put $_POST["email"] into tEmail > end if > > if tEmail is not empty then >   -- have email address - generate a code and ask user for it >   put random(999999) into tSix >   put format("%06d", tSix) into tSix > >   -- put this following line in for quick and easy testing !! >   -- be sure to take it out later !!! >   put "should email" && tSix && "to you.

" > >   -- build the message header, adding the from, to and subject > details >   -- we also put any cc addresses in here, but not bcc (bcc > addresses hidden) > >   put "info at kilmelford.com" into pFrom   -- CHANGE KILMELFORD.COM >   put tEmail into pTo >   put "From:" && pFrom  & return & \ >        "To:" && tEmail & return & \ >        "Subject: Login code for kilmelford.com" & \ >         return into tMsg > >    put "Content-Type: text/plain;" & return & return after tMsg >    put "Your code is" && tSix && "and it will expire in 15 > minutes" after tMsg > >    -- send the mail by piping the message we have just built to > the sendmail command >    get shell("echo" && wrapQ(shellEscape(tMsg)) && "| > /usr/sbin/sendmail" && \ >          wrapQ(shellEscape(pTo)) && "-f" && > wrapQ(shellEscape(pFrom))) > >   put the seconds into tEndTime >   add 15 * 60 to tEndTime >   put tSix & comma & tEmail & comma & tEndTime &CR after \ >        URL ("file:codes.txt") > >   askforcode >   exit to top > > end if > > askforemail > > -- end of simplelogin.lc > -------------------- > > > _______________________________________________ > 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 From bobsneidar at iotecdigital.com Wed Mar 27 18:55:45 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 27 Mar 2024 22:55:45 +0000 Subject: Revisiting Lock Screen Message-ID: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> Hi all. I read in the dictionary that Lock Screen does not work in Script Debug mode. Okay so I turn it off, put the command “Lock Screen” at the entry point to a selectionChanged handler which goes on to do a number of things that change the appearance of the screen. The screen is decidedly NOT LOCKED! The things I go on to do are things like changing the hilitedItems of a tab widget which in turn shows and hides a number of objects, and also changes the selection in a number of datagrids. Every action that alters the screen is visible after I issue the Lock Screen command. Is Lock Screen completely hosed? Am I missing something?? Bob S From bobsneidar at iotecdigital.com Wed Mar 27 19:01:51 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 27 Mar 2024 23:01:51 +0000 Subject: Revisiting Lock Screen In-Reply-To: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> Message-ID: <12ABAFF4-5B88-4B7F-98E8-9B8CAA26ECA1@iotecdigital.com> Oh, but it gets better. I put at the entry point of the script: lock screen put the lockscreen into tScreenIsLocked — I checked and this is true Then at the exit point: put the lockscreen STILL TRUE in spite of the fact that I see everything that the app is doing to the screen the entire time. Also curious is that I get the same result whether or not I am in script debug mode or no!!!!! Bob S > On Mar 27, 2024, at 3:55 PM, Bob Sneidar wrote: > > Hi all. > > I read in the dictionary that Lock Screen does not work in Script Debug mode. Okay so I turn it off, put the command “Lock Screen” at the entry point to a selectionChanged handler which goes on to do a number of things that change the appearance of the screen. The screen is decidedly NOT LOCKED! The things I go on to do are things like changing the hilitedItems of a tab widget which in turn shows and hides a number of objects, and also changes the selection in a number of datagrids. Every action that alters the screen is visible after I issue the Lock Screen command. > > Is Lock Screen completely hosed? Am I missing something?? > > Bob S > From bobsneidar at iotecdigital.com Wed Mar 27 19:03:27 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 27 Mar 2024 23:03:27 +0000 Subject: Tutorial for Livecode Server log in system In-Reply-To: References: <3f95b490-af44-2641-7211-d5823a0c97ef@tkf.att.ne.jp> Message-ID: <8579E98C-4BD2-4F3A-BD66-E320A673B607@iotecdigital.com> As an aside, I do store passwords, but I encrypt them first using a method only I know about. However I am not using a web portal, so there’s that. Bob S On Mar 27, 2024, at 3:44 PM, Tim Selander via use-livecode wrote: Dear Alex and Pere Thank you both for your code and and the time you took to help! I'm am working through the code you sent, studying out how it works. Great learning experience. Also, Alex, your point of not using password log ins is a philosophical re-frame in my thinking! Thank you! Tim From tom at makeshyft.com Wed Mar 27 23:43:47 2024 From: tom at makeshyft.com (Tom Glod) Date: Wed, 27 Mar 2024 23:43:47 -0400 Subject: Revisiting Lock Screen In-Reply-To: <12ABAFF4-5B88-4B7F-98E8-9B8CAA26ECA1@iotecdigital.com> References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <12ABAFF4-5B88-4B7F-98E8-9B8CAA26ECA1@iotecdigital.com> Message-ID: Bob, Sorry I can't double check at the moment, but I was reading the release notes for 10 dp7 and there was some stuff about that in there (Its possible I am ..... mis-remembering.) Is that the version you are using? On Wed, Mar 27, 2024 at 7:02 PM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > Oh, but it gets better. I put at the entry point of the script: > > lock screen > put the lockscreen into tScreenIsLocked — I checked and this is true > > Then at the exit point: > > put the lockscreen > > STILL TRUE in spite of the fact that I see everything that the app is > doing to the screen the entire time. > > Also curious is that I get the same result whether or not I am in script > debug mode or no!!!!! > > Bob S > > > > On Mar 27, 2024, at 3:55 PM, Bob Sneidar > wrote: > > > > Hi all. > > > > I read in the dictionary that Lock Screen does not work in Script Debug > mode. Okay so I turn it off, put the command “Lock Screen” at the entry > point to a selectionChanged handler which goes on to do a number of things > that change the appearance of the screen. The screen is decidedly NOT > LOCKED! The things I go on to do are things like changing the hilitedItems > of a tab widget which in turn shows and hides a number of objects, and also > changes the selection in a number of datagrids. Every action that alters > the screen is visible after I issue the Lock Screen command. > > > > Is Lock Screen completely hosed? Am I missing something?? > > > > Bob S > > > > _______________________________________________ > 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 > From heather at livecode.com Thu Mar 28 06:17:55 2024 From: heather at livecode.com (Heather Laine) Date: Thu, 28 Mar 2024 10:17:55 +0000 Subject: iOS Privacy Manifest Requirements begin May 1 In-Reply-To: <0BF11B80-93E3-45D0-83D0-FEF3EBE61579@me.com> References: <0BF11B80-93E3-45D0-83D0-FEF3EBE61579@me.com> Message-ID: <643524FC-CEC9-420D-BC0F-20D22BC060DA@livecode.com> Hello Henry, We're aware of this upcoming requirement and it will be addressed in 9.6.12, we expect an RC of this in April. You will probably also be able to retrospectively do it with a custom plist for 9.6.11. Best Regards, Heather Heather Laine Customer Services Manager LiveCode Ltd www.livecode.com > On 27 Mar 2024, at 00:26, HENRY LOWE via use-livecode wrote: > > Received the following today while submitting an LC App update to the iOS store: > > ITMS-91053: Missing API declaration - Your app’s code references one or more APIs that require reasons, including the following API categories: > > NSPrivacyAccessedAPICategoryFileTimestamp > > While no action is required at this time, starting May 1, 2024, when you upload a new app or app update, you must include a NSPrivacyAccessedAPITypes array in your app’s privacy manifest to provide approved reasons for these APIs used by your app’s code. > > The relevant developer info is here: > > https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/ > > I assume that the Livecode Engine is using one or more APIs that will require a Privacy Manifest update? > > Henry > > _______________________________________________ > 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 From alex at tweedly.net Thu Mar 28 08:13:41 2024 From: alex at tweedly.net (Alex Tweedly) Date: Thu, 28 Mar 2024 12:13:41 +0000 Subject: Revisiting Lock Screen In-Reply-To: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> Message-ID: <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> Hi Bob, I'm not sure from your description how / when you are seeing the (unexpected) changes happening. Remember that lockscreen is automatically set to false when there is no handler running, so unlerss you have an intensive handler running, you will see these changes. If it's not that - could you describe how you are verifying the effect of lockscreen in more detail. Thanks. Alex. On 27/03/2024 22:55, Bob Sneidar via use-livecode wrote: > Hi all. > > I read in the dictionary that Lock Screen does not work in Script Debug mode. Okay so I turn it off, put the command Lock Screen at the entry point to a selectionChanged handler which goes on to do a number of things that change the appearance of the screen. The screen is decidedly NOT LOCKED! The things I go on to do are things like changing the hilitedItems of a tab widget which in turn shows and hides a number of objects, and also changes the selection in a number of datagrids. Every action that alters the screen is visible after I issue the Lock Screen command. > > Is Lock Screen completely hosed? Am I missing something?? > > Bob S > > _______________________________________________ > 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 From craig at starfirelighting.com Thu Mar 28 08:48:17 2024 From: craig at starfirelighting.com (Craig Newman) Date: Thu, 28 Mar 2024 08:48:17 -0400 Subject: Revisiting Lock Screen In-Reply-To: <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> Message-ID: <05BE6F43-1278-40EB-90FA-0FD68C6B5BED@starfirelighting.com> Bob. I have no idea what you are facing with such a basic issue. To be sure, please, somewhere in the stack you are having the issue, make a button and a field and run this: on mouseup lock screen —comment out for the first run repeat 3 put random(999) into fld 1 wait 20 end repeat end mouseup Do you see the two scenarios above working normally? That is, with the lock screen disabled, you see three numbers in succession, and with it enabled, you only see the last one? Craig > On Mar 28, 2024, at 8:13 AM, Alex Tweedly via use-livecode wrote: > > Hi Bob, > > I'm not sure from your description how / when you are seeing the (unexpected) changes happening. > > Remember that lockscreen is automatically set to false when there is no handler running, so unlerss you have an intensive handler running, you will see these changes. > > If it's not that - could you describe how you are verifying the effect of lockscreen in more detail. Thanks. > > Alex. > > On 27/03/2024 22:55, Bob Sneidar via use-livecode wrote: >> Hi all. >> >> I read in the dictionary that Lock Screen does not work in Script Debug mode. Okay so I turn it off, put the command “Lock Screen” at the entry point to a selectionChanged handler which goes on to do a number of things that change the appearance of the screen. The screen is decidedly NOT LOCKED! The things I go on to do are things like changing the hilitedItems of a tab widget which in turn shows and hides a number of objects, and also changes the selection in a number of datagrids. Every action that alters the screen is visible after I issue the Lock Screen command. >> >> Is Lock Screen completely hosed? Am I missing something?? >> >> Bob S >> >> _______________________________________________ >> 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 > > _______________________________________________ > 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 From bobsneidar at iotecdigital.com Thu Mar 28 11:07:55 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 28 Mar 2024 15:07:55 +0000 Subject: Revisiting Lock Screen In-Reply-To: References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <12ABAFF4-5B88-4B7F-98E8-9B8CAA26ECA1@iotecdigital.com> Message-ID: No I am using 9.6.11. Bob S > On Mar 27, 2024, at 8:43 PM, Tom Glod via use-livecode wrote: > > Bob, > Sorry I can't double check at the moment, but I was reading the release > notes for 10 dp7 and there was some stuff about that in there > (Its possible I am ..... mis-remembering.) > Is that the version you are using? > > On Wed, Mar 27, 2024 at 7:02 PM Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> Oh, but it gets better. I put at the entry point of the script: >> >> lock screen >> put the lockscreen into tScreenIsLocked — I checked and this is true >> >> Then at the exit point: >> >> put the lockscreen >> >> STILL TRUE in spite of the fact that I see everything that the app is >> doing to the screen the entire time. >> >> Also curious is that I get the same result whether or not I am in script >> debug mode or no!!!!! >> >> Bob S >> >> >>> On Mar 27, 2024, at 3:55 PM, Bob Sneidar >> wrote: >>> >>> Hi all. >>> >>> I read in the dictionary that Lock Screen does not work in Script Debug >> mode. Okay so I turn it off, put the command “Lock Screen” at the entry >> point to a selectionChanged handler which goes on to do a number of things >> that change the appearance of the screen. The screen is decidedly NOT >> LOCKED! The things I go on to do are things like changing the hilitedItems >> of a tab widget which in turn shows and hides a number of objects, and also >> changes the selection in a number of datagrids. Every action that alters >> the screen is visible after I issue the Lock Screen command. >>> >>> Is Lock Screen completely hosed? Am I missing something?? >>> >>> Bob S >>> >> >> _______________________________________________ >> 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 >> > _______________________________________________ > 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 From bobsneidar at iotecdigital.com Thu Mar 28 11:21:36 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 28 Mar 2024 15:21:36 +0000 Subject: Revisiting Lock Screen In-Reply-To: <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> Message-ID: Hi Alex. Thanks for responding. I have a module in my app called Software. I have 5 datagrids, one for software and 4 others for the entities the software license is linked to. Each datagrid has associated fields as well. Customers, Sites, Devices and Files. Each of these entities can be linked to the Software license by clicking a checkbox for each entity. All this does is put the unique ID of the entity in the respective column of the Software record and then update the database. When I click on a software title, each entity’s datagrid changes its selection based on the unique id saved in the Software record. For instance if a customer has 3 sites, and the software is linked to one of those sites, the datagrid selection is changed to reflect that. The same for the other three datagrids. I also have a tab widget with a tab for each entity, so that I can show the datagrid and objects associated with that entity and hide the others. As I update each entity’s datagrid and objects, I show those objects. Normally I want to see these things change to give the user a visual clue that there is something being processed by the app, but the effect is so rapid, it really distracting, so I decided against that and put a Lock Screen at the beginning of the selectionChanged handler for the Software datagrid thinking that this would prevent all the rapid visual effects, but it doesn’t. I know that Lock Screen is in effect because I store the lockScreen in a variable right after setting it, then I check the variable in script debug mode. It is always true. I then remove the breakpoint, and run the routine, then check the lockscreen at the very end of the selectionChanged handler, it is STILL TRUE even though the screen has been updating the entire time. I hope that helps you. A screenshot or a short video would be nice but I cannot post those here. Bob S > On Mar 28, 2024, at 5:13 AM, Alex Tweedly via use-livecode wrote: > > Hi Bob, > > I'm not sure from your description how / when you are seeing the (unexpected) changes happening. > > Remember that lockscreen is automatically set to false when there is no handler running, so unlerss you have an intensive handler running, you will see these changes. > > If it's not that - could you describe how you are verifying the effect of lockscreen in more detail. Thanks. > > Alex. > > On 27/03/2024 22:55, Bob Sneidar via use-livecode wrote: >> Hi all. >> >> I read in the dictionary that Lock Screen does not work in Script Debug mode. Okay so I turn it off, put the command “Lock Screen” at the entry point to a selectionChanged handler which goes on to do a number of things that change the appearance of the screen. The screen is decidedly NOT LOCKED! The things I go on to do are things like changing the hilitedItems of a tab widget which in turn shows and hides a number of objects, and also changes the selection in a number of datagrids. Every action that alters the screen is visible after I issue the Lock Screen command. >> >> Is Lock Screen completely hosed? Am I missing something?? >> >> Bob S >> >> _______________________________________________ >> 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 > > _______________________________________________ > 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 From bobsneidar at iotecdigital.com Thu Mar 28 11:28:29 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 28 Mar 2024 15:28:29 +0000 Subject: Revisiting Lock Screen In-Reply-To: <05BE6F43-1278-40EB-90FA-0FD68C6B5BED@starfirelighting.com> References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> <05BE6F43-1278-40EB-90FA-0FD68C6B5BED@starfirelighting.com> Message-ID: Hi Craig thanks for responding. I am not updating fields per se as the only thing changing is the datagrid selection(s) and the status of the checkbox. Curiously I am not seeing the tab widget selection change but I am seeing the hiding and showing of the datagrids as each tab is selected. Bob S > On Mar 28, 2024, at 5:48 AM, Craig Newman via use-livecode wrote: > > Bob. > > I have no idea what you are facing with such a basic issue. To be sure, please, somewhere in the stack you are having the issue, make a button and a field and run this: > > on mouseup > > lock screen —comment out for the first run > > repeat 3 > > put random(999) into fld 1 > > wait 20 > > end repeat > > end mouseup > > > > Do you see the two scenarios above working normally? That is, with the lock screen disabled, you see three numbers in succession, and with it enabled, you only see the last one? > > Craig > > >> On Mar 28, 2024, at 8:13 AM, Alex Tweedly via use-livecode wrote: >> >> Hi Bob, >> >> I'm not sure from your description how / when you are seeing the (unexpected) changes happening. >> >> Remember that lockscreen is automatically set to false when there is no handler running, so unlerss you have an intensive handler running, you will see these changes. >> >> If it's not that - could you describe how you are verifying the effect of lockscreen in more detail. Thanks. >> >> Alex. >> >> On 27/03/2024 22:55, Bob Sneidar via use-livecode wrote: >>> Hi all. >>> >>> I read in the dictionary that Lock Screen does not work in Script Debug mode. Okay so I turn it off, put the command “Lock Screen” at the entry point to a selectionChanged handler which goes on to do a number of things that change the appearance of the screen. The screen is decidedly NOT LOCKED! The things I go on to do are things like changing the hilitedItems of a tab widget which in turn shows and hides a number of objects, and also changes the selection in a number of datagrids. Every action that alters the screen is visible after I issue the Lock Screen command. >>> >>> Is Lock Screen completely hosed? Am I missing something?? >>> >>> Bob S >>> >>> _______________________________________________ >>> 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 >> >> _______________________________________________ >> 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 > > _______________________________________________ > 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 From bobsneidar at iotecdigital.com Thu Mar 28 11:30:26 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 28 Mar 2024 15:30:26 +0000 Subject: Revisiting Lock Screen In-Reply-To: References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> <05BE6F43-1278-40EB-90FA-0FD68C6B5BED@starfirelighting.com> Message-ID: The issue may be with the datagrids. It appears that Lock Screen is not preventing changes to the datagrids from refreshing the screen. Bob S > On Mar 28, 2024, at 8:28 AM, Bob Sneidar wrote: > > Hi Craig thanks for responding. I am not updating fields per se as the only thing changing is the datagrid selection(s) and the status of the checkbox. > > Curiously I am not seeing the tab widget selection change but I am seeing the hiding and showing of the datagrids as each tab is selected. > > Bob S > > >> On Mar 28, 2024, at 5:48 AM, Craig Newman via use-livecode wrote: >> >> Bob. >> >> I have no idea what you are facing with such a basic issue. To be sure, please, somewhere in the stack you are having the issue, make a button and a field and run this: >> >> on mouseup >> >> lock screen —comment out for the first run >> >> repeat 3 >> >> put random(999) into fld 1 >> >> wait 20 >> >> end repeat >> >> end mouseup >> >> >> >> Do you see the two scenarios above working normally? That is, with the lock screen disabled, you see three numbers in succession, and with it enabled, you only see the last one? >> >> Craig >> >> From MikeKerner at roadrunner.com Thu Mar 28 11:48:58 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Thu, 28 Mar 2024 11:48:58 -0400 Subject: Revisiting Lock Screen In-Reply-To: References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> <05BE6F43-1278-40EB-90FA-0FD68C6B5BED@starfirelighting.com> Message-ID: there are many (many) datagrid functions and commands that unlock the screen, the behavior script for dg's is 11,597 lines long. i started copying/pasting the signature of them, but finally decided there were many too many. instead of deleting the rest of this post, i left them in place. i reiterate, i only went through around 2100 lines, or around 20% of the dg behavior. i don't know how many more there are. *command* _SetScrollbarWidth pWidth *private* *command* _CreateDragImageFromControl pControl *private* *command* _CreateDragImageFromIndex pIndex *private* *command* _PositionDropIndicator pMouseH, pMouseV *command* dgArrowKey pDirection *command* dgMouseDown pMouseBtnNum *command* EditCellOfIndex pColumn, pIndex *command* EditKeyOfIndex pKey, pIndex *command* DeleteIndexes pIndexes *command* SortDataByKey pKey, pType, pDirection, pCaseSensitive *command* ReverseSort pColumn *command* HiliteAndStoreSortByColumn pColumn *private* *command* _SortByColumn pColumn *command* SortByColumn pColumn *command* ResizeToFit *private* *command* _DrawList *command* dgResetList *command* RefreshList *command* ResetControl *private* *command* _ResetAllControls *private* *command* _ResetData *private* *command* _ToggleVScrollBarVisibility pBoolean *private* *command* _ToggleHScrollBarVisibility pBoolean *private* *command* _DrawListWithProperties pStartingSequence, pSetVScrollTo, pForceRefresh, pCallback, pCallbackContext *private* *command* _DeleteControls On Thu, Mar 28, 2024 at 11:31 AM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > The issue may be with the datagrids. It appears that Lock Screen is not > preventing changes to the datagrids from refreshing the screen. > > Bob S > > > > On Mar 28, 2024, at 8:28 AM, Bob Sneidar > wrote: > > > > Hi Craig thanks for responding. I am not updating fields per se as the > only thing changing is the datagrid selection(s) and the status of the > checkbox. > > > > Curiously I am not seeing the tab widget selection change but I am > seeing the hiding and showing of the datagrids as each tab is selected. > > > > Bob S > > > > > >> On Mar 28, 2024, at 5:48 AM, Craig Newman via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> > >> Bob. > >> > >> I have no idea what you are facing with such a basic issue. To be sure, > please, somewhere in the stack you are having the issue, make a button and > a field and run this: > >> > >> on mouseup > >> > >> lock screen —comment out for the first run > >> > >> repeat 3 > >> > >> put random(999) into fld 1 > >> > >> wait 20 > >> > >> end repeat > >> > >> end mouseup > >> > >> > >> > >> Do you see the two scenarios above working normally? That is, with the > lock screen disabled, you see three numbers in succession, and with it > enabled, you only see the last one? > >> > >> Craig > >> > >> > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From bobsneidar at iotecdigital.com Thu Mar 28 12:21:30 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 28 Mar 2024 16:21:30 +0000 Subject: Revisiting Lock Screen In-Reply-To: References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> <05BE6F43-1278-40EB-90FA-0FD68C6B5BED@starfirelighting.com> Message-ID: <00091D27-5CA7-43B2-A1D4-2A182681E559@iotecdigital.com> Wow thanks for that! I think I remember now this came up before, and datagrids were the culprit. But that does seem odd, doesn’t it? Why would a screen lock interfere with the datagrid behavior? (That is rhetorical. Only the devs would know that.) Bob S On Mar 28, 2024, at 8:48 AM, Mike Kerner via use-livecode wrote: there are many (many) datagrid functions and commands that unlock the screen, the behavior script for dg's is 11,597 lines long. i started copying/pasting the signature of them, but finally decided there were many too many. instead of deleting the rest of this post, i left them in place. i reiterate, i only went through around 2100 lines, or around 20% of the dg behavior. i don't know how many more there are. From MikeKerner at roadrunner.com Thu Mar 28 12:31:48 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Thu, 28 Mar 2024 12:31:48 -0400 Subject: Revisiting Lock Screen In-Reply-To: <00091D27-5CA7-43B2-A1D4-2A182681E559@iotecdigital.com> References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> <05BE6F43-1278-40EB-90FA-0FD68C6B5BED@starfirelighting.com> <00091D27-5CA7-43B2-A1D4-2A182681E559@iotecdigital.com> Message-ID: didn't you say your code was modifying a dg? i see a couple of possible failure points: * the widget could be doing something unexpected * the dg could be unlocking the screen. you could also try two or more lock screens. i believe lock screen is additive. until idle. On Thu, Mar 28, 2024 at 12:22 PM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > Wow thanks for that! I think I remember now this came up before, and > datagrids were the culprit. > > But that does seem odd, doesn’t it? Why would a screen lock interfere with > the datagrid behavior? (That is rhetorical. Only the devs would know that.) > > Bob S > > > On Mar 28, 2024, at 8:48 AM, Mike Kerner via use-livecode < > use-livecode at lists.runrev.com> wrote: > > there are many (many) datagrid functions and commands that unlock the > screen, > the behavior script for dg's is 11,597 lines long. > i started copying/pasting the signature of them, but finally decided there > were many too many. instead of deleting the rest of this post, i left them > in place. > i reiterate, i only went through around 2100 lines, or around 20% of the dg > behavior. i don't know how many more there are. > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From rdimola at evergreeninfo.net Thu Mar 28 12:47:20 2024 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Thu, 28 Mar 2024 12:47:20 -0400 Subject: Facebook in Browser Widget Message-ID: <001d01da812f$9d52db70$d7f89250$@net> LC 9.6.11 pro Win 10 When I open Facebook url "https://www.facebook.com/someAccount" in the browser widget in an Android app I briefly see the Facebook page and then get the error net:ERR_UNKNOWN_URL_SCHEME. The Error url displayed is "fc://profile..." this used to work. This happens if the FB app is or is not installed. What I would like is if the app is not installed then open in the browser widget or if FB is installed then open in the FB app. I have not tested iOS yet. Thanks in advance Ralph DiMola IT Director Evergreen Information Services rdimola at evergreeninfo.net From bobsneidar at iotecdigital.com Thu Mar 28 13:23:45 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 28 Mar 2024 17:23:45 +0000 Subject: Revisiting Lock Screen In-Reply-To: References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> <05BE6F43-1278-40EB-90FA-0FD68C6B5BED@starfirelighting.com> <00091D27-5CA7-43B2-A1D4-2A182681E559@iotecdigital.com> Message-ID: Thanks Mike. I think I am going to have to come up with an alternative. Something like taking a snapshot of the window then overlaying it on the window while processing, then deleting it when done. The trouble is I have other windows open that will update because they are synching with the module I am working in. Also this won’t improve performance the way Lock Screen would (should). Bob S On Mar 28, 2024, at 9:31 AM, Mike Kerner via use-livecode wrote: didn't you say your code was modifying a dg? i see a couple of possible failure points: * the widget could be doing something unexpected * the dg could be unlocking the screen. you could also try two or more lock screens. i believe lock screen is additive. until idle. On Thu, Mar 28, 2024 at 12:22 PM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: Wow thanks for that! I think I remember now this came up before, and datagrids were the culprit. But that does seem odd, doesn’t it? Why would a screen lock interfere with the datagrid behavior? (That is rhetorical. Only the devs would know that.) Bob S From MikeKerner at roadrunner.com Thu Mar 28 13:30:02 2024 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Thu, 28 Mar 2024 13:30:02 -0400 Subject: Revisiting Lock Screen In-Reply-To: References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> <05BE6F43-1278-40EB-90FA-0FD68C6B5BED@starfirelighting.com> <00091D27-5CA7-43B2-A1D4-2A182681E559@iotecdigital.com> Message-ID: what about switching to pg? On Thu, Mar 28, 2024 at 1:24 PM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > Thanks Mike. > > I think I am going to have to come up with an alternative. Something like > taking a snapshot of the window then overlaying it on the window while > processing, then deleting it when done. > > The trouble is I have other windows open that will update because they are > synching with the module I am working in. Also this won’t improve > performance the way Lock Screen would (should). > > Bob S > > > On Mar 28, 2024, at 9:31 AM, Mike Kerner via use-livecode < > use-livecode at lists.runrev.com> wrote: > > didn't you say your code was modifying a dg? > i see a couple of possible failure points: > * the widget could be doing something unexpected > * the dg could be unlocking the screen. > you could also try two or more lock screens. i believe lock screen is > additive. until idle. > > On Thu, Mar 28, 2024 at 12:22 PM Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> > wrote: > > Wow thanks for that! I think I remember now this came up before, and > datagrids were the culprit. > > But that does seem odd, doesn’t it? Why would a screen lock interfere with > the datagrid behavior? (That is rhetorical. Only the devs would know that.) > > Bob S > > _______________________________________________ > 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 > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From bobsneidar at iotecdigital.com Thu Mar 28 13:55:39 2024 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 28 Mar 2024 17:55:39 +0000 Subject: Revisiting Lock Screen In-Reply-To: References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <4e08243a-bc9c-4318-b9f0-256c5c48b627@tweedly.net> <05BE6F43-1278-40EB-90FA-0FD68C6B5BED@starfirelighting.com> <00091D27-5CA7-43B2-A1D4-2A182681E559@iotecdigital.com> Message-ID: I do a lot with DG that is not supported with PG. Also I just discovered that on a MacOS device, the snapshot of the card shows the custom menu, even though the menu is not inside the rect of the card. . I will have to calculate the rect as well. No big deal, just more things to have to workaround. Bob S On Mar 28, 2024, at 10:30 AM, Mike Kerner via use-livecode wrote: what about switching to pg? On Thu, Mar 28, 2024 at 1:24 PM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: Thanks Mike. I think I am going to have to come up with an alternative. Something like taking a snapshot of the window then overlaying it on the window while processing, then deleting it when done. The trouble is I have other windows open that will update because they are synching with the module I am working in. Also this won’t improve performance the way Lock Screen would (should). Bob S On Mar 28, 2024, at 9:31 AM, Mike Kerner via use-livecode < use-livecode at lists.runrev.com> wrote: didn't you say your code was modifying a dg? i see a couple of possible failure points: * the widget could be doing something unexpected * the dg could be unlocking the screen. you could also try two or more lock screens. i believe lock screen is additive. until idle. On Thu, Mar 28, 2024 at 12:22 PM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: Wow thanks for that! I think I remember now this came up before, and datagrids were the culprit. But that does seem odd, doesn’t it? Why would a screen lock interfere with the datagrid behavior? (That is rhetorical. Only the devs would know that.) Bob S From paul at researchware.com Thu Mar 28 15:13:35 2024 From: paul at researchware.com (Paul Dupuis) Date: Thu, 28 Mar 2024 15:13:35 -0400 Subject: Revisiting Lock Screen In-Reply-To: References: <12BCCD79-992D-4D25-9979-64A84DA65120@iotecdigital.com> <12ABAFF4-5B88-4B7F-98E8-9B8CAA26ECA1@iotecdigital.com> Message-ID: <93863b75-1395-4ea1-9b54-b9c6b2ddd2b9@researchware.com> In our app, we have a lot of handlers (internal APIs) that get called by other handlers and, as multiple developers are involved, knowing what is calling what takes some effort. To address the issue of screen locks, we adopted a coding standard as follows: If a handler should lock the screen, we add the following code: put the lockScreen into tPreserveLockScreen if tPreserveLockScreen is false then lock screen -- if the screen is not already locked by any calling handler, then lock the screen, else, the screen is already locked by the calling handler ... code of the handler .... if tPreserveLockScreen is false then unlock screen -- if the screen was not locked by the calling handler, it was locked by this handler, so unlock it, else, expect that the calling handler should unlock it (or preserve it as appropriate) I know this doesn't address the specific issue raised in this thread, but I thought this model may be helpful to someone reading this thread. From rdimola at evergreeninfo.net Thu Mar 28 17:57:56 2024 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Thu, 28 Mar 2024 17:57:56 -0400 Subject: Browser Widget and Google Maps Api on Win 10 Message-ID: <002d01da815b$00e8e140$02baa3c0$@net> When in the IDE and testing using the browser widget the line below does not ever complete. The call back to "startMapInit" is never called. This works on Win 10 desktop in Chrome and LC deployed Android app using the same browser widget as in the IDE. I will test on iOS. The real question is how to see JavaScript errors in the Browser Widget? Ralph DiMola IT Director Evergreen Information Services rdimola at evergreeninfo.net