我公司開發的TCL UI與需要由用戶輸入幾個輸入。第一次用戶將輸入所有文件路徑,但我想將用戶定義的條目保存在一個文件中,然後再加載它。 儲蓄是罰款...我想保存所有這些變量在一個文件中,但是從文件加載它需要一個映射,它可以怎麼做? 任何示例將有幫助 SaveTCL輸入項中,然後加載它
0
A
回答
0
我通過下面的代碼實現了這一點,雖然不是非常優化。 首先我保存一個輸入文件的變量值,然後按相同的順序讀取它們。
proc save_input_entries {} {
global ENTRYfilename ENTRYfilename2 ENTRYfilename3 ENTRYfilename4 ENTRYfilename5 ENTRYfilename6 ENTRYfilename7 ENTRYfilename8 ENTRYfilename9 ENTRYfilename10 ENTRYfilename11 ENTRYfilename12 ENTRYfilename13 ENTRYfilename14 ENTRYfilename15 ENTRYfilename16 ENTRYfilename17 topdir corner_dir corner_name
set filename Input_entries.txt
set fileId [open $filename "w"]
puts $fileId $ENTRYfilename
puts $fileId $ENTRYfilename3
puts $fileId $ENTRYfilename4
puts $fileId $ENTRYfilename5
puts $fileId $ENTRYfilename7
puts $fileId $ENTRYfilename8
puts $fileId $ENTRYfilename15
puts $fileId $ENTRYfilename14
puts $fileId $ENTRYfilename16
puts $fileId $ENTRYfilename17
close $fileId
}
proc load_input_entries {} {
global ENTRYfilename ENTRYfilename2 ENTRYfilename3 ENTRYfilename4 ENTRYfilename5 ENTRYfilename6 ENTRYfilename7 ENTRYfilename8 ENTRYfilename9 ENTRYfilename10 ENTRYfilename11 ENTRYfilename12 ENTRYfilename13 ENTRYfilename14 ENTRYfilename15 ENTRYfilename16 ENTRYfilename17
set fp [open Input_entries.txt]
set stuff [read $fp]
set lines [split $stuff "\n"]
set ENTRYfilename [lindex $lines 0]
set ENTRYfilename3 [lindex $lines 1]
set ENTRYfilename4 [lindex $lines 2]
set ENTRYfilename5 [lindex $lines 3]
set ENTRYfilename7 [lindex $lines 4]
set ENTRYfilename8 [lindex $lines 5]
set ENTRYfilename15 [lindex $lines 6]
set ENTRYfilename14 [lindex $lines 7]
set ENTRYfilename16 [lindex $lines 8]
set ENTRYfilename17 [lindex $lines 9]
}
1
如果你有靈活定義,其中的內容將被存儲在文件的格式,我建議存儲內容的方式,使得讀取/寫入映射到按鍵,並且是訂單無關。這將允許您更新您的用戶界面以添加/刪除輸入字段,而不用擔心它們在文件中被捕獲的順序。
對於例如,文件格式可能會是這樣的:
Top Directory: <value>
LEF File: <value>
.
.
.
你必須仔細選擇鍵(標籤)和值之間的分隔符。
如果這將是在TCL一直使用,你可以把它簡單通過存儲在一個文件中的數組。當您加載文件以填充UI中的條目時,這也會加速。例如,您的文件格式可能是這樣的:
set inputFields("Top Directory") <value>
set inputFields("LEF File") <value>
相關問題
- 1. 輸入焦點字段,然後添加頁面加載類
- 2. 獲取從輸入值,然後將它們添加,JavaScript的
- 3. 加載腳本,如果尚未加載,然後使用它們
- 4. AngularJS加載JSON數據,然後從它解析/加載HTML
- 5. 如何將文件添加到Android項目,然後使用NDK加載它
- 6. 顯示輸入然後添加輸入到剪貼板IE11
- 7. 從輸入文本中獲取值然後提醒它
- 8. 閃亮R中的矢量輸入然後用它
- 9. 在窗體中輸入信息,然後通過jquery調用它
- 10. 在一個數組中輸入Floats然後將它們加在一起
- 11. JavaScript將變量放入url中,然後在重新加載時使用它
- 12. 將UIViews加載到數組中,然後使用它們
- 13. 如果變量在db然後停止 - 如果變量不 - 然後輸入它
- 14. 將項添加到列表中,然後將它們變爲ListItems
- 15. 將表單輸入字段加載到一個javascript數組中,然後驗證
- 16. JQuery fadeOut然後加載
- 17. 加載然後寫圖像
- 18. 將輸入項添加到客戶端的網格單元,然後在回發中訪問它們
- 19. 將圖像加載到C#中,然後插入到MySQL表中
- 20. 寫Excel加載項與VBA,然後把一個按鈕,觸發它
- 21. 如何輸入2個文件然後在python中輸出它們?
- 22. 加載後加載()後淡入圖像()
- 23. 如何改變輸入按鈕的值後,它使用jQuery在DOM中加載
- 24. 讀取輸入,然後寫入文件
- 25. 插入iFrame,然後在FF上的所有其他內容之前加載它。
- 26. 需要加載圖像,然後在mysql中插入
- 27. 輸入一個數字然後倒轉它
- 28. 時輸入號碼,然後信它讀起來就像數
- 29. Linux加入2行,然後根據分隔符輸入新行
- 30. Actionscctript 3.0 preloader加載一次,然後當頁面刷新時,它不加載
請添加一個用於保存變量的代碼示例。 –