;+ ; Contains the extrait_mode procedure ; ; :Author: ; Philippe Zarka ; ; :History: ; 2003/12/08: Created ; ; 2003/12/08: Last Edit ;- ; ;+ ; extrait_mode is a procedure that <behavior desc here> ; ; :Params: ; nomlis: in, required, type=sometype ; fichier lis ; position: in, required, type=sometype ; la position de chaine ; chaine: in, required, type=sometype ; la chaine ; aaaajjj: out, required, type=sometype ; intervalles de temps dans le mode correspondant. ; hd: out, required, type=sometype ; intervalles de temps dans le mode correspondant. ; hf: out, required, type=sometype ; intervalles de temps dans le mode correspondant. ;- pro EXTRAIT_MODE, nomlis, position, chaine, aaaajjj,hd,hf longueur=strlen(chaine) for j=0,longueur-1 do if strmid(chaine,j,1) eq string(202b) then $ chaine = strmid(chaine,0,j)+' '+strmid(chaine,j+1,longueur-j-1) openr,u,nomlis,/get_lun bb='' & b='' on_ioerror, finb suiteb: readf,u,b longb=strlen(b) if longb ge position+longueur then begin for j=0,longueur-1 do if strmid(chaine,j,1) eq '?' then $ b = strmid(b,0,position+j)+'?'+strmid(b,position+j+1,longb-j-1) if strmid(b,position,longueur) eq chaine then begin for j=0,longb-1 do if strmid(b,j,1) eq string(202b) then $ b = strmid(b,0,j)+' '+strmid(b,j+1,longb-j-1) bb=[bb,b] endif endif goto,suiteb finb: close,u & free_lun,u if n_elements(bb) gt 1 then begin bb=bb[1:*] aaaajjj=long(strmid(bb,1,7)) hd=fix(strmid(bb,23,2))+fix(strmid(bb,26,2))/60.+fix(strmid(bb,29,2))/3600. hf=fix(strmid(bb,32,2))+fix(strmid(bb,35,2))/60.+fix(strmid(bb,38,2))/3600. endif else begin aaaajjj=[-1] & hd=[-1] & hf=[-1] endelse return end