; ------------------------------------------------------------------
; 23 Juin 2000 : extraction a partir de fichiers comprimes
; ------------------------------------------------------------------

PRO rh_extrairecmp, fichier, hd, hf, fichier_ext

@rh_common.inc

  IF NOT (rh_open(fichier,/mono)) THEN RETURN
  f = '("Lecture   ",(a),"   ", 3(i2.2,":"),i2.2, "  ", 3(i2.2,":"),i2.2)'
  print, format = f,fichier, hd, hf
  print, format='("Creation  ",(a))', fichier_ext
  temp=[3600000L,60000L,1000L,10L] 
  msd=(transpose(temp)#long(hd))(0)
  msf=(transpose(temp)#long(hf))(0)
; selection des heures pour fichiers comprimes:
; calcul des indices des records de debut et de fin   
  rh_lecdeb,msd,msf,kdeb,kfin
  k0 = kdeb
  k1 = kfin
  hd = rh_readh(k0)
  hf = rh_readh(k1)
;
  k2= k1-k0+1
  IF k2 LT 1 THEN return

;Open fichier extrait
  OPENW,unit,fichier_ext,/GET_LUN

;Ecriture entete
  entfi2 = entfi
  ENTFI2.HDEB  = hd
  ENTFI2.HFIN  = hf

; longueur de l'entete a reecrire
  entfi2.lgent = n_tags(entfi,/length)

  IF entFI.endian EQ 1 THEN WRITEU, UNIT, swap_endian(entFi2) $
  ELSE WRITEU,UNIT,entfi2

  FOR k = k0, k1 do begin
      bFI = aFI(k)
      WRITEU, UNIT, bFI
  ENDFOR
   
;Close fichiers		
  CLOSE,UNIT
  FREE_LUN,UNIT
  RH_CLOSE
  print, format='("Fin    ", 3(i2.2,":"),i2.2)', hf
END

