PDA

View Full Version : بدست آوردن فولدر هاي داخل يك فولدر



skh1300
شنبه 10 مهر 1389, 12:49 عصر
سلام
چگونه فولدر هاي يك پوشه را در يه ليست باكس نشان بديم
مثلا ما در c:\a1 دوتا فولدر داريم به نام B1,B2 حالا چه كدي بنويسيم كه اين دو فولدر اسمشون وارد ليست باكس بشه يعني اگه شد سه تا فولدر باز هم داخل ليست باكس اسم سه تاش بنويسه

xxxxx_xxxxx
شنبه 10 مهر 1389, 15:38 عصر
سلام،
هم می تونید از FSO استفاده کنید (File System Object) و هم می تونید از تابع Dir استفاده کنید.
برای استفاده از تابع Dir به شکل زیر عمل کنید:


Dim myPath As String, fName As String
myPath = "C:\"
fName = Dir(myPath, vbDirectory)
Do While fName <> ""
If (GetAttr(myPath & fName) And vbDirectory) = vbDirectory Then List1.AddItem fName
fName = Dir()
Loop
گرچه به تابع Dir پارامتر vbDirectory داده ایم اما باز هم نیاز هست تا با تابع GetAttr خصوصیات آن را بررسی کنیم تا مطمئن شویم که این یک فولدر هست. خروجی GetAttr رو هم باز با ثابت vbDirectory که عدد 16 هست And منطقی می کنیم تا همه نوع پوشه (Hidden, ReadOnly, ...) رو هم شامل بشه. اگر این کارو نکنید فقط پوشه های Normal که مقدارشون برابر 16 هست رو جدا میکنه.

موفق باشید/