Virtual U.org
Get Personal Training on VU Today
    
Top shadow
 
 register/help
User Name:

Password:

ODIR.CPP Source File
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

ODIR.CPP

Go to the documentation of this file.
00001 //Filename    : ODIR.CPP
00002 //Description : Object Directory
00003 
00004 #include <string.h>
00005 #include <windows.h>
00006 #include <ODIR.H>
00007 #include <OMISC.H>
00008 
00009 //----------- Define static function ------------//
00010 
00011 static int sort_file_function( const void *a, const void *b );
00012 
00013 //------- Begin of function Directory::Directory -------//
00014 
00015 Directory::Directory() : DynArray( sizeof(FileInfo), 20 ) {
00016 }
00017 
00018 //-------- End of function Directory::Directory -------//
00019 
00020 //------- Begin of function Directory::read -------//
00030 int Directory::read(char *fileSpec, int sortName) {
00031     FileInfo       fileInfo;
00032     WIN32_FIND_DATA findData;
00033 
00034     //----------- get the file list -------------//
00035 
00036     HANDLE findHandle = FindFirstFile( fileSpec, &findData );
00037 
00038     while(findHandle!=INVALID_HANDLE_VALUE) {
00039         // get the file name only from a full path string
00040         m.extract_file_name( fileInfo.name, findData.cFileName );
00041 
00042         fileInfo.size = findData.nFileSizeLow;
00043         fileInfo.time = findData.ftLastWriteTime;
00044 
00045         linkin( &fileInfo );
00046 
00047         if( !FindNextFile( findHandle, &findData ) )
00048             break;
00049     }
00050 
00051     FindClose(findHandle);
00052 
00053     //------ the file list by file name ---------//
00054 
00055     if( sortName )
00056         quick_sort( sort_file_function );
00057 
00058     return size();                                  // DynArray::size()
00059 }
00060 
00061 //-------- End of function Directory::read -------//
00062 
00063 //------ Begin of function sort_file_function ------//
00065 static int sort_file_function( const void *a, const void *b ) {
00066     return strcmpi( ((FileInfo*)a)->name, ((FileInfo*)b)->name );
00067 }
00068 
00069 //------- End of function sort_file_function ------//

Generated on Fri Aug 23 01:37:25 2002 for VirtualU by doxygen1.2.17