Managing Long IDs?

Peter M. Brigham pmbrig at gmail.com
Sat Jul 20 13:10:50 EDT 2013


Again, sorry for the late reply, but could you use something like this? If you don't really need to use the filepath in your coding, that is.

getProp robustID
   ----  a virtual property, read only  ----
   -- getting the long id of a control can result in different values depending on
   -- (a) where the stack is stored on the user's disk and
   -- (b) which card is the currentcard when the property is fetched
   -- the robustID is consistent no matter what card is current
   -- and no matter which folder the user has stored the stack in;
   -- format: button id 1039 of bkgnd id 1003 of stack "subStack1"
   --            of stack "tMainStack"
   -- the robustID can be used as a complete object reference,
   --    just like the long ID
   
   -- requires q()
   
   put the long id of the target into tLongID
   replace " stack " with cr in tLongID
   put line -1 of tLongID into mainStackFileName
   if not (word 1 of mainStackFileName = "stack") then
      put "stack " before mainStackFileName
   end if
   put the short name of mainStackFileName into mainStackName
   put q(mainStackName) into line -1 of tLongID
   replace cr with " stack " in tLongID
   replace " of " with cr in tLongID
   put lineoffset(cr &"card",cr & tLongID) into cdLineNbr
   if cdLineNbr > 1 then delete line cdLineNbr of tLongID
   replace cr with " of " in tLongID
   replace "group" with "bkgnd" in tLongID
   -- in case the group is not placed on the currentcard
   return tLongID
end robustID

function q str
   -- quote
   return quote & str & quote
end q

-- Peter

Peter M. Brigham
pmbrig at gmail.com
http://home.comcast.net/~pmbrig


On Jul 15, 2013, at 7:10 PM, Scott Rossi wrote:

> No, the lists aren't the problem, nor is the storage. The existence of
> commas (and maybe other characters) in the file paths are the problem.
> 
> Regards,
> 
> Scott Rossi
> Creative Director
> Tactile Media, UX/UI Design
> 
> 
> 
> 
> On 7/15/13 4:04 PM, "Monte Goulding" <monte at sweattechnologies.com> wrote:
> 
>> 
>> On 16/07/2013, at 9:01 AM, Scott Rossi <scott at tactilemedia.com> wrote:
>> 
>>> The IDs aren't really stored, mostly acted upon.  If any are stored,
>>> it's
>>> only done for the current session.  And yes, I use long IDs in
>>> return-delimited lists.
>> 
>> With multiple items per line? Maybe move to arrays if you need a complex
>> data structure.
>> 
>> --
>> Monte Goulding
>> 
>> M E R Goulding - software development services
>> mergExt - There's an external for that!
>> 
>> 
>> 
>> 
>> 
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode 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





More information about the use-livecode mailing list