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

سؤال الى الاخوة الافاضل وخصوصا الاخ الكريم عبد الله والاخ عرفة

مغلق
بدأه Xacker في 7 أبريل 2003 · 14 رد · 862 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

وضع الاخ الكريم عبد الله كود تحميل ملف من الشبكة وهناك كود تحديد المسار في النظام فما طريقة الربط لجعل البرنامج يقوم بتحميل ملف من مسار احدد له على الشبكة الى مسار ايضا احدده بشكل شقائمة شجرية مثلا على النظام

والف شكر سلفا

اخوكمNOP (f)

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#2

والله مافهمتك بالضبط، ولكن أرجو التوضيح أكثر، فأنت تريد تحميل ملف من مسار معين على الشبكة وهذا مفهوم، ولكني لم أفهم العبارة التالية:

اقتباس
الى مسار ايضا احدده بشكل شقائمة شجرية مثلا على النظام

وإليك تحياتي

ani.gif
#3

اريد ان اجعل المستخدم قادرا على تحديد المكان الذي يريد حفظ الملف فيه

ان لم يكن هذا واضحا اعلمني لارسم صورة توضيحية

وشكرا لك اخوي (f)(f)

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#4

ab1.gif

هذا هو ما قصدته وشكرا لك (f)

اخوك NOP

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#5

مؤقتاً أخي NOP أرجو أن تجرب هذه الأداة.

fileview_21.zip

ani.gif
#6

أو هذه الأداة

وإليك تحياتي(gift)

treeview.zip

ani.gif
#7

وجدت الحل أخي 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.

أخوك عبد الله

ani.gif
#8

ال الف شكر اخوي عبد الله الله يجزاك كل خير ويوفقك

الى الامام مع خالص تحياتي

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#9

اخوي يبدو انه في خطا عند هذه النقطة

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

#10

عزيزي NOP (f)(f) هل عملت Class Module وجعلت اسمه clsdownload، ووضعت فيه الكود الأول??

#11

أخي Nop يبدو أن عاشق الفيجول قد أجاب على سؤالك بالنيابة عني، فجزاه الله خيرا.

يبدو أنك لم تنشئ كلاس موديول أو ربما أنشأتها ولم تسمها بالاسم المطلوب.

على كل حال جرب ورد علي

تحياتي إليك وإلى عاشق الفيجول

ani.gif
#12

قمت بذلك اخوي

فشو هي المشكلة ؟

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#13

تم حل المشكلة وكانت جد بسيطة والسبب انا :(

استخدمت 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

#14

هه :D الحمد لله إنها اتحلت ، ويجب أن تكون شاكراً لعاشق الفيجول لأنه هو اللي دلنا على الحل;).

ani.gif
#15

الشكر موصول له سلفات تحياتي لك وله (f)

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…