NAME: strkeywd (string keywords)
PURPOSE: traduit une sturcture en un string pouvant etre utilise
pour specifier des keywords ds l''appelle d''une fonction qd on
utilise execute (cf l''exemple)
CATEGORY: pour passer des mots cles avec execute !
CALLING SEQUENCE:res=strkeywd(struct)
INPUTS:struct: une structure
KEYWORD PARAMETERS:
OUTPUTS:un string compose de la facon suivante:
pour chaque element de la structure, on ecrit une partie du
string sous la forme:
'nom_de_l''element=contennu de l''element'
COMMON BLOCKS:
SIDE EFFECTS:
Si un element de la structure contient un tableau, il sera
convertit en vecteur.
RESTRICTIONS:
attention cette fonction comporte des boucles, des if et des cases
ds tous les sens. Elle ne doit donc pas etre utilisee avec des
structure de grosse taille (avec bcp d''elements et avec des
elements etant de gros tableaux).
la structure en entree ne doit pas contenir de Complex floating, de
structure, de Double-precision complex, de Pointer, de Object
reference, de Unsigned Integer, de Unsigned Longword Integer, de
64-bit Integer, de Unsigned 64-bit Integer
EXAMPLE:
on cree une structure
IDL> b=get_extra(ok=111, year=[1997,1998,1999], age_capitaine=35)
IDL> help, b,/struct
** Structure <817f4bc>, 3 tags, length=10, refs=1:
AGE_CAPITAINE INT 35
OK INT 111
YEAR INT Array[3]
on met cette structure sous forme de string
IDL> a=strkeywd(b)
IDL> print, a
AGE_CAPITAINE=35, OK=111, YEAR=[1997,1998,1999]
maintenant on peut utiliser le string a pour passer des mots cles ds
une fonction a l''aide de execute!!
IDL> test=execute('c=get_extra('+a+')')
IDL> help, c,/struct
** Structure <817f2dc>, 3 tags, length=10, refs=1:
AGE_CAPITAINE INT 35
OK INT 111
YEAR INT Array[3]