2011-11-27 49 views
6

當我使用OpenDialog打開一個文件夾時,如何過濾它以便用戶只能查看某些文件(例如,Stringgrid,* .sg),並且具有任何其他擴展名的文件不會出現在對話窗口中?如何在打開文件對話框中只顯示某些文件擴展名?

+2

不,你不能做第二個(基於擴展名以外的文件過濾文件),如果它們在同一個文件夾中。但正確的解決方案是爲每個用戶提供自己的文件夾以存儲文件,並使用訪問控制(文件夾權限)來防止用戶看到彼此的文件。 –

+1

我已經刪除了第二個問題,因爲它與原始問題太不同了。請在另一個帖子中詢問你的其他問題。 –

回答

9

OpenDialog.Filter屬性設置爲所需的文件過濾器。你可以在Object Inspector中做到這一點;點擊Filter屬性,你會看到一個小按鈕出現在...的右邊緣。點擊它,你會看到一個對話框出現。左側是文件的描述(例如,Excel files (*.xls))。右側是您要使用的過濾器,如*.xls

OpenDialog Filter Dialog

你也可以顯示你的對話框之前設置它的代碼:

OpenDialog1.Filter := `Excel files (*.xls)|*.xls`; 

當然,與任何說明代替Excel的東西,掩蓋你想使用。

2

FilterFilterIndex屬性用於指定顯示哪個文件擴展名(注意用戶可以手動覆蓋過濾器)。

OnIncludeItem事件用於選擇性地允許/禁止在對話框中列出單個文件/文件夾。

相關問題