📄 fxparpos.pro
字号:
FUNCTION FXPARPOS, KEYWRD, IEND, BEFORE=BEFORE, AFTER=AFTER;+; NAME: ; FXPARPOS(); Purpose : ; Finds position to insert record into FITS header.; Explanation : ; Finds the position to insert a record into a FITS header. Called from; FXADDPAR.; Use : ; Result = FXPARPOS(KEYWRD, IEND [, BEFORE=BEFORE ] [, AFTER=AFTER ]); Inputs : ; KEYWRD = Array of eight-character keywords in header.; IEND = Position of END keyword.; Opt. Inputs : ; None.; Outputs : ; Result of function is position to insert record.; Opt. Outputs: ; None.; Keywords : ; BEFORE = Keyword string name. The parameter will be placed before the; location of this keyword. For example, if BEFORE='HISTORY'; then the parameter will be placed before the first history; location. This applies only when adding a new keyword;; keywords already in the header are kept in the same position.;; AFTER = Same as BEFORE, but the parameter will be placed after the; location of this keyword. This keyword takes precedence over; BEFORE.;; If neither BEFORE or AFTER keywords are passed, then IEND is returned.;; Calls : ; None.; Common : ; None.; Restrictions: ; KEYWRD and IEND must be consistent with the relevant FITS header.; Side effects: ; None.; Category : ; Data Handling, I/O, FITS, Generic.; Prev. Hist. : ; William Thompson, Jan 1992.; Written : ; William Thompson, GSFC, January 1992.; Modified : ; Version 1, William Thompson, GSFC, 12 April 1993.; Incorporated into CDS library.; Version : ; Version 1, 12 April 1993.; Converted to IDL V5.0 W. Landsman September 1997;-; ON_ERROR,2 ;Return to caller;; Check the number of parameters.; IF N_PARAMS() NE 2 THEN MESSAGE, $ 'Required parameters are KEYWRD and IEND';; If the AFTER keyword has been entered, then find the location.; IF N_ELEMENTS(AFTER) EQ 1 THEN BEGIN KEY_AFTER = STRING(REPLICATE(32B,8)) STRPUT,KEY_AFTER,STRUPCASE(STRTRIM(AFTER,2)),0 ILOC = WHERE(KEYWRD EQ KEY_AFTER,NLOC) IF NLOC GT 0 THEN RETURN, (MAX(ILOC)+1) < IEND ENDIF;; If AFTER wasn't entered or found, and if the BEFORE keyword has been; entered, then find the location.; IF N_ELEMENTS(BEFORE) EQ 1 THEN BEGIN KEY_BEFORE = STRING(REPLICATE(32B,8)) STRPUT,KEY_BEFORE,STRUPCASE(STRTRIM(BEFORE,2)),0 ILOC = WHERE(KEYWRD EQ KEY_BEFORE,NLOC) IF NLOC GT 0 THEN RETURN,ILOC[0] ENDIF;; Otherwise, simply return IEND.; RETURN,IEND END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -