وضع الاخ الكريم عبد الله كود تحميل ملف من الشبكة وهناك كود تحديد المسار في النظام فما طريقة الربط لجعل البرنامج يقوم بتحميل ملف من مسار احدد له على الشبكة الى مسار ايضا احدده بشكل شقائمة شجرية مثلا على النظام
والف شكر سلفا
اخوكمNOP (f)
وضع الاخ الكريم عبد الله كود تحميل ملف من الشبكة وهناك كود تحديد المسار في النظام فما طريقة الربط لجعل البرنامج يقوم بتحميل ملف من مسار احدد له على الشبكة الى مسار ايضا احدده بشكل شقائمة شجرية مثلا على النظام
والف شكر سلفا
اخوكمNOP (f)
Do as I say, not as I do
We are Anonymous. We are Legion. We don't forgive. We don't forget
والله مافهمتك بالضبط، ولكن أرجو التوضيح أكثر، فأنت تريد تحميل ملف من مسار معين على الشبكة وهذا مفهوم، ولكني لم أفهم العبارة التالية:
اقتباسالى مسار ايضا احدده بشكل شقائمة شجرية مثلا على النظام
وإليك تحياتي
اريد ان اجعل المستخدم قادرا على تحديد المكان الذي يريد حفظ الملف فيه
ان لم يكن هذا واضحا اعلمني لارسم صورة توضيحية
وشكرا لك اخوي (f)(f)
Do as I say, not as I do
We are Anonymous. We are Legion. We don't forgive. We don't forget

هذا هو ما قصدته وشكرا لك (f)
اخوك NOP
Do as I say, not as I do
We are Anonymous. We are Legion. We don't forgive. We don't forget
وجدت الحل أخي NOP وهو حل تقليدي سهل:
متطلبات البرنامج
Class Module وليكن اسمه clsDownload
Form وليكن اسمها frmMain
CommandButton وليكن اسمه cmdDownload
CommandButton وليكن اسمه cmdexit
Textbox وليكن اسمه txtFrom
Textbox وليكن اسمه txtsaveas
DirListBux
DriveListBux
أضف الكود التالي في الكلاس موديول
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
Private Declare Function InternetOpen Lib "wininet" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Private Declare Function InternetCloseHandle Lib "wininet" (ByVal hInet As Long) As Integer
Const INTERNET_OPEN_TYPE_PRECONFIG = 0
Const INTERNET_FLAG_EXISTING_CONNECT = &H20000000
Const INTERNET_OPEN_TYPE_DIRECT = 1
Const INTERNET_OPEN_TYPE_PROXY = 3
Const INTERNET_FLAG_RELOAD = &H80000000
Public Function Get_File(sURLFileName As String, sSaveFileName As String) As Boolean
Dim lRet As Long
On Error GoTo err_Fix
lRet = InternetOpen("", INTERNET_OPEN_TYPE_DIRECT, vbNullString, vbNullString, 0)
lRet = URLDownloadToFile(0, sURLFileName, sSaveFileName, 0, 0)
Get_File = True
Exit Function
err_Fix:
Debug.Print Err.LastDllError, lRet
Err.Clear
Get_File = False
End Functionأضف الكود التالي في الفورم
Option Explicit Private Sub Form_Load() txtfrom.Text = "http://www.vb4arab.com/pix/book.zip" txtsaveas.Text = "VBbook.zip" End Sub Private Sub cmdDownload_Click() Dim Dow Dow = Dir1.Path & txtsaveas.Text Dim obj As clsdownload Set obj = New clsdownload Dim bRet As Boolean Screen.MousePointer = vbHourglass bRet = obj.Get_File(Trim(Me.txtfrom.Text), Trim(Dow)) If bRet = False Then txtsaveas.Text = "Error downloading!" Screen.MousePointer = vbDefault Set obj = Nothing MsgBox "Done", vbInformation End Sub Private Sub cmdExit_Click() Unload Me End Sub Private Sub Drive1_Change() Dir1.Path = Drive1.Drive End Sub
أرجو أن يكون هذا ما تريده ، ولا تنساني من دعائك أخي NOP.
أخوك عبد الله
ال الف شكر اخوي عبد الله الله يجزاك كل خير ويوفقك
الى الامام مع خالص تحياتي
Do as I say, not as I do
We are Anonymous. We are Legion. We don't forgive. We don't forget
اخوي يبدو انه في خطا عند هذه النقطة
Dow = Dir1.Path & txtsaveas.Text Dim obj As clsdownload ' هنا Set obj = New clsdownload Dim bRet As Boolean
ولا ادري ما سببه ! :(
'a module is not a vaild type'
ارجو منك المساعدة وشكرا سلفا
Do as I say, not as I do
We are Anonymous. We are Legion. We don't forgive. We don't forget
عزيزي NOP (f)(f) هل عملت Class Module وجعلت اسمه clsdownload، ووضعت فيه الكود الأول??
أخي Nop يبدو أن عاشق الفيجول قد أجاب على سؤالك بالنيابة عني، فجزاه الله خيرا.
يبدو أنك لم تنشئ كلاس موديول أو ربما أنشأتها ولم تسمها بالاسم المطلوب.
على كل حال جرب ورد علي
تحياتي إليك وإلى عاشق الفيجول
قمت بذلك اخوي
فشو هي المشكلة ؟
Do as I say, not as I do
We are Anonymous. We are Legion. We don't forgive. We don't forget
تم حل المشكلة وكانت جد بسيطة والسبب انا :(
استخدمت module بدل class module :P:o
Do as I say, not as I do
We are Anonymous. We are Legion. We don't forgive. We don't forget
الشكر موصول له سلفات تحياتي لك وله (f)
Do as I say, not as I do
We are Anonymous. We are Legion. We don't forgive. We don't forget
هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…