Viewing contents of file '../idllib/ghrs/pro/chooser.pro'
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;+
;
;*NAME: CHOOSER
;
;*CLASS:
;
;*CATEGORY:
;
;*PURPOSE: Prompts for record number of star of interest from given database.
;
;*CALLING SEQUENCE:
;	CHOOSER, rec, dbase
;
;*PARAMETERS:
;	INPUT:
;	rec	- (REQ) - (0) - (I,L) - Record number in given database. 
;	dbase	- (REQ) - (0) - (S)   - Name of database to be searched.
;
;*INTERACTIVE INPUT:
;	rec	- (REQ) - (0) - (I,L) - Spectrum entry number.
;*SUBROUTINES CALLED:
;	NONE
;*FILES USED:
;	ZAUX:calobs.prt
;	ZAUX:gtocat.prt
;	ZAUX:svlocat.prt
;	ZAUX:svhicat.prt
;
;*EXAMPLES:
;
;*NOTES:
;	This procedure is designed to work with TARATES.PRO.
;
;*MODIFICATION HISTORY:
;	Ver 1.0 - 12/05/90 - B. Altner   - GSFC
;	Ver 2.0 - 12/16/90 - J. Blackwel - GSFC - Modified to conform with
;		                                  GHRS DAF standards.
;       Mar 11 1991      JKF/ACC    - moved to GHRS DAF (IDL Version 2)
;-
;-------------------------------------------------------------------------------
pro chooser,rec,dbase
if n_params(0) eq 0 then begin
  print,' Calling Sequence:  CHOOSER, rec, dbase'
  retall
end else begin
  zparcheck,'CHOOSER',rec,1,[2,3],0,"rec invalid"
  zparcheck,'CHOOSER',dbase,2,7,0,"dbase invalid"
end
dbase=strupcase(dbase)
;
case dbase of
 'CALOBS': begin
  l1='                ST standard star flux tables (15 FEB 90)                      
  l2='-------------------------------------------------------------------------------
  l3='ENTRY  TARGETID       OBSMODE       UNITS    WMIN    WMAX         SOURCE       
  file='zaux:calobs.prt'
 end
 'GTOCAT': begin
  L1='                    DATA FROM WALTER & WOOD GTO CATALOG
  L2='------------------------------------------------------------------------------
  L3=' ENTRY  CAM SP     STAR                             COMMENTS
  file='zaux:gtocat.prt'
 end
 'SVLOCAT': begin
  L1='                    DATA FROM WALTER & WOOD SV_LO CATALOG
  L2='------------------------------------------------------------------------------
  L3=' ENTRY  CAM SP     STAR                             COMMENTS
  file='zaux:svlocat.prt'
 end
 'SVHICAT': begin
  L1='                    DATA FROM WALTER & WOOD SV_HI CATALOG
  L2='------------------------------------------------------------------------------
  L3=' ENTRY  CAM SP     STAR                             COMMENTS
  file='zaux:svhicat.prt'
 end
endcase
;
get_lun,lunr
openr,lunr,file
a=''
on_ioerror, skip1
if rec lt 0 then begin
  if rec lt -11 then for j=1,abs(rec)-10 do readf,lunr,a   ;skip this many records
  rec=0
end
while rec eq 0 do begin
        on_ioerror, skip2
	print,l1
	print,l2
	print,l3
	print,l2
	for j=1,19 do begin & readf,lunr,a & print,a & end
	skip2:read,'Choose entry number of your spectrum. '$
                    +'Enter 0 to continue, -1 to abort:',rec
        if rec eq -1 then begin                     ;normal abort
          free_lun,lunr
          retall
        end
        if rec lt -1 then begin                     ;error condition
          print,'No such record. Action: RETALL!'
          free_lun,lunr
          retall
        end
        if ( eof(lunr) and (rec eq 0) ) then begin  ;record not found
         print,'No record chosen. Action: RETALL!
         free_lun,lunr
         retall
        end
endwhile
free_lun,lunr
return
;
skip1: 
  print,'Not that many records in the '+dbase+' database. Action: RETALL!'
  free_lun,lunr
  retall
end