Livecode listener
Mike Bonner
bonnmike at gmail.com
Thu May 28 17:31:57 EDT 2015
Hey, the "put true into tSame" line needs to be above the "repeat for reach
key tKey in tClipA" line. DOH.
On Wed, May 27, 2015 at 8:12 PM, Mike Bonner <bonnmike at gmail.com> wrote:
> Skip,
>
> Here is a simple but working example of a clipboard listener.
> To test I just placed the code in a button so that I could easily toggle
> it on and off.
> Its an very quick draft, but hey. It works.
>
>
> #################
>
> local sRunning,sLastClipA
>
> -- mouseup toggles the loop on and off
> on mouseUp
> if sRunning is empty then put false into sRunning
> put not sRunning into sRunning
> clipCheck
> end mouseUp
>
> command clipcheck
> -- if sRunning is toggled to false, the loop stops.
> if sRunning then
> put the keys of the clipboarddata into keyList
> repeat for each line tKey in keyList
> -- bulid an array for comparison
> -- I couldn't get it to work using the keys directly so
> -- created a keyList instead
> put the clipboarddata[tKey] into tClipA[tKey]
> end repeat
> if sLastClipA is empty then
> -- on runstart put the first contents of the clipboard into
> sLastClipA
> put tClipA into sLastClipA
> else
> repeat for each key tKey in tClipA
> put true into tSame
> -- do the comparison. Any thing that differs toggles tSame
> if tClipA[tKey] is not sLastClipA[tKey] then put false into
> tSame
> end repeat
> end if
> if not tSame then
> -- Here is where you could do something with sLastClipA before
> -- replacing its contents with the new clipboard contents
> put tClipA into sLastClipA
>
> -- this is just here to show the keys and seconds
> -- whenever the clipboard changes Comment or remove
> put the keys of sLastClipA && the seconds
> end if
> -- 100 millisec works well enough
> send "clipCheck" to me in 100 millisec
>
> end if
> end clipcheck
>
>
> On Wed, May 27, 2015 at 11:50 AM, Mike Bonner <bonnmike at gmail.com> wrote:
>
>> The code I posted still would not have worked as it was. To do the
>> comparison and see if there is a change, you would indeed have to cycle
>> through the keys and look for the difference. There are definitely some
>> quirks involved here. Headed out the door, but it might be fun to mess with
>> the clipboard monitoring idea when i get back home.
>>
>> On Wed, May 27, 2015 at 11:35 AM, J. Landman Gay <
>> jacque at hyperactivesw.com> wrote:
>>
>>> No, you're right. I just posted a correction and then saw this reply.
>>>
>>> When testing, "is an array" returns false on the retrieved content, but
>>> when asking for each key type the values are still there. That must be why
>>> the dictionary calls it a "false array".
>>>
>>>
>>> On 5/27/2015 12:31 PM, Mike Bonner wrote:
>>>
>>>> Ah k, thx! Sorry for steering you slightly wrong skip. The basic
>>>> premise
>>>> should still work, but you'll have to jump through the extra hoops of
>>>> checking the keys each time through. Should still be plenty fast. (game
>>>> loops do the same thing, and do considerably more than what you're
>>>> looking
>>>> at while still retaining enough speed.)
>>>>
>>>> On Wed, May 27, 2015 at 11:14 AM, J. Landman Gay <
>>>> jacque at hyperactivesw.com>
>>>> wrote:
>>>>
>>>> You'll have to walk through all the keys when both retrieving and
>>>>> setting
>>>>> the array. The default when getting or setting the clipboarddata
>>>>> without
>>>>> specifying a key is to return only the plain text. The array is lost.
>>>>>
>>>>> On 5/26/2015 9:58 PM, Magicgate Software - Skip Kimpel wrote:
>>>>>
>>>>> Oooo... I will try that tomorrow!
>>>>>>
>>>>>> Is there any way to save an alt+f keystroke to the clipboard data? I
>>>>>> am
>>>>>> trying to automate some tasks during this entire exercise and this is
>>>>>> also
>>>>>> one of my hurdles.
>>>>>>
>>>>>> Thanks again,
>>>>>>
>>>>>> SKIP
>>>>>>
>>>>>> On Tue, May 26, 2015 at 5:59 PM, Mike Bonner <bonnmike at gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>> One way would be to use a send in time loop. Check to see if the
>>>>>> data in
>>>>>>
>>>>>>> the clipboard array is different, if so, act. Some untested quick
>>>>>>> and
>>>>>>> dirty code follows.
>>>>>>>
>>>>>>> command checkClipboard
>>>>>>> if sLastClipA is empty then
>>>>>>> put the clipboarddata into sLastClipA
>>>>>>> -- do something with the data in sLastClipA
>>>>>>> else
>>>>>>> repeat for each key tKey in the clipboarddata
>>>>>>> -- check the data in the keys here, against the keys you saved in
>>>>>>> sLastClipA
>>>>>>> -- if there is a change, do something with the data in the
>>>>>>> clipboarddata
>>>>>>> end if
>>>>>>> put the clipboarddata into sLastClipA
>>>>>>>
>>>>>>> send "checkClipboard" to me in 100 millisec
>>>>>>> end checkClipboard
>>>>>>>
>>>>>>>
>>>>>>
>>>>> --
>>>>> Jacqueline Landman Gay | jacque at hyperactivesw.com
>>>>> HyperActive Software | http://www.hyperactivesw.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
>>>>>
>>>>> _______________________________________________
>>>> use-livecode mailing list
>>>> use-livecode at lists.runrev.com
>>>> Please visit this url to subscribe, unsubscribe and manage your
>>>> subscription preferences:
>>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>>>
>>>>
>>>
>>> --
>>> Jacqueline Landman Gay | jacque at hyperactivesw.com
>>> HyperActive Software | http://www.hyperactivesw.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
>>>
>>
>>
>
More information about the use-livecode
mailing list