FindIndex question

Alex Tweedly alex at tweedly.net
Mon Mar 25 18:06:49 EDT 2024


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 <MikeKerner at roadrunner.com>
> 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."
>>
>



More information about the use-livecode mailing list