comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: converting strings to structure tags
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: converting strings to structure tags [message #49156] Fri, 30 June 2006 06:41 Go to previous message
Benjamin Hornberger is currently offline  Benjamin Hornberger
Messages: 258
Registered: March 2004
Senior Member
maye wrote:
> Benjamin Hornberger schrieb:
>
>
>> kl_tah@hotmail.com wrote:
>>
>>> Hi All,
>>>
>>> does anyone know how to convert a string to a structure tag? for e. g.
>>> I'd like to take a string as a function argument and use it to access a
>>> structure tag like so (hypothetically):
>>>
>>> function example,tag,i,j
>>>
>>> restore,'struct.dat
>>>
>>> tmp=mk_struct_tag(struct(i),tag) ; i.e. tmp=struct(i).tag
>>>
>>> a=tmp(j) ; i.e. a=struct(i).tag(j)
>>>
>>> return a
>>>
>>> end
>>>
>>> thanks,
>>> KL
>>>
>>
>> ;; get the tag names of the structure
>> names = tag_names(struct)
>>
>> ;; find the index of the tag you are looking for
>> i = where(strcmp(names, tag, /fold), count)
>>
>> ;; access the i-th tag in the structure
>> if count gt 0 then tag_value = struct.(i)
>>
>
> exactly what i needed today, thanks! This forum rocks! :)
> Why is this kind of access not documented? Well, at least it's not
> written in "Structure references", right? (IDL 6.3)
> Regards,
> Michael
>

Well, you can find it by going to "structures -> advanced" in the help
index. But I agree that often things are not so easy to find in the help
system. But that's what the newsgroup is for :-).

Cheers,
Benjamin
[Message index]
 
Read Message
Read Message
Read Message
Previous Topic: sorting column arrays
Next Topic: IDL's THIN function, with /PRUNE option

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Fri Oct 10 10:01:57 PDT 2025

Total time taken to generate the page: 0.48404 seconds