pro LISTE_COMP_PAQUETS, fichierK, HFR, imode, lun=lun
if N_elements(lun) eq 0 then lun = -1
mode = [' A', ' S', ' C', ' M']
if N_elements(imode) eq 0 then imode = -1
if imode ne -1 then begin
testmode = ishft(HFR.entete(2) and '60'x,-5)
test = where(testmode eq imode)
if test(0) ne -1 then begin
buf = HFR
HFR = HFR(test)
endif else begin
message,'0 paquet '+mode(imode)+' dans '+fichierK,/info
return
endelse
endif
nHFR = n_elements(HFR)
nP = 1 & nP0 = 0 & mode0 = ishft(HFR(nP0).entete(2) and '60'x,-5)
prstring = strmid(fichierK,0,11)
for i = 1, nHFR-1 do begin
modei = ishft(HFR(i).entete(2) and '60'x,-5)
if (modei eq mode0) and ((modei ne 0) or (total(HFR(i).entete(4:18) - $
HFR(nP0).entete(4:18)) eq 0)) then nP = nP + 1 else begin
prstring = prstring + string(HFR(nP0).an,HFR(nP0).mois,HFR(nP0).jour, $
HFR(nP0).hh,HFR(nP0).mm,HFR(nP0).ss, $
HFR(nP0+nP-1).hh,HFR(nP0+nP-1).mm,HFR(nP0+nP-1).ss, $
format='(i5,2("/",i2.2),i3.2,2(":",i2.2),">",i2.2,2(":",i2.2))')
if mode0 ne 0 then begin
prstring = prstring + mode(mode0)
prstring = prstring + string(nP,format='(i5)')
endif else $
LISTE_COMP_ETAT, prstring, HFR(nP0).entete, HFR(nP0).lonP, nP, nP0+1
prstring = strtrim(prstring,2)
for j=0,strlen(prstring)-1 do if strmid(prstring,j,1) eq ' ' then $
prstring = strmid(prstring,0,j)+' '+ $
strmid(prstring,j+1,strlen(prstring)-j-1)
printf, lun, prstring
prstring = strmid(fichierK,0,11)
nP0 = i & mode0 = ishft(HFR(nP0).entete(2) and '60'x,-5)
nP = 1
endelse
endfor
prstring = strmid(fichierK,0,11)
prstring = prstring + string(HFR(nP0).an,HFR(nP0).mois,HFR(nP0).jour, $
HFR(nP0).hh,HFR(nP0).mm,HFR(nP0).ss, $
HFR(nP0+nP-1).hh,HFR(nP0+nP-1).mm,HFR(nP0+nP-1).ss, $
format='(" ",i4,2("/",i2.2)," ",i2.2,2(":",i2.2),">",i2.2,2(":",i2.2))')
if mode0 ne 0 then begin
prstring = prstring + mode(mode0)
prstring = prstring + string(nP,format='(i5)')
endif else $
LISTE_COMP_ETAT, prstring, HFR(nP0).entete, HFR(nP0).lonP, nP, nP0+1
prstring = strtrim(prstring,2)
for j=0,strlen(prstring)-1 do if strmid(prstring,j,1) eq ' ' then $
prstring = strmid(prstring,0,j)+' '+ $
strmid(prstring,j+1,strlen(prstring)-j-1)
printf, lun, prstring
if imode ne -1 then HFR = buf
return
end