![FTP协议实现程序文件_第1页](http://file3.renrendoc.com/fileroot_temp3/2021-12/23/ff0dbd10-da3d-48d3-b4d5-121907e1be50/ff0dbd10-da3d-48d3-b4d5-121907e1be501.gif)
![FTP协议实现程序文件_第2页](http://file3.renrendoc.com/fileroot_temp3/2021-12/23/ff0dbd10-da3d-48d3-b4d5-121907e1be50/ff0dbd10-da3d-48d3-b4d5-121907e1be502.gif)
![FTP协议实现程序文件_第3页](http://file3.renrendoc.com/fileroot_temp3/2021-12/23/ff0dbd10-da3d-48d3-b4d5-121907e1be50/ff0dbd10-da3d-48d3-b4d5-121907e1be503.gif)
![FTP协议实现程序文件_第4页](http://file3.renrendoc.com/fileroot_temp3/2021-12/23/ff0dbd10-da3d-48d3-b4d5-121907e1be50/ff0dbd10-da3d-48d3-b4d5-121907e1be504.gif)
![FTP协议实现程序文件_第5页](http://file3.renrendoc.com/fileroot_temp3/2021-12/23/ff0dbd10-da3d-48d3-b4d5-121907e1be50/ff0dbd10-da3d-48d3-b4d5-121907e1be505.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课题:FTP协议实现程序选题1 .课程设计目的本课程设计设计需要编写程序,对 FPT协议有非常清楚的认识2 .课程设计要求完成应用层协议的基本工作模型,规划客户,服务器的基本结构与模块组成,完成应用 层协议设计,网络 应用软件设计方法与编程。FTP功能模块及原理1. FPT基本原理FIP使用两条Tcp连接来完成文件传输,控制连接与数据连接。控制连接用与传输控制,数据连接用于数 据传输。在服务器启动后,服务器会在端口21等待客户的连接请求,有用户需要传输文件时,客户与服务器的端口21建立一个控制连接,用来传送客户的命令和服务器的应答,是连接一直保持到客户与服务器通信结果为止。当客户发出数据传输命
2、令时,服务 器会主动与客户建立数据连接,并与其进行数据交换。2. FTP功能模块用尸a控制链自巾ftp命令心 ftp响应+'服务器端协 议解串圣器U文件客户端数 菇传翰服零器端魏据传畅文件系统1程序功能的介绍1) FIP连接进行FIP连接,首先要给出目的计算机的名称或地址,当连接到信宿机后,一般要进行登录,在检验用户ID号和口令后,连接才得以建立,某些系统也允许用户进行匿名登录。与在所有的多用户系FTP功能模块及FIP连接统中一样,对于使用过程中,需要验证权限。同一目录或文件,不同的用户拥有不同的权限,所以在2)文件传输方式FTP可用多种格式传输文件,通常由系统定,大多数系统(包括UN
3、IX系统)只有两种模式:文本模式和二进制模式。文件传输器使用ASCII码,并由回车键和换行符分开,而二进制不用转换或格式化就可以传字符,二进制模式比文本模式更快,并且可以传输所有ASCII值,所以系统管 理而一般将FTP设置成二进制模式。3)断开连接比较流行的FIP软件,一般有取消传输的指令和重建连接的指令,本程序只有断开连接的指令。 以上三方面是本程序的主要功能,事实上还不够完善。例如:显示消息,更改端口等。2程序设计1)设计界面如图6 - 1所示本程序采取单一界面。界面内的控件采用控件为Comma nd禾口 Drive ListBut ton,Line,TextBox,Opt ion Bu
4、tton,Tree View,DirListBox,FileList BoxBox。以下是主要控件的属性列表:程序主界面控件布置对象属性设置值fmVBb I PJR FormCapti onVbFTPCmdl nternetOpe n Comma ndButt onCapti onStart In ternetSessi onTxtProxy TextBox所有属性默认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所有属性默认OptBin Optio nButt onCapti onBinaryoptAscii Opti on Butt onCapti onAsciicmdGet Comma ndButt onCapti onDownl oadcmdPut Comma ndButt onCapti onUploadDrivel DriveListBox所有属性默认Dir1 DirListBox所有属性
6、默认Filel FileListBox所有属性默认TxtServer TextBoxCapti onIn put IP heretxtUser TextBox所有属性默认txtPassword TextBoxPasswordchar*控制对象属性列表3程序Attribute VB_Name = "modWinlnet”Option 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等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年二手车个体交易策划合同范本
- 2025年专利权交换协议格式
- 2025年个人信用管理协议书
- 2025年二手汽车交易未过户合同模板
- 2025年农资研发与实验劳动合同
- 2025年体重管理服务协议
- 2025年企业员工住房公积金贷款合同
- 2025年上海市新能源汽车产业投资合作协议
- 2025年养殖场租赁协议正式版本
- 2025年云服务器租用合同示范
- 安全生产技术规范 第25部分:城镇天然气经营企业DB50-T 867.25-2021
- 现代企业管理 (全套完整课件)
- 走进本土项目化设计-读《PBL项目化学习设计》有感
- 《网店运营与管理》整本书电子教案全套教学教案
- 教师信息技术能力提升培训课件希沃的课件
- 高端公寓住宅项目营销策划方案(项目定位 发展建议)
- 执业兽医师聘用协议(合同)书
- 第1本书出体旅程journeys out of the body精教版2003版
- [英语考试]同等学力英语新大纲全部词汇
- 2022年肝动脉化疗栓塞术(TACE)
- 形式发票格式2 INVOICE
评论
0/150
提交评论