2010-05-10 10 views

Odpowiedz

7

Tak, jest to możliwe przy użyciu funkcji TAG_NAMES:

tnames=TAG_NAMES(struct) 
tindex=WHERE(STRCMP(tnames,'fieldname') EQ 1) 
data=struct.(tindex) 

Wezwanie do TAG_NAMES zwraca tablicę ciągów reprezentujących znaczniki zdefiniowane w struct. Instrukcja WHERE zwraca indeks w postaci tnames ciągu pasującego do 'fieldname'. Wreszcie indeks jest przekazywany do operacji struct.(tindex), która wyodrębnia pole przez jego indeks znaczników numerycznych.

oczywiście w rzeczywistej aplikacji, którą chcesz sprawdzić czy tindex został pomyślnie dopasowane do czegoś, inaczej IDL będzie dusić przez wyszukiwarkę struktury z indeksem -1.

Powiązane problemy