📄 cls.ftp_service.getftpdirectoryarray.htm
字号:
<div class="PDM_AB_Body">
<!-- Code Begin -->
<pre class="PDMCODE PDMNor" >
<span class='PDMResK'>LOCAL</span> <span class='PDMVar'>loFTP</span><span class='PDMOper'>,</span><span class='PDMVar'>lii</span>
<span class='PDMResK'>LOCAL</span> <span class='PDMResK'>ARRAY</span> <span class='PDMVar'>laFolders</span><span class='PDMOper'>(</span><span class='PDMLit'>1</span><span class='PDMOper'>)</span>
<span class='PDMOper'>#</span><span class='PDMResK'>INCLUDE</span> <span class='PDMStr'>"ftp.h"</span>
<span class='PDMResK'>SET</span> <span class='PDMResK'>PROCEDURE</span> <span class='PDMResK'>TO</span> <span class='PDMVar'>ftp</span><span class='PDMOper'>.</span><span class='PDMVar'>prg</span> <span class='PDMResK'>ADDITIVE</span>
<span class='PDMVar'>loFTP</span><span class='PDMOper'>=</span><span class='PDMResF'>CREATEOBJECT</span><span class='PDMOper'>(</span><span class='PDMStr'>'ftp_service'</span><span class='PDMOper'>)</span>
<span class='PDMResK'>IF</span> <span class='PDMVar'>loFTP</span><span class='PDMOper'>.</span><span class='PDMVar'>OpenInternet</span><span class='PDMOper'>(</span><span class='PDMStr'>"ABONNE"</span><span class='PDMOper'>,</span> <span class='PDMStr'>"PWD"</span><span class='PDMOper'>,</span> <span class='PDMStr'>"10.10.10.10"</span><span class='PDMOper'>,</span> <span class='PDMStr'>"21"</span><span class='PDMOper'>)</span>
<span class='PDMResK'>IF</span> <span class='PDMOper'>!</span><span class='PDMVar'>loFTP</span><span class='PDMOper'>.</span><span class='PDMVar'>GetFTPDirectoryArray</span><span class='PDMOper'>(</span><span class='PDMOper'>@</span><span class='PDMVar'>laFolders</span><span class='PDMOper'>,</span><span class='PDMStr'>"*.txt"</span><span class='PDMOper'>)</span>
<span class='PDMOper'>?</span><span class='PDMVar'>loFTP</span><span class='PDMOper'>.</span><span class='PDMVar'>GetExtendedErrorCode</span><span class='PDMOper'>(</span><span class='PDMOper'>)</span><span class='PDMOper'>,</span><span class='PDMVar'>loFTP</span><span class='PDMOper'>.</span><span class='PDMVar'>GetExtendedErrorMsg</span><span class='PDMOper'>(</span><span class='PDMOper'>)</span>
<span class='PDMResK'>ELSE</span>
<span class='PDMResK'>FOR</span> <span class='PDMVar'>lii</span><span class='PDMOper'>=</span><span class='PDMLit'>1</span> <span class='PDMResK'>TO</span> <span class='PDMResF'>ALEN</span><span class='PDMOper'>(</span><span class='PDMVar'>laFolders</span><span class='PDMOper'>,</span><span class='PDMLit'>1</span><span class='PDMOper'>)</span>
<span class='PDMOper'>?</span><span class='PDMVar'>laFolders</span><span class='PDMOper'>[</span><span class='PDMVar'>lii</span><span class='PDMOper'>,</span> <span class='PDMLit'>1</span><span class='PDMOper'>]</span> <span class='PDMCom'>&& File name</span>
<span class='PDMOper'>?</span><span class='PDMResF'>CHR</span><span class='PDMOper'>(</span><span class='PDMLit'>9</span><span class='PDMOper'>)</span><span class='PDMOper'>+</span><span class='PDMStr'>"Alternate File name: "</span><span class='PDMOper'>+</span><span class='PDMVar'>laFolders</span><span class='PDMOper'>[</span><span class='PDMVar'>lii</span><span class='PDMOper'>,</span> <span class='PDMLit'>2</span><span class='PDMOper'>]</span>
<span class='PDMOper'>?</span><span class='PDMResF'>CHR</span><span class='PDMOper'>(</span><span class='PDMLit'>9</span><span class='PDMOper'>)</span><span class='PDMOper'>+</span><span class='PDMStr'>"File Size: "</span><span class='PDMOper'>+</span><span class='PDMResF'>STR</span><span class='PDMOper'>(</span><span class='PDMVar'>laFolders</span><span class='PDMOper'>[</span><span class='PDMVar'>lii</span><span class='PDMOper'>,</span> <span class='PDMLit'>3</span><span class='PDMOper'>]</span><span class='PDMOper'>,</span><span class='PDMLit'>11</span><span class='PDMOper'>)</span>
<span class='PDMOper'>?</span><span class='PDMResF'>CHR</span><span class='PDMOper'>(</span><span class='PDMLit'>9</span><span class='PDMOper'>)</span><span class='PDMOper'>+</span><span class='PDMStr'>"File Create Date: "</span><span class='PDMOper'>+</span><span class='PDMResF'>TTOC</span><span class='PDMOper'>(</span><span class='PDMVar'>laFolders</span><span class='PDMOper'>[</span><span class='PDMVar'>lii</span><span class='PDMOper'>,</span> <span class='PDMLit'>4</span><span class='PDMOper'>]</span><span class='PDMOper'>)</span>
<span class='PDMOper'>?</span><span class='PDMResF'>CHR</span><span class='PDMOper'>(</span><span class='PDMLit'>9</span><span class='PDMOper'>)</span><span class='PDMOper'>+</span><span class='PDMStr'>"File Last Access Time: "</span><span class='PDMOper'>+</span><span class='PDMResF'>TTOC</span><span class='PDMOper'>(</span><span class='PDMVar'>laFolders</span><span class='PDMOper'>[</span><span class='PDMVar'>lii</span><span class='PDMOper'>,</span> <span class='PDMLit'>5</span><span class='PDMOper'>]</span><span class='PDMOper'>)</span>
<span class='PDMOper'>?</span><span class='PDMResF'>CHR</span><span class='PDMOper'>(</span><span class='PDMLit'>9</span><span class='PDMOper'>)</span><span class='PDMOper'>+</span><span class='PDMStr'>"File Last Write Time: "</span><span class='PDMOper'>+</span><span class='PDMResF'>TTOC</span><span class='PDMOper'>(</span><span class='PDMVar'>laFolders</span><span class='PDMOper'>[</span><span class='PDMVar'>lii</span><span class='PDMOper'>,</span> <span class='PDMLit'>6</span><span class='PDMOper'>]</span><span class='PDMOper'>)</span>
<span class='PDMOper'>?</span><span class='PDMResF'>CHR</span><span class='PDMOper'>(</span><span class='PDMLit'>9</span><span class='PDMOper'>)</span><span class='PDMOper'>+</span><span class='PDMStr'>"File Attributes: "</span><span class='PDMOper'>+</span><span class='PDMVar'>laFolders</span><span class='PDMOper'>[</span><span class='PDMVar'>lii</span><span class='PDMOper'>,</span> <span class='PDMLit'>7</span><span class='PDMOper'>]</span>
<span class='PDMResK'>NEXT</span>
<span class='PDMResK'>ENDIF</span>
<span class='PDMOper'>=</span><span class='PDMVar'>loFTP</span><span class='PDMOper'>.</span><span class='PDMVar'>CloseInternet</span><span class='PDMOper'>(</span><span class='PDMOper'>)</span>
<span class='PDMResK'>ENDIF</span>
<span class='PDMResK'>RELEASE</span> <span class='PDMResK'>PROCEDURE</span> <span class='PDMVar'>ftp</span><span class='PDMOper'>.</span><span class='PDMVar'>prg</span></pre>
<!-- Code End -->
</div>
</div><!-- Example End -->
<div class="PDM_AB_SeeAlso"><!-- SeeAlso Begin -->
<span class="PDM_AB_Head">
See also
</span>
<div class="PDM_AB_Body">
<a class="PDM_AB_See" href="../../code/ftp.prg/cls.ftp_service.beforegetftpdirectoryarray.htm" title="Skip to method FTP_SERVICE::BeforeGetFTPDirectoryArray()">FTP_SERVICE::BeforeGetFTPDirectoryArray()</a> |
<a class="PDM_AB_See" href="../../code/ftp.prg/cls.ftp_service.aftergetftpdirectoryarray.htm" title="Skip to method FTP_SERVICE::AfterGetFTPDirectoryArray()">FTP_SERVICE::AfterGetFTPDirectoryArray()</a> |
<a class="PDM_AB_See" href="../../code/ftp.prg/cls.ftp_service.crackfile.htm" title="Skip to method FTP_SERVICE::CrackFile()">FTP_SERVICE::CrackFile()</a> |
<a class="PDM_AB_See" href="../../code/ftp.prg/cls.ftp_service.getftpfile.htm" title="Skip to method FTP_SERVICE::GetFTPFile()">FTP_SERVICE::GetFTPFile()</a> |
<a class="PDM_AB_See" href="../../code/ftp.prg/cls.ftp_service.readftpfile.htm" title="Skip to method FTP_SERVICE::ReadFTPFile()">FTP_SERVICE::ReadFTPFile()</a> |
<a class="PDM_AB_See" href="../../code/ftp.prg/cls.ftp_service.putftpfile.htm" title="Skip to method FTP_SERVICE::PutFTPFile()">FTP_SERVICE::PutFTPFile()</a> |
<a class="PDM_AB_See" href="../../code/ftp.prg/cls.ftp_service.writeftpfile.htm" title="Skip to method FTP_SERVICE::WriteFTPFile()">FTP_SERVICE::WriteFTPFile()</a> |
<a class="PDM_AB_See" href="../../code/ftp.prg/cls.ftp_service.ftpcommand.htm" title="Skip to method FTP_SERVICE::FTPCommand()">FTP_SERVICE::FTPCommand()</a> |
<a class="PDM_AB_See" href="../../code/ftp.prg/cls.ftp_service.deleteftpfile.htm" title="Skip to method FTP_SERVICE::DeleteFTPFile()">FTP_SERVICE::DeleteFTPFile()</a> |
<a class="PDM_AB_See" href="../../code/ftp.prg/cls.ftp_service.renameftpfile.htm" title="Skip to method FTP_SERVICE::RenameFTPFile()">FTP_SERVICE::RenameFTPFile()</a> |
<a class="PDM_AB_See" href="../../code/ftp.prg/cls.ftp_service.createftpdirectory.htm" title="Skip to method FTP_SERVICE::CreateFTPDirectory()">FTP_SERVICE::CreateFTPDirectory()</a> |
<a class="PDM_AB_See" href="../../code/ftp.prg/cls.ftp_service.removeftpdirectory.htm" title="Skip to method FTP_SERVICE::RemoveFTPDirectory()">FTP_SERVICE::RemoveFTPDirectory()</a> |
<a class="PDM_AB_See" href="../../code/ftp.prg/cls.ftp_service.changeftpdirectory.htm" title="Skip to method FTP_SERVICE::ChangeFTPDirectory()">FTP_SERVICE::ChangeFTPDirectory()</a> |
<a class="PDM_AB_See" href="../../code/ftp.prg/cls.ftp_service.getftpdirectory.htm" title="Skip to method FTP_SERVICE::GetFTPDirectory()">FTP_SERVICE::GetFTPDirectory()</a> |
<a class="PDM_AB_See" href="../../code/ftp.prg/cls.ftp_service.lmultioperations.htm" title="Skip to property FTP_SERVICE::lMultiOperations">FTP_SERVICE::lMultiOperations</a>
</div><!-- Body End -->
<!--- "Applies to" need to be inserted here---->
<PlaceAppliesTo_Here />
<!--- /"Applies to" need to be inserted here---->
</div><!-- SeeAlso End -->
<!-- /Created with _diamp_pdm_ab by Agnes Beste 03.09.2007 19:34 -->
<div class="SC">
<img onclick="ExpandSC('SP_1',-1);"class="imgEC" src="../../imgs/uptab.gif" alt="Expand/Collapse source code of procedure GetFTPDirectoryArray" id="IMG_SP_1" />
<span ondblclick="ExpandSC('SP_1',-1);" class="SCCaption"><a name="FTP_SERVICE">Source Code</a></span>
<div ondblclick="ExpandSC('SP_1',-1);" class="SCE" id="TX_SP_1">
<!-- Code Begin -->
<pre class="PDMCODE PDMNor" > <span class='PDMResK'>LPARAMETERS</span> <span class='PDMVar'>OUTREF</span> <span class='PDMVar'>laDirectory</span><span class='PDMOper'>,</span> <span class='PDMVar'>INP</span> <span class='PDMVar'>lcMask</span><span class='PDMOper'>,</span><span class='PDMVar'>OPT_INP</span> <span class='PDMVar'>lnFlag</span>
<span class='PDMResK'>LOCAL</span> <span class='PDMVar'>cStruct</span><span class='PDMOper'>,</span> <span class='PDMVar'>liResult</span><span class='PDMOper'>,</span> <span class='PDMVar'>lnCount</span><span class='PDMOper'>,</span> <span class='PDMVar'>fResult</span><span class='PDMOper'>,</span> <span class='PDMVar'>lffHandle</span>
<span class='PDMResK'>IF</span> <span class='PDMResK'>This</span><span class='PDMOper'>.</span><span class='PDMVar'>OpenFTPConnection</span><span class='PDMOper'>(</span><span class='PDMResK'>This</span><span class='PDMOper'>.</span><span class='PDMVar'>cCurrentDir</span><span class='PDMOper'>)</span> <span class='PDMCom'>&& Open an FTP Handle</span>
<span class='PDMVar'>lcMask</span> <span class='PDMOper'>=</span> <span class='PDMVar'>lcMask</span> <span class='PDMOper'>+</span> <span class='PDMVar'>cNULL</span>
<span class='PDMCom'> * Dimension the array to store the directory</span>
<span class='PDMCom'> * [x, 1] = FileName</span>
<span class='PDMCom'> * [x, 2] = Alternate FileName</span>
<span class='PDMCom'> * [x, 3] = File Size</span>
<span class='PDMCom'> * [x, 4] = File Create Date</span>
<span class='PDMCom'> * [x, 5] = File Last Access Time</span>
<span class='PDMCom'> * [x, 6] = File Last Write Time</span>
<span class='PDMCom'> * [x, 7] = File Attributes</span>
<span class='PDMResK'>DIMENSION</span> <span class='PDMVar'>laDirectory</span> <span class='PDMOper'>[</span><span class='PDMLit'>1</span><span class='PDMOper'>,</span> <span class='PDMLit'>7</span><span class='PDMOper'>]</span>
<span class='PDMVar'>laDirectory</span> <span class='PDMOper'>[</span><span class='PDMLit'>1</span><span class='PDMOper'>,</span> <span class='PDMLit'>1</span><span class='PDMOper'>]</span> <span class='PDMOper'>=</span> <span class='PDMLit'>.F.</span>
<span class='PDMVar'>lnFlag</span><span class='PDMOper'>=</span><span class='PDMResF'>BITOR</span><span class='PDMOper'>(</span><span class='PDMVar'>INTERNET_FLAG_RELOAD</span><span class='PDMOper'>,</span><span class='PDMResF'>IIF</span><span class='PDMOper'>(</span><span class='PDMResF'>PCOUNT</span><span class='PDMOper'>(</span><span class='PDMOper'>)</span><span class='PDMOper'><</span><span class='PDMLit'>3</span><span class='PDMOper'>,</span><span class='PDMLit'>0</span><span class='PDMOper'>,</span><span class='PDMVar'>lnFlag</span><span class='PDMOper'>)</span><span class='PDMOper'>)</span>
<span class='PDMCom'> * This is for a FoxPro Quirk.</span>
<span class='PDMVar'>lcStruct</span> <span class='PDMOper'>=</span> <span class='PDMResF'>REPL</span><span class='PDMOper'>(</span><span class='PDMResF'>CHR</span><span class='PDMOper'>(</span><span class='PDMLit'>0</span><span class='PDMOper'>)</span><span class='PDMOper'>,</span><span class='PDMLit'>319</span><span class='PDMOper'>)</span><span class='PDMOper'>+</span><span class='PDMResF'>CHR</span><span class='PDMOper'>(</span><span class='PDMLit'>0</span><span class='PDMOper'>)</span> <span class='PDMCom'>&& Allocate space for the returned structure</span>
<span class='PDMOper'>=</span><span class='PDMResK'>This</span><span class='PDMOper'>.</span><span class='PDMVar'>BeforeGetFTPDirectoryArray</span><span class='PDMOper'>(</span><span class='PDMOper'>@</span><span class='PDMVar'>laDirectory</span><span class='PDMOper'>,</span> <span class='PDMOper'>@</span><span class='PDMVar'>lcMask</span><span class='PDMOper'>,</span><span class='PDMVar'>lnFlag</span><span class='PDMOper'>)</span>
<span class='PDMCom'> * Get the first file or find out if </span>
<span class='PDMVar'>lffHandle</span> <span class='PDMOper'>=</span> <span class='PDMVar'>FtpFindFirstFile</span><span class='PDMOper'>(</span><span class='PDMResK'>This</span><span class='PDMOper'>.</span><span class='PDMVar'>nConnect_Handle</span><span class='PDMOper'>,</span> <span class='PDMOper'>@</span><span class='PDMVar'>lcMask</span><span class='PDMOper'>,</span> <span class='PDMOper'>@</span><span class='PDMVar'>lcStruct</span><span class='PDMOper'>,</span> <span class='PDMVar'>lnFlag</span><span class='PDMOper'>,</span> <span class='PDMLit'>0</span><span class='PDMOper'>)</span>
<span class='PDMResK'>This</span><span class='PDMOper'>.</span><span class='PDMVar'>GetExtendedError</span><span class='PDMOper'>(</span><span class='PDMOper'>)</span>
<span class='PDMResK'>IF</span> <span class='PDMVar'>lffHandle</span> <span class='PDMOper'>=</span> <span class='PDMLit'>0</span> <span class='PDMOper'>OR</span> <span class='PDMResK'>This</span><span class='PDMOper'>.</span><span class='PDMVar'>nResult_Code</span> <span class='PDMOper'>=</span> <span class='PDMVar'>ERROR_NO_MORE_FILES</span>
<span class='PDMResK'>This</span><span class='PDMOper'>.</span><span class='PDMVar'>CloseFTPConnection</span><span class='PDMOper'>(</span><span class='PDMOper'>)</span> <span class='PDMCom'>&& Close FTP Handle</span>
<span class='PDMResK'>RETURN</span> <span class='PDMLit'>.F.</span>
<span class='PDMResK'>ENDIF</span>
<span class='PDMCom'> * Parse out First File Information</span>
<span class='PDMOper'>=</span><span class='PDMResK'>This</span><span class='PDMOper'>.</span><span class='PDMVar'>CrackFile</span><span class='PDMOper'>(</span><span class='PDMVar'>lcStruct</span><span class='PDMOper'>,</span> <span class='PDMOper'>@</span><span class='PDMVar'>laDirectory</span><span class='PDMOper'>)</span>
<span class='PDMVar'>llResult</span> <span class='PDMOper'>=</span> <span class='PDMLit'>1</span>
<span class='PDMResK'>DO</span> <span class='PDMResK'>WHILE</span> <span class='PDMResK'>This</span><span class='PDMOper'>.</span><span class='PDMVar'>nResult_Code</span> <span class='PDMOper'>!</span><span class='PDMOper'>=</span> <span class='PDMVar'>ERROR_NO_MORE_FILES</span> <span class='PDMOper'>AND</span> <span class='PDMVar'>llResult</span> <span class='PDMOper'>!</span><span class='PDMOper'>=</span> <span class='PDMLit'>0</span>
<span class='PDMVar'>lcStruct</span> <span class='PDMOper'>=</span> <span class='PDMResF'>SPACE</span><span class='PDMOper'>(</span><span class='PDMLit'>319</span><span class='PDMOper'>)</span>
<span class='PDMCom'> * Get next files</span>
<span class='PDMVar'>liResult</span> <span class='PDMOper'>=</span> <span class='PDMVar'>InternetFindNextFile</span><span class='PDMOper'>(</span><span class='PDMVar'>lffHandle</span><span class='PDMOper'>,</span> <span class='PDMOper'>@</span><span class='PDMVar'>lcStruct</span><span class='PDMOper'>)</span>
<span class='PDMOper'>=</span><span class='PDMResK'>This</span><span class='PDMOper'>.</span><span class='PDMVar'>GetExtendedError</span><span class='PDMOper'>(</span><span class='PDMOper'>)</span>
<span class='PDMCom'> * If we got good information, go ahead and parse it</span>
<span class='PDMResK'>IF</span> <span class='PDMResK'>This</span><span class='PDMOper'>.</span><span class='PDMVar'>nResult_Code</span> <span class='PDMOper'>!</span><span class='PDMOper'>=</span> <span class='PDMVar'>ERROR_NO_MORE_FILES</span> <span class='PDMOper'>AND</span> <span class='PDMVar'>llResult</span> <span class='PDMOper'>!</span><span class='PDMOper'>=</span> <span class='PDMLit'>0</span>
<span class='PDMOper'>=</span><span class='PDMResK'>This</span><span class='PDMOper'>.</span><span class='PDMVar'>CrackFile</span><span class='PDMOper'>(</span><span class='PDMVar'>lcStruct</span><span class='PDMOper'>,</span> <span class='PDMOper'>@</span><span class='PDMVar'>laDirectory</span><span class='PDMOper'>)</span>
<span class='PDMResK'>ENDIF</span>
<span class='PDMResK'>ENDDO</span>
<span class='PDMOper'>=</span><span class='PDMResK'>This</span><span class='PDMOper'>.</span><span class='PDMVar'>AfterGetFTPDirectoryArray</span><span class='PDMOper'>(</span><span class='PDMOper'>@</span><span class='PDMVar'>laDirectory</span><span class='PDMOper'>,</span> <span class='PDMOper'>@</span><span class='PDMVar'>lcMask</span><span class='PDMOper'>,</span> <span class='PDMVar'>lnFlag</span><span class='PDMOper'>,</span><span class='PDMVar'>liResult</span><span class='PDMOper'>)</span>
<span class='PDMOper'>=</span><span class='PDMResK'>This</span><span class='PDMOper'>.</span><span class='PDMVar'>CloseFTPConnection</span><span class='PDMOper'>(</span><span class='PDMOper'>)</span> <span class='PDMCom'>&& Close FTP Handle</span>
<span class='PDMResK'>ELSE</span>
<span class='PDMResK'>RETURN</span> <span class='PDMLit'>.F.</span> <span class='PDMCom'>&& Unable to get FTP Connection </span>
<span class='PDMResK'>ENDIF</span>
<span class='PDMResK'>RETURN</span> <span class='PDMLit'>.T.</span></pre>
<!-- Code End -->
</div>
</div>
</div>
<div class="diaxp_mfoot"> <div class="PDM_AB_CopyRight"><!-- Footer Begin -->
<hr />
<div class="PDM_AB_Body">
© 2004-03-23 Robert Abram, © 24.11.2005 Martina Jindrú
</div><!-- Body End -->
</div><!-- Footer End -->
</div>
<script language="JavaScript" type="text/javascript">
lo=document.getElementById("TX_SP_1");
lo.XType="SourceCode";
lo.Dir="../../imgs/";
</script>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -