! Copyright (C) GFD Dennou Club, 2004. All rights reserved. ! あるファイル名 urlBase に依存する変数すべてを取得するにはまず ! GTVarSearch(urlBase) を呼び出し、その後無限ループの中で ! GTVarSearch(url, end) を呼び出す。そうすることで url に1つ1つの ! 変数名が返る。end が真になったとき、すべての変数名を探索し終えた ! ことになる。 module gtvarsearch use an_types, only: AN_VARIABLE_SEARCH type(AN_VARIABLE_SEARCH), save:: an end module !--------------------------------------------------------------------- ! 初期化サブルーチン !--------------------------------------------------------------------- subroutine GTVarSearchInit(urlBase) use an_generic, only: var_search use gtvarsearch use dc_trace, only: beginsub, endsub character(len = *), intent(in):: urlBase call beginsub('gtvarsearchinit', 'urlbase=<%c>', c1=trim(urlbase)) call var_search(an, urlBase=urlBase) call endsub('gtvarsearchinit') end subroutine !--------------------------------------------------------------------- ! 各変数の探査サブルーチン !--------------------------------------------------------------------- subroutine GTVarSearchNext(url, end) use an_generic, only: var_search use gtvarsearch use dc_trace, only: beginsub, endsub character(len = *), intent(out):: url logical, intent(out):: end call beginsub('gtvarsearchnext') call var_search(an, url=url, end=end) call endsub('gtvarsearchnext', 'url=%c end=%y', c1=trim(url), L=(/end/)) end subroutine