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

مساعدة في كود

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

لدي هذا الكود و اريد حل دائما يأتي لي خطأ في الاوامر

'ضع الكود التالي في Class Module وليكن اسمه clsDownload



Option Explicit

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 = ""
txtTo.Text = ""
End Sub

Private Sub cmdDownload_Click()
Dim obj As clsDownload هذه عبارة الخطأ
Set obj = New clsDownload
Dim bRet As Boolean

Screen.MousePointer = vbHourglass
bRet = obj.Get_File(Trim(Me.txtFrom.Text), Trim(Me.txtTo.Text))
If bRet = False Then Me.txtTo.Text = "Error downloading!"
Screen.MousePointer = vbDefault
Set obj = Nothing
MsgBox "Done", vbInformation
End Sub

Private Sub cmdExit_Click()
Unload Me
End Sub

و مشكورين

من احب شيء ابدع وابتدع فيه

#2

بعيدا عن مكان الخطأ فالكود مليان حاجات ملهاش لازمة , بأختصار ممكن تعتمد على الكود التالى :

'KPD-Team 2000
'URL: http://allapi.mentalis.org/

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
Public Function DownloadFile(URL As String, LocalFilename As String) As Boolean
	Dim lngRetVal As Long
	lngRetVal = URLDownloadToFile(0, URL, LocalFilename, 0, 0)
	If lngRetVal = 0 Then DownloadFile = True
End Function
Private Sub Form_Load()
	'example by Matthew Gates (Puff0rz@hotmail.com)
	DownloadFile "http://www.allapi.net", "c:\allapi.htm"
End Sub

و كمان دالة URLDownloadToFile لا أنصح بها على الأطلاق لأنها هتوقف برنامجك لغاية ما ينتهى تنزيل الملف , ده بديل أفضل :

Download files from the Web (No Winsock)

تعديل : و بالمناسبة مفيش داعى لأستخدام Classes فى الحاجات دى.

تم تعديل هذه المشاركة بواسطة msayed2004 في 27 يوليو 2007 في 14:24

#3

السلام عليكم

أخي لا يوجد داعي أن تستخدم الobj

Dim obj As clsDownload هذه عبارة الخطأ
  Set obj = New clsDownload

استعمل getfile مباشرة

Private Sub cmdDownload_Click()

  Dim bRet As Boolean

	 Screen.MousePointer = vbHourglass
	   bRet = Get_File(Trim(Me.txtFrom.Text), Trim(Me.txtTo.Text))
		If bRet = False Then Me.txtTo.Text = "Error downloading!"
		  Screen.MousePointer = vbDefault

	 MsgBox "Done", vbInformation
End Sub
#4

أخت mirna هو بيستعمل Class Module مش Module

#5

شكرا أخ2004 msayed

جربت المثال عندي لم يعط error

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

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