版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、課題:FTP協(xié)議實(shí)現(xiàn)程序選題1 .課程設(shè)計(jì)目的本課程設(shè)計(jì)設(shè)計(jì)需要編寫程序,對(duì) FPT協(xié)議有非常清楚的認(rèn)識(shí)2 .課程設(shè)計(jì)要求完成應(yīng)用層協(xié)議的基本工作模型,規(guī)劃客戶,服務(wù)器的基本結(jié)構(gòu)與模塊組成,完成應(yīng)用 層協(xié)議設(shè)計(jì),網(wǎng)絡(luò) 應(yīng)用軟件設(shè)計(jì)方法與編程。FTP功能模塊及原理1. FPT基本原理FIP使用兩條Tcp連接來完成文件傳輸,控制連接與數(shù)據(jù)連接。控制連接用與傳輸控制,數(shù)據(jù)連接用于數(shù) 據(jù)傳輸。在服務(wù)器啟動(dòng)后,服務(wù)器會(huì)在端口21等待客戶的連接請(qǐng)求,有用戶需要傳輸文件時(shí),客戶與服務(wù)器的端口21建立一個(gè)控制連接,用來傳送客戶的命令和服務(wù)器的應(yīng)答,是連接一直保持到客戶與服務(wù)器通信結(jié)果為止。當(dāng)客戶發(fā)出數(shù)據(jù)傳輸命
2、令時(shí),服務(wù) 器會(huì)主動(dòng)與客戶建立數(shù)據(jù)連接,并與其進(jìn)行數(shù)據(jù)交換。2. FTP功能模塊用尸a控制鏈自巾ftp命令心 ftp響應(yīng)+'服務(wù)器端協(xié) 議解串圣器U文件客戶端數(shù) 菇傳翰服零器端魏據(jù)傳暢文件系統(tǒng)1程序功能的介紹1) FIP連接進(jìn)行FIP連接,首先要給出目的計(jì)算機(jī)的名稱或地址,當(dāng)連接到信宿機(jī)后,一般要進(jìn)行登錄,在檢驗(yàn)用戶ID號(hào)和口令后,連接才得以建立,某些系統(tǒng)也允許用戶進(jìn)行匿名登錄。與在所有的多用戶系FTP功能模塊及FIP連接統(tǒng)中一樣,對(duì)于使用過程中,需要驗(yàn)證權(quán)限。同一目錄或文件,不同的用戶擁有不同的權(quán)限,所以在2)文件傳輸方式FTP可用多種格式傳輸文件,通常由系統(tǒng)定,大多數(shù)系統(tǒng)(包括UN
3、IX系統(tǒng))只有兩種模式:文本模式和二進(jìn)制模式。文件傳輸器使用ASCII碼,并由回車鍵和換行符分開,而二進(jìn)制不用轉(zhuǎn)換或格式化就可以傳字符,二進(jìn)制模式比文本模式更快,并且可以傳輸所有ASCII值,所以系統(tǒng)管 理而一般將FTP設(shè)置成二進(jìn)制模式。3)斷開連接比較流行的FIP軟件,一般有取消傳輸?shù)闹噶詈椭亟ㄟB接的指令,本程序只有斷開連接的指令。 以上三方面是本程序的主要功能,事實(shí)上還不夠完善。例如:顯示消息,更改端口等。2程序設(shè)計(jì)1)設(shè)計(jì)界面如圖6 - 1所示本程序采取單一界面。界面內(nèi)的控件采用控件為Comma nd禾口 Drive ListBut ton,Line,TextBox,Opt ion Bu
4、tton,Tree View,DirListBox,FileList BoxBox。以下是主要控件的屬性列表:程序主界面控件布置對(duì)象屬性設(shè)置值fmVBb I PJR FormCapti onVbFTPCmdl nternetOpe n Comma ndButt onCapti onStart In ternetSessi onTxtProxy TextBox所有屬性默認(rèn)CmdC onnect Comma ndButt onCapti onConnectChkPassive CheckBoxCapti onPassive FTP syn taxCmdDisc onnect Comma ndBut
5、t onCapti onDisc onnectCmdClosehOpe n Comma ndButt onCapti onClose InternetSessi onTree Viewl Tree View所有屬性默認(rèn)OptBin Optio nButt onCapti onBinaryoptAscii Opti on Butt onCapti onAsciicmdGet Comma ndButt onCapti onDownl oadcmdPut Comma ndButt onCapti onUploadDrivel DriveListBox所有屬性默認(rèn)Dir1 DirListBox所有屬性
6、默認(rèn)Filel FileListBox所有屬性默認(rèn)TxtServer TextBoxCapti onIn put IP heretxtUser TextBox所有屬性默認(rèn)txtPassword TextBoxPasswordchar*控制對(duì)象屬性列表3程序Attribute VB_Name = "modWinlnet”O(jiān)ption ExplicitDeclare Function GetProcessHeap Lib Hkemel32M () As LongDeclare Function HeapAlloc Lib nkernel32H (ByVai hHeap As Long,
7、ByVai dwFlags As Long, ByVai dwBytes As Long)As LongDeclare Function HeapFree Lib Hkernel32" (ByVai hHeap As Long, ByVai dwFlags As Long, IpMem AsAny) As LongPublic Const HEAP_ZERO_MEMORY = &H8Public Const HEAP_GENERATE_EXCEPTIONS = &H4Declare Sub CopyMemoryl Lib Hkernel32H Alias HRtlMo
8、veMemoryH (_ hpvDest As Any, ByVai hpvSource As Long, ByVai cbCopy As Long)Declare Sub CopyMemory2 Lib Hkernel32M Alias HRtlMoveMemoryH (_ hpvDest As Long, hpvSource As Any, ByVai cbCopy As Long)Public Const MAX_PATH = 260Public Const NO_ERROR = 0Public Const FILE ATTRIBUTE READONLY = &H1Public
9、Const FILE_ATTRIBUTE_HIDDEN = &H2Public Const FILE_ATTRIBUTE_SYSTEM = &H4Public Const FILE_ATTRIBUTE_DIRECTORY = &H10Public Const FILE_ATTRIBUTE_ARCHIVE = &H20Public Const FILE_ATTRIBUTE_NORMAL = &H80Public Const FILE_ATTRIBUTE_TEMPORARY = &H100Public Const FILE_ATTRIBUTE_COM
10、PRESSED = &H800Public Const FILE_ATTRIBUTE_OFFLINE = &H1000Type FILETIME dwLowDateTime As Long dwHighDateTime As LongEnd TypeType WI N32_F IN D_D AT A dwFileAttributes As Long ftCreationTime As FILETIME ftLastAccessTime As FILETIME ftLastWriteTime As FILETIME nFileSizeHigh As Long nFileSizeL
11、ow As Long dwReservedO As Long dwReservedl As Long cFileName As String * MAX_PATH eAlternate As String * 14End TypePublic Const ERROR_NO_MORE_FILES = 18Public Declare Function InternetFindNextFile Lib "wininet.dll" Alias "InternetFindNextFileA'1 _(ByVai hFind As Long, IpvFindData
12、As WIN32_FIND_DATA) As LongPublic Declare Function FtpFindFirstFile Lib "wininet.dll" Alias "FtpFindFirstFileA" _(ByVai hFtpSession As Long, ByVai IpszSearchFile As String, _IpFindFileData As WIN32_FIND_DATA,ByVal dwFlags As Long, ByVai dwContent As Long) As LongPublic Declare Fu
13、nction FtpGetFile Lib "wininet.dll" Alias "FtpGetFileA" _(ByVai hFtpSession As Long, ByVai IpszRemoteFile As String, _ByVai IpszNewFile As String, ByVai fFaillfExists As Boolean, ByVai dwFlagsAndAttributesAs Long, _ByVai dwFlags As Long, ByVai dwContext As Long) As BooleanPublic
14、Declare Function FtpPutFile Lib Hwininet.dllH Alias HFtpPutFileAH _ (ByVai hFtpSession As Long, ByVai IpszLocalFile As String, _ByVai IpszRemoteFile As String, _ByVai dwFlags As Long, ByVai dwContext As Long) As BooleanPublic Declare Function FtpSetCurrentDirectory Lib ininet.dir1 HFtpSetCurrentDire
15、ctoryAH _Alias(ByVai hFtpSession As Long, ByVai IpszDirectory As String) As BooleanPublic Declare Function InternetOpen Lib ''wininet.dir* Alias HlnternetOpenAH _(ByVai sAgent As String, By Vai lAccessType As Long, ByVai sProxyName As String, _ ByVai sProxyBypassAs String, ByVai Flags As Lon
16、g) As LongPublic Const scUserAgent = "vb wininet”Public Const INTERNET_OPEN_TYPE_PRECONFIG = 0Public Const INTERNET_OPEN_TYPE_DIRECT = 1Public Const INTERNET_OPEN_TYPE_PROXY = 3Public Const INTERNETJNVALID_PORT_NUMBER = 0Public Const FTP_TRANSFER_TYPE_ASCII = &H1Public Const FTP_TRANSFER_TY
17、PE_BINARY = &H1Public Const INTERNET_FLAG_PASSIVE = &H8000000Public Declare Function InternetConnect Lib Hwininet.dHH Alias HlnternetConnectAH _(ByVai hlntemetSession As Long, ByVai sServerName As String, ByVai nServerPort As Integer, _ ByVai sllsername As String, ByVai sPassword As String,
18、ByVai IService As Long, _ ByVai IFIags As Long, ByVai IContext As Long) As LongPublic Const ERRORJNTERNET_EXTENDED_ERROR = 12003Public Declare Function IntemetGetLastResponselnfo Lib Hwininet.dHH "IntemetGetLastResponselnfoA" (_ IpdwError As Long, _AliasByVai IpszBuffer As String, _ IpdwBu
19、fferLength As Long) As BooleanPublic Const INTERNET_DEFAULT_FTP_PORT = 21Public Const INTERNET_DEFAULT_GOPHER_PORT = 70Public Const INTERNET_DEFAULT_HTTP_PORT = 80Public Const INTERNET_DEFAULT_HTTPS_PORT = 443Public Const INTERNET_DEFAULT_SOCKS_PORT = 1080Public Const INTERNET_OPTION_CONNECT_TIMEOUT
20、 = 2 Public ConstINTERNET_OPTION_RECEIVE_TIMEOUT = 6Public Const INTERNET_OPTION_SEND_TIMEOUT = 5Public Const INTERNET_OPTION_USERNAME = 28Public Const INTERNET OPTION PASSWORD = 29Public Const INTERNET_OPTION_PROXY_USERNAME = 43Public Const INTERNET_OPTION_PROXY_PASSWORD = 44Public Const INTERNET_S
21、ERVICE_FTP = 1Public Const INTERNET_SERVICE_GOPHER = 2Public Const INTERNET_SERVICE_HTTP = 3Public Declare Function HttpOpenRequest Lib "wininet.dll" Alias HHttpOpenRequestA" _(ByVai hHttpSession As Long, ByVai sVerb As String, ByVai sObjectName As String, ByVai sVersion As String, _B
22、yVai sReferer As String, ByVai something As Long, ByVai Flags As Long, ByVai IContext As Long As Long)Public Const INTERNET_FLAG_RELOAD = &H80000000Public Const INTERNET_FLAG_KEEP_CONNECTION = &H400000Public Const INTERNET_FLAG_MULTIPART = &H200000Public Const GENERIC_READ = &H800000
23、00Public Const GENERIC_WRITE = &H40000000Public Declare Function HttpSendRequest Lib "wininet.dll" Alias "HttpSendRequestA" (ByVai _ hHttpRequest As Long, ByVai sHeaders As String, ByVai IHeadersLength As Long, ByVai sOptional As _String, ByVai lOptionalLength As Long) As Int
24、egerPublic Declare Function HttpQuerylnfo Lib "wininet.dll" Alias "HttpQuerylnfoA" _ (ByVai hHttpRequest As Long, ByVaiIlnfoLevel As Long, ByRef sBuffer As Any, _ ByRef IBufferLength As Long, ByRef llndex As Long) As IntegerPublic Const HTTP_QUERY_CONTENT_TYPE = 1Public Const HTT
25、P_QUERY_CONTENT_LENGTH = 5Public Const HTTP_QUERY_EXPIRES = 10Public Const HTTP_QUERY_LAST_MODIFIED = 11Public Const HTTP_QUERY_PRAGMA = 17Public Const HTTP_QUERY_VERSION = 18Public Const HTTP_QUERY_STATUS_CODE = 19Public Const HTTP_QUERY_STATUS_TEXT = 20Public Const HTTP_QUERY_RAW_HEADERS = 21Publi
26、c Const HTTP_QUERY_RAW_HEADERS_CRLF = 22Public Const HTTP_QUERY_FORWARDED = 30Public Const HTTP_QUERY_SERVER = 37Public Const HTTP_QUERY_USER_AGENT = 39Public Const HTTP_QUERY_SET_COOKIE = 43Public Const HTTP_QUERY_REQUEST_METHOD = 45Public Const HTTP_STATUS_DENIED = 401Public Const HTTP STATUS PROX
27、Y AUTH REQ = 407Public Const HTTP_QUERY_FLAG_REQUEST_HEADERS = &H80000000Public Const HTTP_QUERY_FLAG_NUMBER = &H20000000Public Declare Function InternetReadFile Lib ,wininet.dir, _(ByVai hFile As Long, ByVai sBuffer As String, ByVai INumBytesToRead As Long, _ INumberOfBytesRead As Long) As
28、IntegerPublic Declare Function InternetWriteFile Lib "wininet.dir1 _ (ByVai hFile As Long, ByVai sBuffer As String, _ ByVai INumberOfBytesToRead As Long, _ INumberOfBytesRead As Long) As IntegerPublic Declare Function FtpOpenFile Lib Hwininet.dHH Alias _ HFtpOpenFileAn (ByVai hFtpSession As Lon
29、g, _ ByVaisFileName As String, ByVai lAccess As Long, _ ByVai IFIags As Long, ByVai IContext As Long) As LongPublic Declare Function FtpDeleteFile Lib "wininet.dll" _Alias "FtpDeleteFileA" (ByVai hFtpSession As Long, _ByVai IpszFileName As String) As BooleanPublic Declare Functio
30、n InternetSetOption Lib "wininet.dll” Alias HlnternetSetOptionAH _(ByVai hlntemet As Long, ByVai lOption As Long, ByRef sBuffer As Any, ByVai IBufferLength As Long) As IntegerPublic Declare Function InternetSetOptionStr Lib Hwininet.dHH Alias HlntemetSetOptionAM _(ByVai hlntemet As Long, ByVai
31、lOption As Long, ByVai sBuffer As String, ByVai IBufferLength As Long) As IntegerPublic Declare Function InternetCloseHandle Lib "wininet.dir1 _(ByVai hlnet As Long) As IntegerPublic Declare Function InternetQueryOption Lib "wininet.dir Alias MlntemetQueryOptionAH _ (ByVai hlntemet AsLong,
32、 ByVai lOption As Long, ByRef sBuffer As Any, ByRef IBufferLength As Long) As IntegerPublic Const INTERNET_OPTION_VERSION = 40Public Type tWinlnetDLLVersion IMajorVersion As Long IMinorVersion As LongEnd TypePublic Declare Function HttpAddRequestHeaders Lib Hwininet.dHH Alias HHttpAddRequestHeadersA
33、H(ByVai hHttpRequest As Long, ByVai sHeaders As String, ByVai IHeadersLength As Long, _ByVai IModifiers As Long) As IntegerPublic Const HTTP_ADDREQ_FLAG_ADD_IF_NEW = &H10000000Public Const HTTP_ADDREQ_FLAG_ADD = &H20000000Public Const HTTP_ADDREQ_FLAG_REPLACE = &H80000000VERSION 5.00Obje
34、ct = n6B7E6392-850A-101B-AFCO-4210102A8DA7#1.3#0,f; HCOMCTL32.OCXH Begin VB.Form fmVBFTPJRCaption = nvbFTP,'ClientHeight = 5640ClientLeft = 60ClientTop = 345Clientwidth = 8715Icon = "fmVBFTPJR.frx":0000LinkTopic = "Form1"ScaleHeight = 5640ScaleWidth = 8715StartUpPosition = 3
35、',o ? u e± e ?Begin VB.OptionButton optAsciiHeight = 195Left= 3600Tabindex_ 2qTop=3120Width/=1095EndBegin VB.OptionButton optBinCaption= "Binary"Height= 375Left = 3600=19= 2640TopTabindex855WidthEndBegin VB.CommandButton cmdPutCaptionHeightLeft = 3480="upload”495Tabindex=1838
36、40Top =Width = End975Begin VB.CommandButton cmdGet="download”Caption495HeightLeft = 3480Tabindex=173360Top =Width = End975Begin ComctILib.TreeView TreeViewlHeightLeft = 3602655Tabindex=1626403015Top =Width =ExtentX= 5318_ExtentY _Version Style = 7= 4683 =327682AppearanceEndBegin VB.FileListBox
37、FilelHeightLeft = 69601890Tabindex=153120Top =Width = End1575Begin VB.DirListBox Dir1HeightLeft = 50402115Tabindex=143120Top =Width = End1695Begin VB.DriveListBox DrivelHeight= 315Left= 5040TabindexTop= 2640Width= 3495EndBegin VB.CheckBox chkPassiveCaption=Tassive FTP syntax11Height= 255Left= 3120Ta
38、bindex=12Top=1800Width= 2175EndBegin VB.CommandButton cmdDisconnectCaption="Disconnect”Height= 495Left= 5760Tabindex=11Top=1680Width=1815EndBegin VB.CommandButton cmdConnectCaption="Connect”Height= 495Left= 360Tabindex=10Top=1680Width= 2175EndBegin VB.TextBox txtPasswordHeight= 375IMEMode=
39、3 'DISABLELeft= 7200PasswordChar =Tabindex=9Top=1080Width=1095EndBegin VB.TextBox txtUserHeight = 375Left = 4680Tabindex1080Top =WidthEnd=1095Begin VB.TextBox txtServerHeight= 375Left =1680Tabindex=4Text ="Input IP here11Top =1080Width End=1455Height= 495Begin VB.CommandButton cmdClosehOpen
40、Caption="Close Internet Session,12280240WidthEnd=1935Left =TabindexTop =Begin VB.TextBox txtProxyHeight= 4357200240WidthEnd=1095Left =TabindexTop =Height= 495Left =240Tabindex=0Top =240Width End=1935Begin VB.CommandButton cmdlnternetOpenCaption=HStart Internet Session'122805160ExtentX=1005E
41、xtentY=1005BackColor= -2147483643MaskColorVersion=12632256=327682Begin ComctlLib.lmageList ImageListlLeft =Top =EndBegin VB.Label Iabel4Caption"Password:"Height= 255Left =6000Tabindex= 8Top=1080Width= 855EndBegin VB.Label LabelsCaption= "User Name:"Height= 255Left =3360Tabindex=
42、6Top=1080Width= 975EndBegin VB.Label Label2Caption= "FTP Server Name:HHeight= 375Left =120Tabindex= 5Top=1080Width= 1335EndBegin VB.Line LinelX1=240X2= 8520Y1=840Y2= 840EndBegin VB.Label LabellCaption= nTISCompatible Proxy (No CERN):"Height= 375Left =4440Tabindex= 2Top= 360Width= 2535EndEn
43、dAttribute VB_Name = "fmVBFTPJR"Attribute VB_GlobalNameSpace = FalseAttribute VB_Creatable = FalseAttribute VB_Predeclaredld = TrueAttribute VB_Exposed = FalseDim bActiveSession As BooleanDim hOpen As Long, hConnection As LongDim dwType As LongDim EnumltemNameBag As New CollectionDim Enuml
44、temAttributeBag As New CollectionPrivate Sub Form_Load()bActiveSession = False hOpen = 0 hConnection = 0 chkPassive.Value = 1 optBin.Value = 1 dwType =FTP_TRANSFER_TYPE_BINARY Dim imgl As ListimageSet imgl = ImageListl.Listimages.Add(, HopenH, LoadPicture(Hopen.bmpH)Set imgl = ImageListl.Listimages.
45、Add(, ''closed11, LoadPicture(Hclosed.bmpH)Set imgl = ImageListl .Listlmages.Add(, "leaf", LoadPicture(Hleaf.bmp")Set imgl = ImageListl.Listimages.Add(, "roof1, LoadPicture("root.bmp") TreeViewl JmageList = ImageListl TreeViewl .Style = tvwT reelinesPictureT ext
46、EnableUI (False)End SubPrivate Sub Form_Unload(Cancel As Integer) cmdClosehOpen_ClickEnd SubPrivate Sub cmdlnternetOpen_Click()txtServer.Text =H"If Len(txtProxy.Text) <> 0 ThenhOpen = lnternetOpen(scUserAgent, INTERNET_OPEN_TYPE_PROXY,txtProxy.Text, vbNullString, 0) ElsehOpen = lnternetOp
47、en(scllserAgent, INTERNET_OPEN_TYPE_DIRECT, vbNullString, vbNullString, 0)End IfIf hOpen = 0 Then ErrorOut Err.LastDIIError, ,lnternetOpenHEnableUI (True)End SubPrivate Sub cmdClosehOpen_Click()If hConnection <> 0 Then InternetCloseHandle (hConnection)If hOpen <> 0 Then InternetCloseHand
48、le (hOpen)hConnection = 0hOpen = 0If bActiveSession Then TreeViewl .Nodes.Remove txtServer.Text bActiveSession = FalseClearTextBoxAndBagEnableUI (False)End SubPrivate Sub cmdConnect_Click()If Not bActiveSession And hOpen <> 0 ThenIf txtServer.Text = m, ThenMsgBox Tlease enter a server name!&qu
49、ot;Exit SubEnd IfDim nFlag As LongIf chkPassive.Value ThennFlag = INTERNET_FLAG_PASSIVEElsenFlag = 0End IfhConnection = lnternetConnect(hOpen, txtServer.Text, INTERNET_INVALID_PORT_NUMBER, txtUser, txtPassword, INTERNET_SERVICE_FTP, nFlag, 0)If hConnection = 0 Then bActiveSession = FalseErrorOut Err
50、.LastDIIError, HlntemetConnectHElse bActiveSession = True EnableUI (CBool(hOpen)FilITreeViewControl (txtServer.Text)FtpEnumDirectory (HH)If EnumltemNameBag.Count = 0 Then Exit SubFilITreeViewControl (txtServer.Text)End IfEnd IfEnd SubPrivate Sub cmdDisconnect_Click()bDirEmpty = TrueIf hConnection &l
51、t;> 0 Then InternetCloseHandle hConnection hConnection = 0ClearBagTreeViewl .Nodes.Remove txtServer.Text bActiveSession = FalseEnableUI (True)End SubPrivate Sub ClearTextBoxAndBag()txtServer.Text = m,txtUser.Text = "" txtPassword.Text = "" txtProxy.Text = "" ClearBag
52、End SubPrivate Sub ClearBag()Dim Num As IntegerFor Num = 1 To EnumltemNameBag.CountEnumltemNameBag. Remove 1Next NumFor Num = 1 To EnumltemAttributeBag.CountEnumltemAttributeBag. Remove 1Next NumEnd SubPrivate Sub FillTreeViewControl(strParentKey As String)Dim nodX As NodeDim strlmg As StringDim nCo
53、unt As Integer, i As IntegerDim nAttr As IntegerDim stritem As StringIf EnumltemNameBag.Count = 0 And strParentKey = txtServer.Text ThenSet nodX = TreeViewl.Nodes.Add(, tvwFirst, txtServer.Text, txtServer.Text, Hrootn)Exit SubEnd IfnCount = EnumltemAttributeBag.CountIf nCount = 0 Then Exit SubFor i
54、= 1 To nCountnAttr = EnumltemAttributeBag.Item(i) stritem = EnumltemNameBag(i)If nAttr = FILE_ATTRIBUTE_DIRECTORY Thenstrlmg = "closed”Elsestrlmg = "leaf"End IfSet nodX = TreeViewl .Nodes.Add(strParentKey, tvwChild, strParentKey && stritem, _ strParentKey && stritem, s
55、trlmg)NextnodX.EnsureVisibleEnd SubPrivate Sub cmdGet_Click()Dim bRet As BooleanDim szFileRemote As String, szDirRemote As String, szFileLocal As StringDim szTempString As StringDim nPos As Long, nTemp As LongDim nodX As NodeSet nodX = TreeViewl .SelectedltemIf bActiveSession ThenIf nodX Is Nothing
56、ThenMsgBox "Please select the item to GET!"Exit SubEnd If szTempString = TreeViewl .Selectedltem.Text szFileRemote = szTempStringnPos = 0 nTemp = 0DonTemp = lnStr(1, szTempString, T, vbBinaryCompare)If nTemp = 0 Then Exit Do szTempString = Right(szTempString, Len(szTempString) - nTemp) nPos = nTemp + nPosLoop szDirRemote = Left(szFileRemote, nPos) szFileRemote = Right(szFileRemote, Len(szFileRemote)-nPos) szFileLocal = Filel.Path red szDirRemotebRet = FtpGetFile(hConnection, szFileRemote, szFileLocal & l7H &a
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度個(gè)人房產(chǎn)買賣綠色環(huán)保裝修合同3篇
- 遠(yuǎn)足活動(dòng)課程設(shè)計(jì)
- 安全用電運(yùn)行管理制度模版(2篇)
- 2025年影劇院消防安全管理制度(2篇)
- 2024年青島版六三制新必修5語文下冊階段測試試卷
- 二零二五年度承包土地種植與農(nóng)業(yè)電商平臺(tái)合作協(xié)議2篇
- 2025年投資公司年度工作計(jì)劃范文(2篇)
- 二零二五年度交通基礎(chǔ)設(shè)施PPP項(xiàng)目合同2篇
- 2025年外研版三年級(jí)起點(diǎn)九年級(jí)化學(xué)下冊階段測試試卷
- 二零二五年度國際貿(mào)易財(cái)務(wù)擔(dān)保合同示范(國際貿(mào)易保障)
- 石化行業(yè)八大高風(fēng)險(xiǎn)作業(yè)安全規(guī)范培訓(xùn)課件
- 村老支書追悼詞
- DB3302T 1131-2022企業(yè)法律顧問服務(wù)基本規(guī)范
- 2022年自愿性認(rèn)證活動(dòng)獲證組織現(xiàn)場監(jiān)督檢查表、確認(rèn)書
- 中南大學(xué)年《高等數(shù)學(xué)上》期末考試試題及答案
- 付款通知確認(rèn)單
- 2022年中國城市英文名稱
- 小龍蝦高密度養(yǎng)殖試驗(yàn)基地建設(shè)項(xiàng)目可行性研究報(bào)告
- 《橋梁工程計(jì)算書》word版
- 中考《紅星照耀中國》各篇章練習(xí)題及答案(1-12)
- 舒爾特方格55格200張?zhí)岣邔W⒘4紙直接打印版
評(píng)論
0/150
提交評(píng)論