الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف افتح عدة مسارات في نفس الوقت

مغلق
بدأه vBsQ في 30 مارس 2007 · 4 رد · 936 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

عندما اقوم بفتح عدة مسارات في نفس الوقت

Open App.Path & "\Data\" & File1.fileName

 Open App.Path & "\Data\" & File2.fileName

 Open App.Path & "\Data\" & File3.fileName

فأن رسالة خطأ تظهر تخبرني بأن المسار مستخدم من قبل أو تم فتحه من قبل شخص اخر ... زي كذا فما الحل لأتمكن من فتح هذه المسارات في نفس الوقت

#2

الأخ الفاضل ...

جرب أستخدام التالى بعد أضافة Handle من النوع Integer للـ Type أو الـ Class الذى تستخدمه:

	File1.Handle = FreeFile()
	Open App.Path & "\Data\" & File1.fileName For Binary As File1.Handle

	File2.Handle = FreeFile()
	Open App.Path & "\Data\" & File2.fileName For Binary As File2.Handle

	File3.Handle = FreeFile()
	Open App.Path & "\Data\" & File3.fileName For Binary As File3.Handle
	Input #File3.Handle, sData
	...
	...
	Close File3.Handle

مع أستبدال Binary بما يناسب غرضك فى البرنامج

شكراً

تم تعديل هذه المشاركة بواسطة Eng. Usama El-Mokadem في 30 مارس 2007 في 11:23

Eng. Usama El-Mokadem

Nothing is impossible, the word impossible itself says that: I M - Possible

#3

ايضا اضافة لكلام الاخ Eng. Usama El-Mokadem

coffee.gif

كان هذا الخطاء يصادفني بالسابق

file is opened already

وقد قمت بحله بهذا الكود

Function

Private Function FileLocked(strFileName As String) As Boolean

On Error Resume Next

'HnHn : هنا يتم عملية فتح الملف
Open strFileName For Binary Access Read Lock Read As #1
Close #1

'HnHn : هنا يتم تفحص اخطاء الملف وتنظيف هذا الخطاء

If Err.Number <> 0 Then
FileLocked = True
Err.Clear
End If

End Function

Check

Private Sub Command1_Click()
FileLocked (FileName)
End Sub

FileName : المقصود هنا مسار الملف

سجل ايميلك هنا

googlejb5.gif ليصلك كل ما هو مفيد في عالم البرمجة
#4

اشكر المهندس اسامه لما قدمته وهذا ما ريد ان استطيع استخدام اكثر من مسار في نفس الوقت ولكنني لم استطع تطبيق ذلك من خلال ما قدمت

ام الكود الذي ادرجه الاستاذ HnHn فهو يقوم بعملية اغلاق المسار اذا كان مفتوحا هذا ممتاز واستفدت منه جدا الله يعطيك العافية

وياريت تعطوني مثال مصغر لأستخدام اكثر من مسار في نفس الوقت

#5

الأخ الفاضل ...

Files_Up1.zip

بأستخدام (MS-VB 6.0)

يحتوى المثال المرفق على (clsFiles) وهى كلاس جهزتها لتسهيل التعامل مع الملفات، وتحتوى على عدة دوال:

  1. CreateNewFile: إنشاء ملف جديد إذا لم يكن موجود
  2. OpenFile: ويجب أستدعائها أولاً لفتح الملف المراد التعامل معه
  3. ReadData: للقراءة من الملف Bytes
  4. ReadStringData: للقراءة من الملف String
  5. WriteStringData: للكتابة فى الملف String
  6. AppendStringData: للإضافة فى أخر الملف
  7. MoveTo: للتحرك لموضع يبدء منه القراءة أو الكتابة
  8. CompareFile: لمقارنة محتوى ملفين
  9. RemoveFile: لحذف الملف
  10. GetFileSize: ترجع حجم الملف المفتوح
  11. GetFilename: ترجع أسم الملف المستخدم
  12. GetLastDate: ترجع وقت وتاريخ أخر تعديل حدث بالملف
  13. GetAttribute: ترجع خصائص الملف
  14. CloseFile: لإغلاق الملف

ويمكنك التعامل مع عدة ملفات فى نفس الوقت من حيث القراءة والكتابة أو فتح ملفين القراءة من أحدهم والنسخ للأخر ... الخ

ويمكك تعريف والتعامل مع أكثر من ملف فى نفس الوقت:

Private Sub Form_Load()
	Dim File1 As New clsFiles
	Dim File2 As New clsFiles
	Dim File3 As New clsFiles

	Call File1.OpenFile("C:\Windows\win.ini") '  فتح ملف موجود
	Call File2.OpenFile("C:\Windows\system.ini")

	Call File3.CreateNewFile("C:\Test.txt") ' إنشاء ملف جديد
	Call File3.WriteStringData("Hello..." & _
			vbNewLine & vbNewLine & "Bye") ' الكتابة فى ملف
	Call File3.MoveTo(1) ' الإنتقال لأول الملف

	Label1.Caption = File1.GetFilename ' أسم الملف
	Label2.Caption = File2.GetFilename
	Label3.Caption = File3.GetFilename

	LabelS1.Caption = File1.GetFileSize ' حجم الملف
	LabelS2.Caption = File2.GetFileSize
	LabelS3.Caption = File3.GetFileSize

	Text1.Text = File1.ReadStringData ' قراءة الملف
	Text2.Text = File2.ReadStringData(25) ' قراءة 25 بايت من الملف
	Text3.Text = File3.ReadStringData

	If File1.CompareFile(File2) = True Then ' مقارنة ملفين
		MsgBox File1.GetLastDate & ": [" & File1.GetFilename & "]" & vbCrLf & _
		vbTab & "IDENTICAL" & vbCrLf & _
		File2.GetLastDate & ": [" & File2.GetFilename & "]" ' تاريخ اخر تعديل
	End If
	If File1.GetAttribute And ReadOnly Then
		MsgBox "File: [" & File1.GetFilename & "] is ReadOnly" ' خصائص الملف
	End If

	Call File3.RemoveFile   ' حذف الملف

	Call File3.CloseFile '  إغلاق الملف
	Call File2.CloseFile
	Call File1.CloseFile
End Sub

شكراً

Files_Up1.zip

تم تعديل هذه المشاركة بواسطة Eng. Usama El-Mokadem في 15 مايو 2007 في 11:56

Eng. Usama El-Mokadem

Nothing is impossible, the word impossible itself says that: I M - Possible

هذا الموضوع مغلق.

مواضيع مشابهة