(VB)FTPÒì²½ÏÂÔØ
¸Ã·½·¨²»ÐèҪʹÓÃAPI¼°µÚÈý·½¿Ø¼þ
ÕâÀïʹÓõÄÊÇVBµÄUserControl¿Ø¼þµÄAsyncRead·½·¨
²½ÖèÈçÏÂ:
1¡¢Ìí¼ÓÒ»¸öÓû§¿Ø¼þ£¬ÉèÖÃInvisibleAtRuntimeÊôÐÔΪtrue£¬Ä¿µÄÊÇÔËÐÐʱ¸Ã¿Ø¼þ²»ÏÔʾÓû§½çÃæ£¬¾ÍÏóTimer¿Ø¼þÒ»Ñù¡£
2¡¢µ½×Ô¶¨Òå¿Ø¼þµÄ´úÂë´°¿Ú£¬Ìí¼ÓÈçÏ´úÂë
Option Explicit
'ÏÂÔØ½á¹ûö¾Ù
Public Enum DownloadResults
eSUCCESS = 0 'ÏÂÔØ³É¹¦
eCONNECTERROR = 1 'Á¬½Ó´íÎó
eTRANSFERERROR = 2 'Êý¾Ý´«Êä´íÎó
eWRITEERROR = 3 '±£´æ±¾µØ´íÎó
eUserStop = 4 'ÖÐÖ¹
End Enum
'ÏÂÔØ½ø¶Èʼþ Identifier-ÏÂÔØ±êʶ,RecvdBytes-ÒÑÏÂÔØ×Ö½ÚÊý,MaxBytes-×Ü×Ö½ÚÊý,PassTimer-ÒÑÓÃÏÂÔØÊ±¼ä(Ãë)
Public Event DownloadProgress(Identifier As String, RecvdBytes As Long, MaxBytes As Long, PassTimer As Long)
'ÏÂÔØÍê³Éʼþ Identifier-ÏÂÔØ±êʶ,ccDownloadResults-ÏÂÔØ½á¹û,PassTimer-ÒÑÓÃÏÂÔØÊ±¼ä(Ãë)
Public Event DownloadComplete(Identifier As String, Result As DownloadResults, PassTimer As Long)
Dim FstrURL As String 'FTP ÏÂÔØ×Ö·û´®,º¬IP,¶Ë¿ÚºÅ,Óû§Ãû,ÃÜÂë,ÏÂÔØµÄÎļþ¼°Æä·¾¶
Dim FstrSaveFile As String 'ÏÂÔØµÄÎļþ±£´æÔÚ±¾µØµÄÎļþÃû¼°Æä·¾¶
Dim FstrIdentifier As String 'ÏÂÔØ±êʶ
Dim FlngStart As Long '¿ªÊ¼ÏÂÔØÊ±¼ä
'ÏÂÔØÎļþ
'strURL FTP ÏÂÔØ×Ö·û´®,º¬IP,¶Ë¿ÚºÅ,Óû§Ãû,ÃÜÂë,ÏÂÔØµÄÎļþ¼°Æä·¾¶
' ÐÎÈç ftp://Óû§Ãû:ÃÜÂë@FTPµØÖ·/Ŀ¼/Îļþ
'strSaveFile ±£´æÊ±µÄ±¾µØÎļþÃû
'strIdentifier ÏÂÔØ±êʶ,¿ÉÒÔͬʱÏÂÔØ¶à¸öÎļþ,ÒÀ¾Ý´Ë×Ö·û´®Çø±ðËùÏÂÔØµÄÎļþ
Public Sub DownLoad(ByVal strURL As String, ByVal strSaveFile As String, ByVal strIdentifier As String)
On Error GoTo ERRHAND
FstrURL = strURL
FstrSaveFile = strSaveFile
FstrIdentifier = strIdentifier
FlngStart = Timer
UserControl.AsyncRead strURL, vbAsyncTypeByteArray, strIdentifier, vbAsyncReadForceUpdate
Exit Sub
ERRHAND:
RaiseEvent DownloadComplete(strIdentifier, eCONNECTERROR, Timer - FlngStart)
End Sub
Private Sub UserControl_AsyncReadComplete(AsyncProp As AsyncProperty)
On Error GoTo Errs
Ïà¹ØÎĵµ£º
Put Óï¾ä
½«Ò»¸ö±äÁ¿µÄÊý¾ÝдÈë´ÅÅÌÎļþÖС£
Put [#]filenumber, [recnumber], varname
Get Óï¾ä
½«Ò»¸öÒÑ´ò¿ªµÄ´ÅÅÌÎļþ¶ÁÈëÒ»¸ö±äÁ¿Ö®ÖС£
Get [#]filenumber, [recnumber], varname
ÀýÈ磺
dim B as byte
open "File1.txt" for binary as #1
get #1, 1, B
close #1
¼´¿É½«File1.txtÎļþµ ......
VBÏÂÈçºÎ±àдCRCУÑé³ÌÐò
¡¡¡¡Ëæ×żÆËã»ú¼¼ÊõµÄ²»¶Ï·¢Õ¹£¬ÔÚÏÖ´ú¹¤ÒµÖУ¬ÀûÓÃ΢»ú½øÐÐÊý¾ÝͨѶµÄ¹¤Òµ¿ØÖÆÓ¦ÓõÃÒ²Ô½À´Ô½¹ã·º¡£ÓÉÓÚ´«Êä¾àÀë¡¢ÏÖ³¡×´¿öµÈÖî¶à¿ÉÄܳöÏÖµÄÒòËØÓ°Ï죬¼ÆËã»úÓëÊÜ¿ØÉ豸֮¼äµÄͨѶÊý¾Ý³£»á·¢ÉúÎÞ·¨Ô¤²âµÄ´íÎó¡£ÎªÁË·ÀÖ¹´íÎóËù´øÀ´µÄÓ°Ï죬һ°ãÔÚͨѶʱ²ÉÈ¡Êý¾ÝУÑéµÄ°ì·¨£¬¶øÑ»·ÈßÓàÂëУ ......
Private Declare Function OpenThread Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwThreadId As Long) As Long
Private Const THREAD_ALL_ACCESS = &H1F03FF
OpenThread(THREAD_ALL_ACCESS, 1, Ïß³ÌID) 'ÓÉÏß³ÌIDÈ¡µÃÏ߳̾ä±ú,·µ»ØÏß³Ì¾ä± ......
Option Explicit
Public Function ascii2Char(strInput As String) As String
Dim i As Integer
Dim strTemp As String
Dim nPos As Integer
Dim nValue As Integer
i = 1
nPos = InStr(i, strInput, "&#", vbTextCompare)
While (nPos > 0)
ascii2Char = ascii2Char + Left(st ......
——————————————————————————————————
ÔÚc#ÖÐÈçºÎʹÓÃÒÔǰc++µÄ.lib¿âºÍ.hÍ·Îļþ
zhujiang_1977£¨Öì½ ......