Parsi Coders
استفاده از شی File System Object در ویژوال بیسیک - نسخه قابل چاپ

+- Parsi Coders (http://parsicoders.com)
+-- انجمن: Software Development Programming (http://parsicoders.com/forumdisplay.php?fid=37)
+--- انجمن: Visual Basic Programming (http://parsicoders.com/forumdisplay.php?fid=39)
+---- انجمن: Visual Basic 6 (http://parsicoders.com/forumdisplay.php?fid=44)
+---- موضوع: استفاده از شی File System Object در ویژوال بیسیک (/showthread.php?tid=2172)



استفاده از شی File System Object در ویژوال بیسیک - Ghoghnus - 04-24-2012

امروز می خوام درباره شی (File Sysytem Object ) که به FSO هم معروف است
مطالبی را خدمت شما دوستان ارائه بدم ,این شی قابلیت کار با Drive , Folder
, File , TestStream را دارد یعنی شما می توانید پوشه و یا فایلی را از
مسیری به مسیر دیگر کپی و حذف و یا منتقل کنید و هم چنین می توانید پو شه
ای را در مسیر مورد نظر ایجاد کنید

برای افزودن این شی به برنامه از
منوی Project آیتم Refrencese را انتخاب کنید و از آن آیتم Microsoft
Script Runtime را تیک می زنید . اکنون نوبت به تعریف یک متغیر از نوع ّFso
می باشد
کد:
Dim Fso As New FileSystemObject
در ضمن لازم به ذکر است که App.path مسیر جاری را که برنامه اجرایی در آن قرار دارد را بر می گر داند .
کد:
Fso.CopyFile App.Path & "\text.txt", "C:\", True ' True For Ovwerwrite
fso.MoveFile App.Path & "\text.txt", "C:\"  ' For Move File Of Current Path to "C:\" Path
fso.DeleteFile "c:\text.txt"
همین عملیات بالا را می توان برای Folder هم اجرا کرد . همان طور که متوجه
شده اید این شیء بسیار مهم است و می تواند کاربرد های زیادی برایتان داشته
باشد مثلاً من در زیر برنامه ای می نویسم که بتواند فایلی را در پو شه
System32 ویندوز کپی کند خوب بر ای اینکه بتوان پوشه ویندوز را پیدا کنیم
از یک API استفاده می کنم چون امکان داره ویندوز داخل پوشه هایی غیر از نام
Windows باشد این کار بر ای بر نامه هایی که می خواهید فایلی را در پوشه
ویندوز کپی کنی دکاربرد دارد مثلاً شما می خواهید فونتی را در پوشه font
ویندوز کپی کنید.
کد:
Private Declare Function GetWindowsDirectory Lib "kernel32" Alias _
"GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long _
) As Long

Dim fso As New FileSystemObject
Public S As String
Public SysDirectory As Long

Private Sub Command1_Click()
         fso.CopyFile App.Path & "\vb.txt", S + "\System32\", True
End Sub

Private Sub Form_Load()
        S = Space(255)
       'Get the Windows directory
       WinDirectory = GetWindowsDirectory(S, 255)
        S = Left$(S, WinDirectory)