SXXXXXXX_RadarDataReader/_src_idl/pcrdv_E/PRO/extract_pos.pro
VALLONGOL 5de2650675 add
2025-11-12 13:43:30 +01:00

53 lines
1.6 KiB
Prolog

; *******************************************************************************************
; PROGRAM BY DI BERNARDO GIANFRANCO
;
; SCOPO: questa funzione estrae dal file "File_Name_Conf" gli interi "pos" ( vedi formato del file )
; e li memorizza in un array di interi.
;
; PARAMETRI INPUT: - File_Name_Conf
;
; PARAMETRI OUTPUT: - ARRAY di interi contenente le posizioni specificate nel file "File_Name_Conf" ( OR )
; - "stringa" ( descrive l'errore)
;
; *******************************************************************************************
FUNCTION Extract_pos, File_Name_Conf
;--Opzioni di compilazione--
COMPILE_OPT STRICTARR
;-- Legge le posizioni dal file di configurazione e memorizza i dati
;-- in un array di interi
;-------------------------------------------------------------------
GET_LUN, unit_read
OPENR, unit_read, File_Name_Conf, Error = err
IF( err NE 0 ) THEN BEGIN
FREE_LUN, unit_read
RETURN, !Err_string
ENDIF
intestazione = ''
;-- Legge l'intestazione
READF, unit_read, intestazione
Array_pos = INTARR(1)
num_el = 0
WHILE( NOT EOF(unit_read) ) DO BEGIN
pos = 0
name = ''
type = 0
READF, unit_read, pos, type, name
num_el = num_el + 1
IF( num_el GT 1 ) THEN BEGIN
Array_pos = [ Array_pos, pos ]
ENDIF ELSE Array_pos[0] = pos
ENDWHILE
FREE_LUN, unit_read
RETURN, Array_pos
END