2012-07-12 53 views
1

我想知道是否有一種方法可以使用一堆包含值的.txt文件來更改已編譯的IDL .pro文件中的變量值。IDL:自動改變.pro中的變量

例如我有3個.txt文件,每個文件中有2行。就讓我們稱他們爲:

1. C:\input1.txt 
2. C:\input2.txt 
3. C:\input3.txt 

凡內容是這樣的:

hello 
world 

而且我的.pro有看起來像這樣:

pro tst1 
common vars, a, b 
infile = 'C:\input1.txt' 
a ='' 
b ='' 
openr,lun, infile, /get_lun 
readf,lun,a 
readf,lun,b 
end 

pro tst2 
common vars, a, b 
tst1 
print,a, b 
end 

我想要做的是改變直到所有3個input.txt文件都被讀取後,每次迭代的infile變量。

不幸的是,我確實需要在第一個專業版中擁有公共塊和infile。我試圖自動化一個令人討厭的.pro(我的簡單例子),它使我有點瘋狂。

回答

1

喜歡的東西:

pro tst1, infile 
    common vars, a, b 

    a = '' 
    b = '' 
    openr, lun, infile, /get_lun 
    readf, lun, a 
    readf, lun, b 
    free_lun, lun 
end 

pro tst2 
    common vars, a, b 
    for i = 1, 3 do begin 
    tst1, string(i, format='(%"C:\infile%d.txt")') 
    print,a, b 
    endfor 
end 
+0

感謝mgalloy!這工作得很好。 – nori 2012-07-16 09:13:43