Parsi Coders

نسخه‌ی کامل: استفاده از شی File System Object در ویژوال بیسیک
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
امروز می خوام درباره شی (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)