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

سؤال من فضلكم حول browse

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

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله بركاته

------------------------

فأنا أقوم بتصميم برنامج بسيط يقوم بعرض ملفات swf في الفيجوال بيسك

والحمد البرنامج جاهز(باستثناء بعض الكماليات)

البرنامج يقوم بعرض الملف سواء من الانترنت أو الجهاز لكن بعد ادخال العنوان كاملاً في مربع text وهاي المشكلة

فأود أن أسأل كيف يمكن أن أدرج مربع |Browse| للبحث عن الملف في الجهاز دون كتابته كاملاً

لو تكرمتم

#2

Command1 ShockwaveFlash1 CommonDialog1

Private Sub Command1_Click()
	With CommonDialog1
		'هذا المتحول خاص بنوعية فلتر الملفات الظاهرة
		.Filter = "Flash File(*.swf)|*.swf| All File(*.*)|*.*|"
		'هذا المتحول لكي يتم اظهار جميع الملفات حتى المخفية
		.Flags = cdlOFNHideReadOnly Or cdlOFNFileMustExist Or cdlOFNPathMustExist
		'يتم تسمية عنوان مربع الفتح
		.DialogTitle = "Open Flash File"
		'يتم تصفير الاسم الابتدائي
		.FileName = ""
		'يتم فتح النموذج او مربع الحوار فتح
		.ShowOpen
		'في حال لم يتم فتح اسم ملف يتم الخروج من الاجراء
		If .FileName = "" Then Exit Sub
		'يتم اسناد اسم الملف الى المتغير الخاص باسم الملف
		ShockwaveFlash1.Movie = .FileName
	End With

End Sub

ألا بذكر الله تطمئن القلوب

#3

فى Module

Option Explicit

Private Type OPENFILENAME
	lStructSize As Long
	hwndOwner As Long
	hInstance As Long
	lpstrFilter As String
	lpstrCustomFilter As String
	nMaxCustFilter As Long
	nFilterIndex As Long
	lpstrFile As String
	nMaxFile As Long
	lpstrFileTitle As String
	nMaxFileTitle As Long
	lpstrInitialDir As String
	lpstrTitle As String
	flags As Long
	nFileOffset As Integer
	nFileExtension As Integer
	lpstrDefExt As String
	lCustData As Long
	lpfnHook As Long
	lpTemplateName As String
End Type

Private Const OFN_HIDEREADONLY = &H4
Private Const OFN_FILEMUSTEXIST = &H1000

Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long

Public Function OpenDialog(FormName As Form, Optional Filter As String = "All Files (*.*)|*.*", Optional Title As String = "", Optional InitDir As String = "") As String

Dim ofn As OPENFILENAME
Dim A As Long
On Local Error Resume Next

ofn.lStructSize = Len(ofn)
ofn.hwndOwner = FormName.hWnd
ofn.hInstance = App.hInstance
If Right$(Filter, 1) <> "|" Then Filter = Filter + "|"

For A = 1 To Len(Filter)
	If Mid$(Filter, A, 1) = "|" Then Mid$(Filter, A, 1) = Chr$(0)
Next
ofn.lpstrFilter = Filter
ofn.lpstrFile = Space$(254)
ofn.nMaxFile = 255
ofn.lpstrFileTitle = Space$(254)
ofn.nMaxFileTitle = 255
ofn.lpstrInitialDir = InitDir
ofn.lpstrTitle = Title
ofn.flags = OFN_HIDEREADONLY Or OFN_FILEMUSTEXIST
A = GetOpenFileName(ofn)

If (A) Then
		OpenDialog = Trim$(ofn.lpstrFile)
	Else
		OpenDialog = ""
End If

End Function

ثم أستعمل الكود التالى :

Dim Path As String
Path = OpenDialog(Me, "Flash files (*.SWF)|*.swf", "Select a flash file")
If Path <> "" Then
	'Your code here
End If
#4

شكراً لكم

سأجرب ثم أرد

#5

السلام عليكم

بارك الله فيك أخي المزمجر على ردك واهتمامك

لكن يبدو أن هناك خلل أو شي ناقص أو أني لم أعرف أتعامل معه ........

والشكر موصول أيضاً لأخي msayed2004 والأكواد زبطط 100%

ان شاء الله سأكمل البرنامج وأضع نسخة في المنتدى

#6

مفيش خلل بكود الأخ المزمجر , هو بس نسى يقول انك تضيف أداة الـ Common Dialogs للمشروع الأول , على العموم كودى يتعامل بالـ APIs مباشرة فلا حاجة للأدوات و لك أن تختار أيهما يناسبك.

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

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