0

در ويژوال بيسيک چگونه تعيين کنيم مسير (Path) قابل نوشتن است يا خير؟

 
papari
papari
کاربر برنزی
تاریخ عضویت : دی 1387 
تعداد پست ها : 314
محل سکونت : تهران

در ويژوال بيسيک چگونه تعيين کنيم مسير (Path) قابل نوشتن است يا خير؟

يک مسير (Path) ممکن است مسيري به يک درايو سي دي، درايو ديسکت (\:A) يا مسيري در شبکه باشد. مسيري که ممکن است شما اجازه نوشتن بر روي آن (براي ايجاد فايل يا تغيير در محتويات فايل) را نداشته باشيد. براي اين منظور تابع IsPathWriteable نوشته شده است که تعيين مي کند آيا مسير داده شده قابل نوشتن (Writeable) است يا خير. توجه داشته باشيد که اين تابع "وجود مسير" را کنترل نمي کند. اگر مسير وجود نداشته باشد يا غير معتبر باشد، مقدار False برگردانده ميشود. همچنين اگر مسير موجود باشد اما قابل نوشتن نباشد، مقدار False برگشت داده مي شود.

در قالب يک نمونه کد، بهتر مي توانيد کاربرد اين تابع را فرا بگيريد. براي اين منظور در ويژوال بيسيک يک فرم ايجاد کرده در در بخش کد فرم (Form Code)، کدهاي زير را وارد نماييد.

Public Function IsPathWriteable(path As String) As Boolean
  ' Returns True if path can be written to,
  ' False otherwise.
  On Error Resume Next
  Dim TempFileName As String, fn As Integer
  TempFileName = MakeTempFileName(path)
  fn = FreeFile
  Open TempFileName For Output As #fn
  ' no error - this path is writeable.
  If Err = 0 Then
   Close #fn
   Kill TempFileName
   IsPathWriteable = True
  Else
   IsPathWriteable = False
  End If
End Function

Public Function MakeTempFileName(path As String)
  ' Returns a filename (with path) that is not already in use in the indicated path.
  ' Name has the form path\1.tmp, path\2.tmp, etc.
  ' If path is blank then App.Path is used.
  ' Does not verify that path is valid.
  Dim x As Integer, s As String
  If path = "" Then path = App.path
  ' Be sure path ends with \.
  If (Right(path, 1) <> "\") Then path = path & "\"
  x = 0
  Do
   x = x + 1
   s = path & x & ".tmp"
  Loop Until Dir(s) = ""
  MakeTempFileName = path & x & ".tmp"
End Function

Private Sub Form_Load()
  MsgBox IsPathWriteable("d:\")
End Sub

و این جهان پر از صدای پای مردمی است که همچنانکه تو را می بوسند در ذهن خود طناب دارت را می بافند.
دوشنبه 17 فروردین 1388  5:28 PM
تشکرات از این پست
دسترسی سریع به انجمن ها