PDA

View Full Version : سوال: کارکردن با فایل؟



viper2009
شنبه 18 مهر 1388, 02:54 صبح
سلام
می خوام از دستور File.Copy برای کپی کردن فولدر از CD به هارد استفاده کنم
فقط نمی دونم چطور استفاده کنم که مسیر رو از سی دی بشناسه
و ضمناً با یک رویداده دیگه همون فایل رو با محتویاتش پاک کنه.

Parham.D
شنبه 18 مهر 1388, 07:27 صبح
من که متوجه نشدم!! خب همانطور که مسیر را از درایوهای دیگه میشناسه.

برای شناخت مسیر از سی دی، شما باید اول شرایطی را فراهم کنید که کاربر بتونه سی دی را انتخاب کنه و یا آدرس مسیر فولدر را از سی دی را وارد کنه. مثل کومبو باکس یا استفاده از Dialog ها نمونه کد زیر استفاده از کمبو باکس هست.




Dim drives() As DriveInfo = DriveInfo.GetDrives()
Dim drive As DriveInfo

For Each drive In drives

If drive.IsReady = True Then
ComboBox1.Items.Add(drive.Name.ToString() + " " + drive.DriveType.ToString())
End If


Next



اطلاعات بیشتر:
http://barnamenevis.org/forum/showthread.php?t=183561&highlight=Copy+Directory (http://barnamenevis.org/forum/showthread.php?t=183561&highlight=Copy+Directory)
http://barnamenevis.org/forum/showthread.php?t=179781&highlight=Copy+Directory

nokhodsiah2001
شنبه 18 مهر 1388, 08:30 صبح
سلام
پیرو فرمایشات دوستمون Parham

ابتدا Imports System.IO و بعد ادامه کد که فکر کنم دوستمون فراموش کرده بود

viper2009
شنبه 18 مهر 1388, 10:33 صبح
سلام
پیرو فرمایشات دوستمون Parham

ابتدا Imports System.IO و بعد ادامه کد که فکر کنم دوستمون فراموش کرده بود

درسته
ولی VB باهوشه اگه Import نکنیم خودش خطا می گیره و می پرسه که Import یا عوضش کنم

viper2009
شنبه 18 مهر 1388, 11:04 صبح
من که متوجه نشدم!! خب همانطور که مسیر را از درایوهای دیگه میشناسه.

برای شناخت مسیر از سی دی، شما باید اول شرایطی را فراهم کنید که کاربر بتونه سی دی را انتخاب کنه و یا آدرس مسیر فولدر را از سی دی را وارد کنه. مثل کومبو باکس یا استفاده از Dialog ها نمونه کد زیر استفاده از کمبو باکس هست.




Dim drives() As DriveInfo = DriveInfo.GetDrives()
Dim drive As DriveInfo


For Each drive In drives


If drive.IsReady = True Then
ComboBox1.Items.Add(drive.Name.ToString() + " " + drive.DriveType.ToString())
End If



Next




اطلاعات بیشتر:



http://barnamenevis.org/forum/showthread.php?t=183561&highlight=Copy+Directory
(http://barnamenevis.org/forum/showthread.php?t=183561&highlight=Copy+Directory)


http://barnamenevis.org/forum/showthread.php?t=179781&highlight=Copy+Directory




ممنون
ولی درایو سی دی رو نشون نمی ده
و من می خوام بطور اتوماتیک یک فولدر از پیش تعیین شده را از سی دی بر روی هارد کپی کنم

Parham.D
یک شنبه 19 مهر 1388, 09:55 صبح
من همیشه کدها را تست میکنم، بعد میزارم!! درایو سی دی رو برای من در کومبو باکس نشان داد. میتونی در تصویر ضمیمه ببینی. خب اینکه خیلی ساده است. شما یک فولدر داری، پس مسیر فولدر موجود است. به کد زیر دقت کن. تمام محتویات فولدر و زیر فولدر را کپی میکند. حالا شما خودت مسیر فولدر داخل سی دی را بهش بده








Public Sub copyDirectory(ByVal Src As String, ByVal Dst As String)
Dim Files As [String]()
If Dst(Dst.Length - 1) <> Path.DirectorySeparatorChar Then
Dst += Path.DirectorySeparatorChar
End If

If Not Directory.Exists(Dst) Then
Directory.CreateDirectory(Dst)
End If

Files = Directory.GetFileSystemEntries(Src)
For Each Element As String In Files
' Sub directories
If Directory.Exists(Element) Then
copyDirectory(Element, Dst + Path.GetFileName(Element))
Else
' Files in directory
File.Copy(Element, Dst + Path.GetFileName(Element), True)
End If
Next
End Sub